[ TO8D ] ressuscité
Modérateurs : Papy.G, fneck, Carl
Re: [ TO8D ] ressuscité
Ca fonctionne sur machine réel comme sur DCmoto
Le programme est prévu pour une mémo 7 avec pagination comme les modèle que je propose
Je vous propose la version beta :
Donc la cartouche permet de tester :
- $4000-$5FFF (VRAM ) sur 2 bank
- $6000-$9FFF (RAM fixe)
- $A000-$DFFF (Ram paginé) sur 16 ou 32 bank
Le programme détecte si il y a 256 ou 512Ko et test en conséquence.
Il me reste à finir la page d'acceuil, le message de fin correspondant à la taille mémoire et un message en cas d'erreur ...
Si le test est concluant on peut voir 2 images qui correspondes à 1 copiée dans la BANK 16 et 1 copiée dans la BANK 32 et évidemment recopié en VRAM par la suite, ce qui permet de vérifier la non redondance des 2 plages RAMS
Voici l'écran résultat:
Par la suite je vous proposerais le code source.
(j'en connais qui vont ce faire un plaisir à optimiser )
Le programme est prévu pour une mémo 7 avec pagination comme les modèle que je propose
Je vous propose la version beta :
Donc la cartouche permet de tester :
- $4000-$5FFF (VRAM ) sur 2 bank
- $6000-$9FFF (RAM fixe)
- $A000-$DFFF (Ram paginé) sur 16 ou 32 bank
Le programme détecte si il y a 256 ou 512Ko et test en conséquence.
Il me reste à finir la page d'acceuil, le message de fin correspondant à la taille mémoire et un message en cas d'erreur ...
Si le test est concluant on peut voir 2 images qui correspondes à 1 copiée dans la BANK 16 et 1 copiée dans la BANK 32 et évidemment recopié en VRAM par la suite, ce qui permet de vérifier la non redondance des 2 plages RAMS
Voici l'écran résultat:
Par la suite je vous proposerais le code source.
(j'en connais qui vont ce faire un plaisir à optimiser )
-
- Messages : 7983
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [ TO8D ] ressuscité
C'était quoi le soucis alors ?
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [ TO8D ] ressuscité
Le problème était bien l'initialisation de la pagination de la RAM données.
Re: [ TO8D ] ressuscité
J'ai un comportement particulier lorsque mon programme exécute cette partie du code :
la valeur de y écrite en $8000 est bien présente pendant l’exécution de la boucle jusqu'au moment ou je commute sur la bank 0 et la la mémoire est apparemment effacée, je ne retrouve que des valeurs $00 à l'emplacement $8000 et idem pour la zone $6000-9FFF qui n'est évidemment pas écrite pendant l’exécution de la boucle ???
Est ce un comportement normal sur la machine réel, je n'ai pas accès au TO8 avec seulement 256 Ko avant ce soir ...
Je n'ai testé à l'instant que sous DCmoto !!!
la valeur de y écrite en $8000 est bien présente pendant l’exécution de la boucle jusqu'au moment ou je commute sur la bank 0 et la la mémoire est apparemment effacée, je ne retrouve que des valeurs $00 à l'emplacement $8000 et idem pour la zone $6000-9FFF qui n'est évidemment pas écrite pendant l’exécution de la boucle ???
Est ce un comportement normal sur la machine réel, je n'ai pas accès au TO8 avec seulement 256 Ko avant ce soir ...
Je n'ai testé à l'instant que sous DCmoto !!!
Code : Tout sélectionner
; ram paginée
;------------
STY $8000 ; sauve valeur de Y
LDD $8000 ;TFR Y,D ; numéro de bank dans B
LoopBank
STB BANK ; positionne la ram paginée sur la première bank
LDX #$A000 ; initialise le pointeur sur le début de la bank
STB COLTOUR ; change la couleur de bordure à chaque changement de bank
LoopRam2
LDA #$55 ; initialise A pour control RAM
STA 0,X
LDA 0,X
CMPA #$55
BNE Error
LDA #$AA ; initialise A pour control RAM
STA 0,X
LDA 0,X
CMPA #$AA
BNE Error
LDA #$00 ; initialise A pour control RAM
STA 0,X
LDA 0,X+
CMPA #$00
BNE Error
CMPX #$E000 ; boucle jusqu'a DFFF (3FFF) pour la partie paginée
BNE LoopRam2
DECB
CMPB #$FF
BNE LoopBank
-
- Messages : 7983
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [ TO8D ] ressuscité
D'après le manuel technique les bank sont organisées comme suit:
Bref: pour tester il faut 1) bloquer les interruptions pour ne pas avoir de soucis avec la pile qui est potentiellement transitoirement trashée 2) restaurer les valeurs lues (tu peux utiliser le registre B pour ca.)
PS: j'enrage de la pauvre qualité graphique du manuel technique. Et dire que mon exemplaire perso est parti chez Christophe's Lair (qui bossait dans le même labo de que moi il y a 20ans) qui devait en faire un scan de qualité mais n'a fait qu'un scan text partiel :-/
La bank 0 c'est la video (en deux pages de 8ko). La bank 1 c'est l'espace $6000->$9FFF (16ko). On y retrouve ton $8000. En fait c'est pas à la commut en page 0 que le problème se passe mais quand tu est en bank 1 car à ce moment là ce que tu as entre $A000 et $DFFF est l'espace $6000->$9FFF. Comme la boucle efface le contenu de la bank lors du dernier "STA ,X" (au fait pas besoin de faire un cmpa #0, ca sert à rien: sur 6809 les flags sont mis à jour dès le LDA), elle va gentiment effacer tout le contenu de $6000 à $9FFF qui est reflété entre $A000 et $DFFF. La valeur que tu as sauvée en $8000 est donc effacée (et la pile du programme aussi pour ne pas aider.)Bref: pour tester il faut 1) bloquer les interruptions pour ne pas avoir de soucis avec la pile qui est potentiellement transitoirement trashée 2) restaurer les valeurs lues (tu peux utiliser le registre B pour ca.)
PS: j'enrage de la pauvre qualité graphique du manuel technique. Et dire que mon exemplaire perso est parti chez Christophe's Lair (qui bossait dans le même labo de que moi il y a 20ans) qui devait en faire un scan de qualité mais n'a fait qu'un scan text partiel :-/
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [ TO8D ] ressuscité
De mémoire le manuel technique TO9/TO8/TO9+ est passé sur ebay il y a quelques mois. Si par hasard il a été acheté par un membre du forum, il pourrait peut-être le scanner proprement, ou le prêter un jour ou deux...
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [ TO8D ] ressuscité
Oui évidemment la translation d'adresse
Bon je viens de faire la correction donc je test VRAM (2 banks) RAM fixe et ensuite 32 ou 16 bank -2, ca fonctionne et ma variable et bien conservé
J'ouvre un autre post pour pouvoir retrouver plus facilement le programme de test de la ram ...
Bon je viens de faire la correction donc je test VRAM (2 banks) RAM fixe et ensuite 32 ou 16 bank -2, ca fonctionne et ma variable et bien conservé
J'ouvre un autre post pour pouvoir retrouver plus facilement le programme de test de la ram ...