Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 16:13

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


[RESOLU] Problème mémoire et radotages!

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 2 sur 2
 [ 20 message(s) ]  Aller vers la page Précédent  1, 2
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
Subaru
 Sujet du message : Re: Problème mémoire et radotages!
Message Publié : 12 Déc 2014, 21:08 
Hors-ligne
Rulezzz
Rulezzz
Avatar de l’utilisateur

Inscription : 23 Juin 2013, 01:05
Message(s) : 438
Si tu le dis.

1 MODE 1: MEMORY &9FFF
4 LOAD "disp.bin",&A000:BORDER 6:OUT &7F00,&C5:LOAD "dispdat.bin":',&4000

Cependant, si la "rem" n'était pas présente, tu prendrais un beau "Syntax Error in 4".

Allez, amusez-vous bien.

_________________
"A L'HEURE OU BLANCHIT LA CAMPAGNE... (COURAGE, FUYONS !!!)"


Haut
 Profil  
 
AsT
 Sujet du message : Re: Problème mémoire et radotages!
Message Publié : 12 Déc 2014, 21:12 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 29 Août 2007, 08:04
Message(s) : 751
Localisation : Impact Hq
La fonction c1 te permet de loader ton prog en #c000, une fois le Out &7f00,&c0 mis les datas charges en c000 se retrouvent en #4000 Bank c7. Tu peux toujours utiliser la plage mémoire #c000 pour afficher ta video.

_________________
AsT / iMP4CT

Retrouvez nous sur le forum Amstrad Plus
"Call &bb06"


Haut
 Profil  
 
Xavier
 Sujet du message : Re: Problème mémoire et radotages!
Message Publié : 12 Déc 2014, 21:51 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
@Subaru
Heu... élémentaire mon chère "Watt-Sonne"!
Donc "A L'HEURE OU BLANCHIT LA COMPAGNE... (COURAGE, FUYONS !!!)" ?
Super premier contact... j'assure grave !

AsT a écrit :
La fonction c1 te permet de loader ton prog en #c000, une fois le Out &7f00,&c0 mis les datas charges en c000 se retrouvent en #4000 Bank c7. Tu peux toujours utiliser la plage mémoire #c000 pour afficher ta video.

Je suis perdu dans ce Bonto d'adresses.
Donc, on reprend le tableau de Demoniak...

Code :
           Numéro "bank" (out &7F00,xx)
               C0            C1            C2            C3     
Adr Z80                          Adr "logique"                     
0000-3FFF   00000-03FFF   00000-03FFF   10000-13FFF   00000-03FFF
4000-7FFF   04000-07FFF   04000-07FFF   14000-17FFF   0C000-0FFFF
8000-BFFF   08000-0BFFF   08000-0BFFF   18000-1BFFF   08000-0BFFF
C000-FFFF   0C000-0FFFF   1C000-1FFFF   1C000-1FFFF   1C000-1FFFF

 C4            C5            C6            C7
                      Adr "logique"
00000-03FFF   00000-03FFF   00000-03FFF   00000-03FFF
10000-13FFF   14000-17FFF   18000-1BFFF   1C000-1FFFF
08000-0BFFF   08000-0BFFF   08000-0BFFF   08000-0BFFF
0C000-0FFFF   0C000-0FFFF   0C000-0FFFF   0C000-0FFFF

C1 : 1C000-1FFFF
C0 : Adresses CPU (on retrouve l'adressage écran)
C7 : SWAP 1C000-1FFFF vers &4000...

C'est l'idée... effectivement.
Mais je vais avoir besoin de plus de 2 banques...
J'ai 10k de texte et Je sais pas trop de graphisme 40 images de 16x15 caractères (8x8)...
Donc, ok pour un buffer graphique en &1C000, mais ...
Autant utiliser la banque &1C000 directement avec le texte, et stocker un buffer graphique, qui sera accessible lors du traitement en ASM...
Je chargerai les images à la demande en partie haute.
Je vais voir si je peux faire des transfères de banque à banque en ASM...

[EDIT]
Il faut jouer sur le C3<>C2 (j'en suis sûr!!!)
[/EDIT]


Haut
 Profil  
 
TotO
 Sujet du message : Re: Problème mémoire et radotages!
Message Publié : 12 Déc 2014, 23:06 
Hors-ligne
VIP
VIP

Inscription : 13 Jan 2010, 14:25
Message(s) : 2282
Les programmes qui utilisent C3 se comptent sur les doigts d'une main.
Quand à C2, ce mode n'est pas utilisable en BASIC car tu perds le firmware.

_________________
Cent Pour Cent


Haut
 Profil  
 
Xavier
 Sujet du message : Re: Problème mémoire et radotages!
Message Publié : 15 Déc 2014, 02:00 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
Salut,

Je comprends mieux les subtilités des banques mémoires...
Surtout avec l'utilisation du basic.
Il me maquait des bribes d'informations qui semblent trop évidentes lors de l'utilisation!

*La commutation de la banque est mémorisée en hard.
*La Rom est activée en marge des banques par le hard (sûrement par le ROMcs et les Ram par le RAMcs).
*La Rom Basic ne gère pas les banques.

Et cela change tout!
En basic :
OUT &7F00,&C1:LOAD "dispdat.bin",&C000:OUT &7F00,&C0:
On doit réassigner la banque mémoire vidéo pour permettre le réfléchissement de l'écran.

En assembleur, même chose!
print_char
LD BC,&7FC0
OUT (C),C
call &bb5a
LD BC,&7FC1
OUT (C),C
RET
Sinon, c'est la banque &1C000-&1FFFF qui est modifiée!

Une banque mémoire avec un adressage inférieur au MEMORY (HIMEM), ne fonctionnera pas!

Donc, à la lumière de ces informations il est possible de stocker des informations dans les banques inferieur au MEMORY, mais il faut penser à rétablir les banques d'exécution Basic avec son retour d'exécution.
Donc, merci pour toutes ces informations!
J'ai récupéré 16k pour le Basic sur la banque h1C000...
Et ça semble fonctionner.
Merci.
(Bravo pour toutes les informations techniques disponibles sur ce site!
c'est un réel plaisir de (re)découvrir le CPC ! )


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 2 sur 2
 [ 20 message(s) ]  Aller vers la page Précédent  1, 2

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 50 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

Aller vers :  
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.