CPC Rulez https://cpcrulez.fr/forum/ |
|
Générer ASM avec WINAPE ailleurs que dans les 64Ko de base? https://cpcrulez.fr/forum/viewtopic.php?f=7&t=6414 |
Page 1 sur 1 |
Auteur : | Nemo59 [ 02 Nov 2020, 17:35 ] |
Sujet du message : | Générer ASM avec WINAPE ailleurs que dans les 64Ko de base? |
Bonsoir. 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) |
Auteur : | hERMOL [ 02 Nov 2020, 17:55 ] |
Sujet du message : | Re: Générer ASM avec WINAPE ailleurs que dans les 64Ko de ba |
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 $ Pour mieux comprendre la disposition des banques supplémentaires, voici quelques explications : https://cpcrulez.fr/codingBOOK_bible6128_1-05-1.htm https://cpcrulez.fr/coding_asm34b.htm https://cpcrulez.fr/coding_logon40-gerer_vos_banks.htm https://cpcrulez.fr/coding_amslive05-CP ... rtie_1.htm https://cpcrulez.fr/coding_menu-RAM.htm |
Auteur : | Nemo59 [ 02 Nov 2020, 20:04 ] |
Sujet du message : | Re: Générer ASM avec WINAPE ailleurs que dans les 64Ko de ba |
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. |
Auteur : | Nemo59 [ 02 Nov 2020, 21:37 ] |
Sujet du message : | Re: Générer ASM avec WINAPE ailleurs que dans les 64Ko de ba |
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. |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |