Est-il possible avec l'assembleur WINAPE de pousser le code ASM généré vers d'autres banques mémoires que les 64ko de base ? Je souhaite mettre le code dans ce qui est décrit comme le block 7 au dessus de #c000 dans le guide Firmware d'Amstrad qu'on trouve ici https://archive.org/details/SOFT968TheAmstrad6128FirmwareManual/mode/1up (P 23).
Ca correspond aux organisations mémoire C1,C2,C3 utilisées par le CPM. Je ne vois pas d'option dans WinApe pour pousser le code ailleurs que dans les 64ko de base... (en plus l'aide ne fonctionne plus en w10)
Inscription : 20 Août 2007, 18:21 Message(s) : 5002
Salut, c'est possible ...
.hlp de winape:
Citer :
write direct [lower_rom[, upper_rom[, ram_bank]]] Allows direct output to emulator memory. The current emulator write memory is used by default but the optional parameters allow ROMs to be enabled or RAM banks to be selected. lower_rom should be -1 to disable or 0 to enable the Lower ROM, upper_rom should be -1 to disable, or an upper ROM number, and ram_bank can be an expansion bank number #C0 to #FF (or #8C0 to #EFF for Yarek 4MB style bank mapping).
Code :
run &4000
nolist write direct -1 , -1 ,&c7 ;compile en &C7 org &4000 ld a,7 call &bb5A jr $
Super! Merci je vais tester ça. J’aurai sans doute d’autres questions ;D si tout fonctionne cela permettra d’accéder à la ram vidéo en Turbo Pascal sans passer par le firmware.
Ca marche... Donc coté Turbo Pascal, il faut spécifier la mémoire haute maxi pour le compilateur (option E pour End Adress) pour ne pas écraser le code assembleur puis :
Code :
Program RamVideo Procedure WrtVid; External $cd00 Begin WrtVid; Repeat Until KeyPressed; End.
Coté ASM :
Code :
WRITE DIRECT -1 , -1 ,&C1 ORG &cd00 DI LD BC,&7FC1 OUT (C),C LD A,&FF LD (&4000),A LD BC,&7FC2 OUT (C),C EI RET
;D Après ça va être plus subtil car la pile du Z80 ne semble pas au même endroit suivant la configuration mémoire C1 et C2 ... Les "external" en pascal permettant de pousser et recevoir des valeurs de tout type en retour tout devient possible.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum