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.
|
||||
|
||||
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)
|
||||
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
|
||||
db "AB" ; premiers bits du header
|
||||
dw Start ; adresse de la fonction de départ
|
||||
db 00,00,00,00,00,00 ; bits inutilisés dans notre cas
|
||||
|
||||
Message: db 'Hello World!', 255
|
||||
|
||||
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 (&F3B0), a ; envoie de la taille de l'écran
|
||||
ld (0xF3B0), a ; envoie de la taille de l'écran
|
||||
|
||||
ld hl, Message
|
||||
call PrintString
|
||||
|
@ -23,8 +21,10 @@ PrintString:
|
|||
; le car est 255. Si oui, Z est mit à 1
|
||||
ret z ; si Z est à 1, on retourne
|
||||
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
|
||||
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