La Place des Développeurs Lecture d'un fichier sur la BEER IDE en assembleur Quel vecteurs utiliser et quel registres ???
C'est comme sur disquette, il faut utiliser les routines du MSX-DOS 1.xx.
Il y a un exemple sur MRC :
http://www.msx.org/wiki/MSX-DOS
Il est peu documenté pour les débutants par contre. Il faut savoir ce qu'est un FCB par exemple.
Il y a un exemple sur MRC :
http://www.msx.org/wiki/MSX-DOS
Il est peu documenté pour les débutants par contre. Il faut savoir ce qu'est un FCB par exemple.
J'ai fait quelques test en émulation (blue msx) mais avec une Sunrise IDE car impossible d'émuler la BEER :(
Y a t'il des différences de comportement entre la Sunrise et la Beer au niveau des accès DISK IDE ?
Y a t'il des différences de comportement entre la Sunrise et la Beer au niveau des accès DISK IDE ?
Okay donc ca va me permettre de debugger sur emu avec Sunrise avant de tester sur machine réel avec une Beer.
Par contre j'ai un peu de mal avec le Z80, Je n'ai pas compris pourquoi un LD DE,($1000) par exemple me retourne $FF00 au lieu de $00FF
Faut que j'étudie un peu plus le Z80 ...
Par contre j'ai un peu de mal avec le Z80, Je n'ai pas compris pourquoi un LD DE,($1000) par exemple me retourne $FF00 au lieu de $00FF
Faut que j'étudie un peu plus le Z80 ...
Le Z80 utilise de Little Indian comme les CPU Intel. Peut-être que les CPU dont tu as l'habitude utilisent eux le Big Indian, comme le font les CPU Motorola.
Edité par
z80
Le 15/11/2014 à 20h08
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Je te conseil la lecture de "programmation du z80" par Rodnay Zaks. Il a écrit aussi pour le 6502 que tu sembles connaître.
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
SveN
Membre non connecté
Villageois
Fabf
Membre non connecté
Conseiller Municipal
SveN :
6502man :
La BEER est pourtant émulée par BlueMSX.. J'ai fait quelques test en émulation (blue msx) mais avec une Sunrise IDE car impossible d'émuler la BEER
Non on s'y est tous cassé les dents dans le topic sur la fabrication de la BEER
Merci Z80
Evidemment le Z80 travail en little indian
Bon j'ai fait des testes en mode lecture par secteur et lecture par fichier (bloc ###) et sans surprise le mode d'accès par secteur est plus fluide (tout du moins sur émulateur avec une sunrise).
....
Evidemment le Z80 travail en little indian
Bon j'ai fait des testes en mode lecture par secteur et lecture par fichier (bloc ###) et sans surprise le mode d'accès par secteur est plus fluide (tout du moins sur émulateur avec une sunrise).
....
6502man :
Comment créer une interruption en assembleur sous MSX-DOS et est ce qu'elle restera active même pendant des accès disk ?
Oui, mais une interruption généré par qui? pour faire quoi?
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Une interruption généré par mon programme !
En faite dans l'idée ca serait ca :
START
déclare l'interuption INT
BOUCLEPRINCIPALE
Récupére valeurdeDE
compare D avec $XX
Si égal alors saut à sous routine ADD
JR BOUCLEPRINCIPALE
INT
récupére valeurdeDE
lit un octet en RAM (valeurdeDE)
incemente valeurdeDE
stocke valeurdeDE
sortie de INT
ADD
rempli la RAM
sortie de DE par JR BOUCLEPRINCIPALE
.DB valeurdeDE = $00,$00
Dans le principe c'est ca, évidement le programme seras un peu plus complet et complex
En faite dans l'idée ca serait ca :
START
déclare l'interuption INT
BOUCLEPRINCIPALE
Récupére valeurdeDE
compare D avec $XX
Si égal alors saut à sous routine ADD
JR BOUCLEPRINCIPALE
INT
récupére valeurdeDE
lit un octet en RAM (valeurdeDE)
incemente valeurdeDE
stocke valeurdeDE
sortie de INT
ADD
rempli la RAM
sortie de DE par JR BOUCLEPRINCIPALE
.DB valeurdeDE = $00,$00
Dans le principe c'est ca, évidement le programme seras un peu plus complet et complex
Les routines du disque coupent les interruptions et les réactives. On s'en rend compte facilement avec les lecteurs de disquettes lorsque le MSX joue une musique car les accès à la disquette sont lents.
On s'en rend moins compte avec un disque très rapide car ça coupe les interruptions beaucoup moins longtemps. Les interruptions sont aussi coupées et réactivés lors des accès au VDP.
Il faut en tenir compte lorsqu'on veut contrôler les interruptions.
On s'en rend moins compte avec un disque très rapide car ça coupe les interruptions beaucoup moins longtemps. Les interruptions sont aussi coupées et réactivés lors des accès au VDP.
Il faut en tenir compte lorsqu'on veut contrôler les interruptions.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie