CPC Rulez
https://cpcrulez.fr/forum/

switch banks cartouche cpc+
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=4251
Page 1 sur 1

Auteur :  neocps1 [ 01 Juil 2010, 08:39 ]
Sujet du message :  switch banks cartouche cpc+

Je me suis remis au code z80 et j'avoue que ca change bien du développement classique... L'absence de vraies instructions travaillant
sur des registres ou des mots 16 bits, le nombre limité de registres, la mémoire limitée (d'autant plus avec la bank 0x4000-0x7fff que se réserve l'asic sur cpc+)... C'est plutôt fun :)

Auteur :  fano [ 01 Juil 2010, 08:51 ]
Sujet du message :  Re: assembleur avec winape

Oui , tout le plaisir est de faire le mieux possible avec ces limitations :D

Auteur :  neocps1 [ 01 Juil 2010, 09:27 ]
Sujet du message :  Re: assembleur avec winape

D'ailleurs, est-ce qu'il y a des solutions pour palier le fait que la bank 0x4000-0x7fff est utilisée par l'asic ? Ca fait quand même 16Ko de moins .(

Auteur :  hERMOL [ 01 Juil 2010, 10:01 ]
Sujet du message :  Re: assembleur avec winape

Hem... pas de confusion... l'ASIC possède ces propre 16ko.

Auteur :  neocps1 [ 01 Juil 2010, 10:07 ]
Sujet du message :  Re: assembleur avec winape

Oui je sais bien que les 16Ko de ram sont masqués pendant que l'asic est mappé en mémoire et que les 16Ko sont indépendants de l'asic.

Mais si je ne me trompe pas, ca oblige à faire du bank switching pour pouvoir utiliser ces 16 Ko et utiliser une mémoire tampon pour pouvoir par exemple recopier des données graphiques depuis ces 16Ko vers les registres de l'asic.

Auteur :  hERMOL [ 01 Juil 2010, 10:16 ]
Sujet du message :  Re: assembleur avec winape

oui exact, mais a l'origine l'ASIC s'utilise en duo avec une cartouche (bank adressable entre &0C000 et &0FFFF )

pour palier au problème de place utilise la compression des sprites hard... cf: viewtopic.php?f=4&t=3931

Auteur :  hERMOL [ 01 Juil 2010, 10:40 ]
Sujet du message :  Re: assembleur avec winape

bank0) 16ko de la ROM Firmware
bank1) 16ko de la ROM BASIC
bank2) 16ko de ???
bank3) 16ko de la ROM disque
bank4) le reste peu etre utiliser par ton code en &C000-&FFFF

avant de switcher avec les banks de ta cartouche fais un "ld bc,&7f8c:out (c),c"

un "ld bc,&df80+numero_de_la_bank:out (c),c" switch ta bank en &C000

Auteur :  Longshot [ 01 Juil 2010, 10:45 ]
Sujet du message :  Re: assembleur avec winape

Citer :
Mais si je ne me trompe pas, ca oblige à faire du bank switching pour pouvoir utiliser ces 16 Ko et utiliser une mémoire tampon pour pouvoir par exemple recopier des données graphiques depuis ces 16Ko vers les registres de l'asic.


Tu n'es pas obligé d'avoir une mémoire tampon, sauf pour les blocs 1 et 5
(en considérant qu'un cpc 128k a des blocs numérotés de 0 à 7)
Il existe toujours une combinaison pour les autres blocs qui te permet de faire un transfert direct d'un bloc vers 4000-7FFF

Pour les connexions ROM/RAM ASIC :
https://cpcrulez.fr/coding_cpcplus41.htm

Auteur :  neocps1 [ 01 Juil 2010, 10:47 ]
Sujet du message :  Re: assembleur avec winape

tu es un chef :) merci :biere:

Auteur :  hERMOL [ 01 Juil 2010, 11:00 ]
Sujet du message :  Re: switch banks cartouche cpc+

hophop, j'ai divisé le sujet pour plus de clarté !

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/