Salut Xavier
A - Comme convenu voici un snapshot appelé STAR
DECIMAL
: STAR CLS 800 0 DO ." *" LOOP ;
// Ne pas oublier : RESPECTER les espaces
Code : Tout sélectionner
///
DECIMAL //Passer en mode décimal
: STAR //Définition de STAR
CLS // Clear SCREEN
800 0 DO // Equivalent BASIC -> FOR N=0 TO 800
." *" // Equivalent PRINT "*"
LOOP // NEXT N
; // Fin définition
http://forthretro.new.fr/download/STAR.zip
J'ai jeté un coup d'oeil sur la ROM.
L'instruction pour sauvegarder se nomme STORE (Peut être faut il mettre les adresses ? genre :
Ou peut être un nom - avant / après ? Je ne sais pas - As tu le manuel ?
Elle commence adresse $1571
Code : Tout sélectionner
1571 21;AD;FC LD HL,$FCAD
1574 CB;76 BIT 6,(HL)
1576 C8 RET Z
1577 D7 RST 10
1578 22;52;FC LD ($FC52),HL
157B D3;FD OUT ($FD),A ; ZX81 NMI GENERATOR
157D 2A;76;FC LD HL,($FC76)
1580 CD;2E;15 CALL $152E ; []*BIOS ROM*
1583 CD;53;15 CALL $1553 ; []*BIOS ROM*
1586 CD;5C;15 CALL $155C ; []*BIOS ROM*
1589 CD;3F;15 CALL $153F ; []*BIOS ROM*
158C CD;2E;15 CALL $152E ; []*BIOS ROM*
158F D3;FE OUT ($FE),A ; ZX81 NMI GENERATOR
1591 C9 RET
L'inverse se nomme LOAD
Code : Tout sélectionner
1607 21;AD;FC LD HL,$FCAD
160A CB;76 BIT 6,(HL)
160C C8 RET Z
160D D7 RST 10
160E 22;52;FC LD ($FC52),HL
1611 D3;FD OUT ($FD),A ; ZX81 NMI GENERATOR
1613 2A;76;FC LD HL,($FC76)
1616 E5 PUSH HL
1617 CD;D8;15 CALL $15D8 ; []*BIOS ROM*
161A CD;92;15 CALL $1592 ; []*BIOS ROM*
161D 38;32 JR C,+51 ; [$1651:5713]
161F CD;A5;15 CALL $15A5 ; []*BIOS ROM*
1622 6F LD L,A
1623 CD;A5;15 CALL $15A5 ; []*BIOS ROM*
1626 67 LD H,A
1627 B5 OR A,L
1628 20;03 JR NZ,+4 ; [$162D:5677]
162A 22;52;FC LD ($FC52),HL
162D EB EX DE,HL
162E 2A;52;FC LD HL,($FC52)
1631 7D LD A,L
1632 B4 OR A,H
1633 20;06 JR NZ,+7 ; [$163B:5691]
1635 EB EX DE,HL
1636 22;52;FC LD ($FC52),HL
1639 18;02 JR +3 ; [$163D:5693]
163B ED;52 SBC HL,DE
163D E1 POP HL
163E 20;0C JR NZ,+13 ; [$164C:5708]
1640 11;00;02 LD DE,$0200
1643 CD;E3;15 CALL $15E3 ; []*BIOS ROM*
1646 CD;8C;16 CALL $168C ; []*BIOS ROM*
1649 D3;FE OUT ($FE),A ; ZX81 NMI GENERATOR
164B C9 RET
Bien entendu rien n'est compatible, en particulier RST 10 ( RST 10 prend la valeur du sommet de la pile de données, appelée TOS en Forth, et la met dans HL) Donc STORE et LOAD doivent avoir au moins une valeur dans la pile de données - Longueur? adresse début? adresse Fin ?)
A toi de trouver
B-
Shift1 te permet d'accéder à un éditeur (partie du haut) pour écrire et corriger
C -
Un truc pour t'aider à te retrouver dans le clavier :
Tu fais
KEY
Il attend que tu tapes une touche.
Dès que c'est fait, tu fais
. (le point) et ça t'imprime la valeur.
Pour imprimer la touche, tu tapes la valeur puis
EMIT.
Salut