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

Sequence de boot du CPC ?
https://cpcrulez.fr/forum/viewtopic.php?f=5&t=6008
Page 1 sur 1

Auteur :  gotcha [ 21 Oct 2017, 14:05 ]
Sujet du message :  Sequence de boot du CPC ?

Hello,

Est-ce que quelqu'un a la séquence de boot du CPC désassemblée ? Au moins jusqu'à l'initialisation du CRTC incluse (ce qui doit arriver assez vite) ?

Je suis toujours en train de debugger mon 6128 CRTC1 defecteux. Pas de HSYNC, VSYNC en sortie du CRTC, alors que les clocks et alim sont bonnes.
Ça veut dire pour moi 2 choses:
- Soit le CRTC est mort
- Soit le CRTC a été mal programmé

Du coup, je délaisse un peu l'oscilloscope pour l'analyseur logique et je regarde les signaux de lecture/écriture des registres du CRTC:
E, RS, CS, RW, et bus de données.
J'aimerais comprendre si ce que j'observe sur les fils correspond bien à ce que le boot est sensé faire.

Merci !

Auteur :  Gerald [ 21 Oct 2017, 14:55 ]
Sujet du message :  Re: Sequence de boot du CPC ?

gotcha a écrit :
Hello,

Est-ce que quelqu'un a la séquence de boot du CPC désassemblée ? Au moins jusqu'à l'initialisation du CRTC incluse (ce qui doit arriver assez vite) ?

Je suis toujours en train de debugger mon 6128 CRTC1 defecteux. Pas de HSYNC, VSYNC en sortie du CRTC, alors que les clocks et alim sont bonnes.
Ça veut dire pour moi 2 choses:
- Soit le CRTC est mort
- Soit le CRTC a été mal programmé

Du coup, je délaisse un peu l'oscilloscope pour l'analyseur logique et je regarde les signaux de lecture/écriture des registres du CRTC:
E, RS, CS, RW, et bus de données.
J'aimerais comprendre si ce que j'observe sur les fils correspond bien à ce que le boot est sensé faire.

Merci !

Une version ici : http://cpctech.cpc-live.com/docs/os.asm
De facon generale, le CRTC est programmé des le démarrage, bien avant d'utiliser la RAM.
Si tu n'as pas un signal en sortie du CPC (le minimum est un border noir avec un fond d’écran gris) les coupables sont soit :
- le Z80
- la ROM systeme
- le CRTC
- le gate array (+ oscillateur )

Si tu veux vérifier la séquence de boot, regardes donc addr / data / rdn / wrn / mreqn / iorqn du Z80

Auteur :  hERMOL [ 21 Oct 2017, 16:38 ]
Sujet du message :  Re: Sequence de boot du CPC ?

La même chose en provenance de grimware ...

Auteur :  gotcha [ 21 Oct 2017, 20:00 ]
Sujet du message :  Re: Sequence de boot du CPC ?

Merci !! :winner:

J'ai pu trouver le code d'initialisation du CRTC par le Z80. J'ai aussi réussi à trouver cette séquence au niveau des entrées du CRTC avec l'analyseur logique. Comme l'analyseur n'a que 8 canaux, je n'ai regardé pour l'instant que les 4 bits de poids faible sur l'entrée data du CRTC et ça me semble cohérent avec le code du Z80.

Je vais maintenant regarder plus en détail et aussi regarder les bits de poids fort, mais le CRTC semble bien recevoir les commandes d'initialisation. J'ai donc de plus en plus l'impression que c'est le CRTC qui pose problème. S'il est bien programmé, mais qu'il ne sort pas les signaux de synchro, c'est lui qui doit être le fautif.

Code :
;; initialise display
;; starting with register 15, then down to 0
05b4 010fbc    ld      bc,$bc0f
05b7 ed49      out     (c),c         ; select CRTC register
05b9 2b        dec     hl
05ba 7e        ld      a,(hl)         ; get data from table
05bb 04        inc     b
05bc ed79      out     (c),a         ; write data to selected CRTC register
05be 05        dec     b
05bf 0d        dec     c
05c0 f2b705    jp      p,$05b7

;; continue with setup...
05c3 1820      jr      $05e5            ; (+$20)

;; CRTC data for 50Hz display
05c5 defb &3f, &28, &2e, &8e, &26, &00, &19, &1e, &00, &07, &00,&00,&30,&00,&c0,&00

Pièce jointe :
DSC05817_DxO.jpg

Pièce jointe :
6128_CRT_prog_full.png

Pièce jointe :
6128_CRT_prog_end.png

Auteur :  gotcha [ 22 Oct 2017, 10:02 ]
Sujet du message :  Re: Sequence de boot du CPC ?

OK, j'ai vérifié et j'ai bien les bonnes data données au CRTC sur ses entrées.
Code :
;; CRTC data for 50Hz display
05c5 defb &3f, &28, &2e, &8e, &26, &00, &19, &1e, &00, &07, &00,&00,&30,&00,&c0,&00

Prochaine étape donc: changement du CRTC sur la carte :sweatingbullets:

Auteur :  Fredouille [ 22 Oct 2017, 10:08 ]
Sujet du message :  Re: Sequence de boot du CPC ?

Est-ce normal que le CS/ soit toujours actif ?

Auteur :  Gerald [ 22 Oct 2017, 11:09 ]
Sujet du message :  Re: Sequence de boot du CPC ?

Fredouille a écrit :
Est-ce normal que le CS/ soit toujours actif ?

CS/ = A14. Donc normal, le code est en ROM avec une adresse > 0x4000.
Ce qui est important c'est la combinaison CS/ low et E high

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