merge: utilisation de sjasm+ au lieu de vasm
This commit is contained in:
commit
79f2fd860f
4 changed files with 19 additions and 10 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*.lst
|
||||||
|
*.rom
|
5
Makefile
Normal file
5
Makefile
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
CC=sjasmplus
|
||||||
|
CFLAGS=
|
||||||
|
|
||||||
|
%:
|
||||||
|
$(CC) $@.asm --raw=$@.rom
|
|
@ -1,9 +1,11 @@
|
||||||
Dépôt contenant des fichiers pour tester le développement sur MSX.
|
Dépôt contenant des fichiers pour tester le développement sur MSX.
|
||||||
|
|
||||||
Le compilateur [VASM](http://sun.hasenbraten.de/vasm/) est utilisé pour l'instant afin de compiler les fichiers et [OpenMSX](https://github.com/openMSX/openMSX) pour l'émulateur. La commande pour compiler les sources :
|
Le compilateur SJASMplus est utilisé afin de compiler les fichiers et [OpenMSX](https://github.com/openMSX/openMSX) pour l'émulateur. La commande pour compiler les sources :
|
||||||
|
|
||||||
```
|
```
|
||||||
vasmz80_oldstyle hello.asm -chklabels -nocase -DBuildMSX=1 -DBuildMSX_MSX1=1 -Fbin -o hello.rom
|
sjasmplus hello.asm --raw=hello.rom
|
||||||
```
|
```
|
||||||
|
|
||||||
Je m'appuie sur [le tuto de Chibiakumas](https://www.chibiakumas.com/z80/helloworld.php#LessonH3) pour le Hello worl.
|
Il est aussi possible d’utiliser le Makefile avec la commande `make hello`.
|
||||||
|
|
||||||
|
Je m'appuie sur [le tuto de Chibiakumas](https://www.chibiakumas.com/z80/helloworld.php#LessonH3) pour le Hello world.
|
||||||
|
|
14
hello.asm
14
hello.asm
|
@ -1,16 +1,14 @@
|
||||||
; Entête pour cartouche (10bits)
|
; Entête pour cartouche (10bits)
|
||||||
org &4000 ; adresse de la cartouche org permet de
|
org 0x4000 ; adresse de la cartouche org permet de
|
||||||
; se positionner à une adresse dans la mémoire
|
; se positionner à une adresse dans la mémoire
|
||||||
db "AB" ; premiers bits du header
|
db "AB" ; premiers bits du header
|
||||||
dw Start ; adresse de la fonction de départ
|
dw Start ; adresse de la fonction de départ
|
||||||
db 00,00,00,00,00,00 ; bits inutilisés dans notre cas
|
db 00,00,00,00,00,00 ; bits inutilisés dans notre cas
|
||||||
|
|
||||||
Message: db 'Hello World!', 255
|
|
||||||
|
|
||||||
Start:
|
Start:
|
||||||
call &006F ; permet de sélectionner le mode de l'écran
|
call 0x006F ; permet de sélectionner le mode de l'écran
|
||||||
ld a, 32 ; mettre la taille de l'écran à 32 caractères
|
ld a, 32 ; mettre la taille de l'écran à 32 caractères
|
||||||
ld (&F3B0), a ; envoie de la taille de l'écran
|
ld (0xF3B0), a ; envoie de la taille de l'écran
|
||||||
|
|
||||||
ld hl, Message
|
ld hl, Message
|
||||||
call PrintString
|
call PrintString
|
||||||
|
@ -23,8 +21,10 @@ PrintString:
|
||||||
; le car est 255. Si oui, Z est mit à 1
|
; le car est 255. Si oui, Z est mit à 1
|
||||||
ret z ; si Z est à 1, on retourne
|
ret z ; si Z est à 1, on retourne
|
||||||
inc hl
|
inc hl
|
||||||
call &00A2 ; fonction firmware pour afficher un caractère
|
call 0x00A2 ; fonction firmware pour afficher un caractère
|
||||||
; à l'écran le caractère est contenu dans hl
|
; à l'écran le caractère est contenu dans hl
|
||||||
jr PrintString
|
jr PrintString
|
||||||
|
|
||||||
org &C000 ; alignement de fin de cartouche (pour OpenMSX)
|
Message: db 'Hello World!', 255
|
||||||
|
|
||||||
|
org 0xC000 ; alignement de fin de cartouche (pour OpenMSX)
|
||||||
|
|
Loading…
Reference in a new issue