VG5000: LOAD et SAVE

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

VG5000: LOAD et SAVE

Message par joaopa »

Bonjour,

Quelqu'un connaît-il l'avantage d'enregistrer des programmes en ascii, puisquel les cassettes vg5000 ne peuvent certainement être lues que sur un VG5000? (peut-être sur MSX, mais ça m'étonnerait)

Autrement dit, si quelqu'un a un VG5000 et un MSX, peut-il essayer d'enregsitrer un programme basic en ascii sur vg5000 et essayer de la charger sur MSX pour voir si ca marche?

Merci d'avance
Markerror
Messages : 2123
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: VG5000: LOAD et SAVE

Message par Markerror »

Salut Joaopa, toujours à fond dans le VG5000 on dirait !

Je ne crois pas que le VG5000 fasse une vraie sauvegarde ASCII d'un programme Basic, du moins à partir du Basic. Il peut enregistrer du Basicode (une sorte de Basic esperanto, censé être relu par d'autres machines, dont effectivement le MSX). Mais dans mes vagues souvenirs (à confirmer), le Basicode a sa propre structure et ne contient de fait pas toutes les commandes Basic (en particulier celles propres à la gestion des graphismes et du son).

Je crois avoir dans un coin une revue qui parlait du Basicode et présentait cela comme l'avenir :-). Je n'ai jamais essayé de faire des transferts, sachant qu'à priori, c'était quand même pas mal limité.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: VG5000: LOAD et SAVE

Message par Carl »

Pour moi ces commandes sont utiles pour le basicode2...

Carl
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: VG5000: LOAD et SAVE

Message par joaopa »

Merci pour vos remarques. J'y vois un peu plus clair. Quelqu'un aurait-il le code source du Basicode?

Ca peut être intéressant d'un programmer un pour VG5000 et le mettre sur une eeprom à la place de la rom d'origine.
Dernière modification par joaopa le 24 sept. 2016 05:42, modifié 1 fois.
Xavier

Re: VG5000: LOAD et SAVE

Message par Xavier »

Salut,
Ca peut être intéressant d'un programmer un pour VG5000 et le mettre sur une eeprom à la place de la rom d'origine.
J'ai celui du ZX81, mais il serait plus rapide d'en reprogrammer un directement sur le VG5000...
Car, dans ton cas, l'éditeur et la gestion du texte sera beaucoup plus importante en taille, que le traitement des instructions!

Généralement, seule la routine de chargement est codée, et le reste est entré en Basic!
Si tu refais une ROM, tu dois reprendre une base d'éditeur et de "parsing" pour les instructions, alors que le basic le fait en code natif... avec une possibilité d'incrémentation par ligne et d'édition!
Donc, :mrgreen: pour la ROM...

Un greffon ASM sur le Basic sera plus simple, et plus pratique.

Il faut simplement se munir des instructions de base du basicode et de la notice.
Je recherche le programme ZX... mais, il est surement dispo sur le net....

[EDIT]
http://www.zx81stuff.org.uk/zx81/tape/Basicode2
Je le désassemble... et hop...

Code : Tout sélectionner

;------- TASM ASM mnemonics. -------
; Compile this file using:
; Set TASMOPTS = -b
; tasm -80 ThisCode.tas MyBinary.BIN
;-----------------------------------
; Zx81 Program name: VB81 XuR [basicode2.a.p] : SAVE"BASICODE" Line 9050
; REM   line   name: D=16514/18009 : H=4082/4659

#define ORG  .org       ; TASM cross-assembler definitions
#define equ  .equ
;-----------------------------------
;- ZX81 CARACTERS CODES ------------
;-----------------------------------
A   .equ $26
B   .equ $27
C   .equ $28
D   .equ $29
E   .equ $2A
F   .equ $2B
G   .equ $2C
H   .equ $2D
I   .equ $2E
J   .equ $2F
K   .equ $30
L   .equ $31
M   .equ $32
N   .equ $33
O   .equ $34
P   .equ $35
Q   .equ $36
R   .equ $37
S   .equ $38
T   .equ $39
U   .equ $3A
V   .equ $3B
W   .equ $3C
X   .equ $3D
Y   .equ $3E
Z   .equ $3F
;-----------------------------------

;------- Rom and Ram Symbols -------
RAM_STKBOT equ $401A
RAM_E_LINE equ $4014
RAM_VARS equ $4010
RAM_DF_CC equ $400E
RAM_D_FILE equ $400C
RAM_RAMTOP equ $4004
GOSUB equ $0EB5
SV_MULT equ $120C
K_SHIFT equ $00A5
RAM_STKEND equ $401C
RAM_PRBUFF00 equ $403C
RAM_PRBUFF02 equ $403E
RAM_PRBUFF04 equ $4040
RAM_PRBUFF03 equ $403F
RAM_PRBUFF01 equ $403D


ORG $4082 ; [@16514/@h4082]
Lb4082:
	NOP 
	RST 38H 
	DEC BC 
	AND (HL) 
	DEC C 
	JR Lb4063 ; [$4063:16483]
	RET NZ 
	DJNZ Lb409D ; [$409D:16541]
	RLA 
	DEC D 
	LD A,(DE) 
	LD D,$1B 
	JR Lb40AF ; [$40AF:16559]
	DEC E 
	LD E,$1F 
	JR NZ, Lb40B9 ; [$40B9:16569]
	LD ($2423),HL 
	DEC H 
	LD C,$19 
	INC DE 
	INC D 
	LD (DE),A 
	RRCA 
	AND (HL) 
.db A,B,C,D,E,F,G,H; ZX-TEXT
.db I,J,K,L; ZX-TEXT

Lb40AF:
M,N,O,P,Q,R,S,T; ZX-TEXT
.db U,V; ZX-TEXT

Lb40B9:
W,X,Y,Z,(,/,); ZX-TEXT
	RET C 
	IN A,($22) ; User port.
	INC E 
	LD B,B 
	LD (RAM_STKBOT),HL ; SET STKBOT
	LD (RAM_E_LINE),HL ; SET E-LINE
	DEC HL 
	LD (HL),$80 
	LD (RAM_VARS),HL ; SET VARS
	LD C,$18 
	LD D,$76 
Lb40D5:
	DEC HL 
	LD (HL),D 
	LD B,$20 
Lb40D9:
	DEC HL 
	LD (HL),$00 
	DJNZ Lb40D9 ; [$40D9:16601]
	DEC C 
	JR NZ, Lb40D5 ; [$40D5:16597]
	LD (RAM_DF_CC),HL ; SET DF-CC
	DEC HL 
	LD (HL),D 
	LD (RAM_D_FILE),HL ; SET D-FILE
	RET ; ==========================

	LD (Lb422E),SP 
Lb40EE:
	LD SP,(Lb422E) 
	LD HL,(RAM_RAMTOP) ; GET RAM-TOP
	DEC H 
	CALL Lb40C2 ; [16578]
	LD B,$0A 
Lb40FB:
	DEC HL 
	LD (HL),$00 
	DJNZ Lb40FB ; [$40FB:16635]
Lb4100:
	LD (HL),$76 
	DEC HL 
	PUSH HL 
	POP DE 
	LD A,(DE) 
	CP $76 ; [118]
	JR NZ, Lb4100 ; [$4100:16640]
	DEC DE 
	LD A,(DE) 
	CP $FF ; [255]
	JR NZ, Lb4100 ; [$4100:16640]
	DEC DE 
	LD A,(DE) 
	CP $FF ; [255]
	JR NZ, Lb4100 ; [$4100:16640]
	LD (Lb4234),HL 
	JR Lb417D ; [$417D:16765]
Lb411B:
	CALL Lb41CF ; [16847]
	CP $0D ; [13-"$"]
	JR Z, Lb417D ; [$417D:16765]
Lb4122:
	CP $60 ; [96]
	JR C, Lb4128 ; [$4128:16680]
	RES 5,A 
Lb4128:
	CP $03 ; [3]
	JR Z, Lb4147 ; [$4147:16711]
	CP $20 ; [32-"4"]
	JR C, Lb411B ; [$411B:16667]
	PUSH HL 
	LD HL, Lb4082 
	SUB $20 
	LD D,$00 
	LD E,A 
	ADD HL,DE 
	LD A,(HL) 
	LD HL,(Lb422E+2) 
	INC (HL) 
	POP HL 
	LD (HL),A 
	INC HL 
	LD A,(HL) 
	CP $00 ; [0]
	JR NZ, Lb411B ; [$411B:16667]
Lb4147:
	LD (HL),$76 
	INC HL 
	LD (HL),$76 
	PUSH HL 
	LD HL,(Lb4232) 
	LD (HL),$27 
	INC HL 
	LD (HL),$06 
	POP HL 
	LD DE,$031A 
	ADD HL,DE 
	CALL Lb40C2 ; [16578]
	LD HL,(Lb4234) 
	INC HL 
	LD A,$00 
	CP (HL) 
	RET NZ 
	LD (HL),$03 
	INC HL 
	LD (HL),$E7 
	RET ; ==========================

Lb416B:
	CP $20 ; [32-"4"]
	JR Z, Lb4195 ; [$4195:16789]
	PUSH HL 
	LD HL,(Lb4232) 
	LD D,(HL) 
	INC HL 
	LD E,(HL) 
	LD (Lb4236),DE 
	POP HL 
	JR Lb4122 ; [$4122:16674]
Lb417D:
	LD (HL),$76 
	INC HL 
	LD (Lb4232),HL 
	LD (HL),$00 
	INC HL 
	LD (HL),$00 
	INC HL 
	LD (Lb422E+2),HL 
	LD (HL),$02 
	INC HL 
	LD (HL),$00 
	INC HL 
	LD (HL),$EA 
	INC HL 
Lb4195:
	CALL Lb41CF ; [16847]
	CP $3A ; [58-"U"]
	JR NC, Lb416B ; [$416B:16747]
	CP $30 ; [48-"K"]
	JR C, Lb416B ; [$416B:16747]
	RES 5,A 
	RES 4,A 
	PUSH HL 
	LD HL,(Lb4232) 
	LD D,(HL) 
	INC HL 
	LD E,(HL) 
	LD H,D 
	LD L,E 
	SLA L 
	RL H 
	SLA L 
	RL H 
	ADD HL,DE 
	SLA L 
	RL H 
	LD D,$00 
	LD E,A 
	ADD HL,DE 
	LD DE,(Lb4232) 
	LD A,H 
	CP $24 ; [36-"8"]
	CALL NC, Lb4224 ; [16932]
	LD (DE),A 
	INC DE 
	LD A,L 
	LD (DE),A 
	POP HL 
	JR Lb4195 ; [$4195:16789]
Lb41CF:
	CALL Lb41EC ; [16876]
	JR C, Lb41CF ; [$41CF:16847]
	LD D,$07 
Lb41D6:
	CALL Lb41EC ; [16876]
	RR E 
	DEC D 
	JR NZ, Lb41D6 ; [$41D6:16854]
	SRL E 
Lb41E0:
	CALL Lb41EC ; [16876]
	JR NC, Lb41E0 ; [$41E0:16864]
Lb41E5:
	CALL Lb41EC ; [16876]
	JR NC, Lb41E5 ; [$41E5:16869]
	LD A,E 
	RET ; ==========================

Lb41EC:
	CALL Lb420D ; [16909]
	LD C,$00 
	LD B,$26 
Lb41F3:
	DEC B 
	JP Z, Lb40EE ; [16622]
	INC C 
	IN A,($FE) ; Keyboard Port.
	BIT 7,A 
	JR NZ, Lb41F3 ; [$41F3:16883]
Lb41FE:
	CALL Lb4217 ; [16919]
	DJNZ Lb41FE ; [$41FE:16894]
	LD A,$09 
	CP C 
	JR NC, Lb41EC ; [$41EC:16876]
	LD A,$0F 
	CP C 
	CCF 
	RET ; ==========================

Lb420D:
	CALL Lb4217 ; [16919]
	IN A,($FE) ; Keyboard Port.
	BIT 7,A 
	JR Z, Lb420D ; [$420D:16909]
	RET ; ==========================

Lb4217:
	LD A,$7F 
	IN A,($FE) ; Keyboard Port.
	RRA 
	RET C 
	LD SP,(Lb422E) 
	JP Lb4147 ; [16711]
Lb4224:
	LD HL,(Lb4236) 
	LD BC,$000A 
	ADC HL,BC 
	LD A,H 
	RET ; ==========================

Lb422E:
	JP PE,  GOSUB+2 ; []*BIOS ROM*
	LD B,A 
Lb4232:
	INC C 
	LD B,A 
Lb4234:
	DEC BC 
	LD B,A 
Lb4236:
	NOP 
	NOP 
	DEC DE 
	DEC DE 
	DEC DE 
	DEC DE 
	DEC DE 
	DEC DE 
	DEC DE 
	DEC DE 
Lb4240:
	LD (DE),A 
	INC D 
	CALL C,SV_MULT+7 ; []*BIOS ROM*
	.db $"<>",$"<"  ; DATAS

	INC D 

.db $DB; DATA
.db A,B,S; ZX-TEXT

.db $D2; DATA
A,N,D; ZX-TEXT

.db $DA; DATA
A,S,C; ZX-TEXT

.db $C4; DATA
A,T,N; ZX-TEXT

.db $CC; DATA
C,H,R,$; ZX-TEXT

.db $D6; DATA
C,O,S; ZX-TEXT

.db $C8; DATA
D,I,M; ZX-TEXT

.db $E9; DATA
E,N,D; ZX-TEXT

.db $E3; DATA
E,X,P; ZX-TEXT

.db $CE; DATA
F,O,R; ZX-TEXT

.db $EB; DATA
G,O,S,U,B; ZX-TEXT

.db $ED; DATA
G,O,T,O; ZX-TEXT

.db $EC; DATA
I,F; ZX-TEXT

.db $FA; DATA
I,N,P,U,T; ZX-TEXT

.db $EE; DATA
I,N,T; ZX-TEXT

.db $CF; DATA
L,E,N; ZX-TEXT

.db $C6; DATA
L,E,T; ZX-TEXT

.db $F1; DATA
L,O,G; ZX-TEXT

.db $CD; DATA
N,E,X,T; ZX-TEXT

.db $F3; DATA
N,O,T; ZX-TEXT

.db $D7; DATA
O,R; ZX-TEXT

.db $D9; DATA
P,R,I,N,T; ZX-TEXT

.db $F5; DATA
R,E,M; ZX-TEXT

.db $EA; DATA
R,E,T,U,R,N; ZX-TEXT

.db $FE; DATA
R,U,N; ZX-TEXT

.db $F7; DATA
S,G,N; ZX-TEXT

.db $D1; DATA
S,I,N; ZX-TEXT

.db $C7; DATA
S,Q,R; ZX-TEXT

.db $D0; DATA
S,T,E,P; ZX-TEXT

.db $E0; DATA
S,T,O,P; ZX-TEXT

.db $E3; DATA
T,A,B; ZX-TEXT

.db $C2; DATA
T,A,N; ZX-TEXT

.db $C9; DATA
T,H,E,N; ZX-TEXT

.db $DE; DATA
T,O; ZX-TEXT

.db $DF; DATA
V,A,L; ZX-TEXT

	PUSH BC 
	JP P,$76F2 ; [30450]
	NOP 
	INC B 
	INC B 
	NOP 
	JP PE,$FFFF ; [65535]
	HALT 
	NOP 
	DEC B 
	LD C,$00 
.db $EA; DATA
P,R,I,N,T; ZX-TEXT
.db $00,$0B; DATA
L,E,T; ZX-TEXT
	NOP 
	DEC BC 
	HALT 
	NOP 
	DEC C 
	LD B,$00 
	JP PE,  K_SHIFT+3 ; []*BIOS ROM*
	XOR B 
	XOR B 
	HALT 
	NOP 
	LD C,$02 
	DEC DE 
	DEC DE 
	LD HL,(Lb4234) 
Lb4310:
	LD A,$7F 
	IN A,($FE) ; Keyboard Port.
	RRA 
	RET NC 
	INC HL 
	LD (Lb44C2),HL 
	LD B,(HL) 
	INC HL 
	LD C,(HL) 
	INC BC 
	LD (Lb44C4),BC 
	INC HL 
	LD (Lb44C8),HL 
	INC HL 
	INC HL 
	LD A,(HL) 
	INC HL 
	LD (Lb44CA),HL 
	CP $EA ; [234]
	LD (Lb44D2),A 
	JR NZ, Lb4397 ; [$4397:17303]
	PUSH HL 
	CALL Lb4390 ; [17296]
	INC HL 
	LD B,(HL) 
	INC HL 
	LD C,(HL) 
	LD (Lb44C6),BC 
	LD HL,(Lb44C4) 
	AND A 
	SBC HL,BC 
	JR NZ, Lb434C ; [$434C:17228]
	LD HL, Lb44C4 
	DEC (HL) 
Lb434C:
	POP HL 
	DEC HL 
	LD A,$00 
	LD (Lb44D2),A 
Lb4353:
	INC HL 
	LD A,(HL) 
	CP $00 ; [0]
	JR Z, Lb4353 ; [$4353:17235]
	CP $A8 ; [168-"C"]
	RET Z 
	CP $0B ; [11-"""]
	JR Z, Lb437F ; [$437F:17279]
	CP $0E ; [14-":"]
	JP Z, Lb44A6 ; [17574]
	CP $12 ; [18-">"]
	JR Z, Lb43DE ; [$43DE:17374]
	CP $13 ; [19-"<"]
	JR Z, Lb43DE ; [$43DE:17374]
	CP $76 ; [118]
	JR Z, Lb439B ; [$439B:17307]
	SUB $1C 
	CP $0A ; [10]
	JR C, Lb438B ; [$438B:17291]
	SUB $0A 
	CP $1A ; [26-","]
	JR C, Lb43DE ; [$43DE:17374]
	JR Lb4353 ; [$4353:17235]
Lb437F:
	INC HL 
	LD A,(HL) 
	CP $0B ; [11-"""]
	JR Z, Lb4353 ; [$4353:17235]
	CP $76 ; [118]
	JR Z, Lb439B ; [$439B:17307]
	JR Lb437F ; [$437F:17279]
Lb438B:
	CALL Lb452F ; [17711]
	JR Lb4353 ; [$4353:17235]
Lb4390:
	INC HL 
	LD A,(HL) 
	CP $76 ; [118]
	JR NZ, Lb4390 ; [$4390:17296]
	RET ; ==========================

Lb4397:
	DEC HL 
	CALL Lb4390 ; [17296]
Lb439B:
	LD BC,$0002 
	LD (Lb44CC),HL 
	EX DE,HL 
Lb43A2:
	DEC DE 
	INC BC 
	LD HL,(Lb44CA) 
	AND A 
	SBC HL,DE 
	JR NZ, Lb43A2 ; [$43A2:17314]
	LD HL,(Lb44C8) 
	LD (HL),C 
	INC HL 
	LD (HL),B 
	LD A,(Lb44D2) 
	AND A 
	CALL Z, Lb43C5 ; [17349]
	LD HL,(Lb44CC) 
	INC HL 
	LD A,(HL) 
	DEC HL 
	CP $76 ; [118]
	JP NZ, Lb4310 ; [17168]
	RET ; ==========================

Lb43C5:
	LD HL,(Lb44CA) 
	DEC HL 
	LD D,H 
	LD E,L 
Lb43CB:
	INC DE 
	LD A,(DE) 
	CP $00 ; [0]
	JR Z, Lb43CB ; [$43CB:17355]
	CP $40 ; [64]
	LD (HL),$00 
	RET NC 
	LD (HL),$F1 
	CP $26 ; [38-"A"]
	RET NC 
	LD (HL),$EC 
	RET ; ==========================

Lb43DE:
	LD (Lb44CE),HL 
	LD DE, Lb4240 
	CALL Lb4414 ; [17428]
	LD HL,(Lb44CE) 
	CP $40 ; [64]
	JP C, Lb4353 ; [17235]
	CP $F2 ; [242]
	JP Z, Lb4353 ; [17235]
	CP $FA ; [250]
	CALL Z, Lb45BA ; [17850]
	CP $DE ; [222]
	JP Z, Lb45C8 ; [17864]
	LD (HL),A 
	INC HL 
	DEC B 
	CALL NZ, Lb4469 ; [17513]
	LD HL,(Lb44CE) 
	LD A,(HL) 
	CP $EA ; [234]
	JP Z, Lb4397 ; [17303]
	JP Lb4353 ; [17235]
	LD (Lb44D2),A 
	RET ; ==========================

Lb4414:
	LD B,$00 
	CALL Lb4426 ; [17446]
	RET NC 
	LD HL,(Lb44CE) 
Lb441D:
	INC DE 
	LD A,(DE) 
	CP $3F ; [63-"Z"]
	JR C, Lb441D ; [$441D:17437]
	INC DE 
	JR Lb4414 ; [$4414:17428]
Lb4426:
	LD A,(DE) 
	CP $3F ; [63-"Z"]
	RET NC 
	CP (HL) 
	RET NZ 
	INC HL 
	INC DE 
	INC B 
	JR Lb4426 ; [$4426:17446]
Lb4431:
	LD (Lb44D0),HL 
Lb4434:
	CALL Lb443D ; [17469]
	DJNZ Lb4434 ; [$4434:17460]
	LD HL,(Lb44D0) 
	RET ; ==========================

Lb443D:
	LD HL,$400A 
	LD A,$09 
Lb4442:
	CALL Lb4461 ; [17505]
	DEC A 
	JR NZ, Lb4442 ; [$4442:17474]
	LD DE,(RAM_STKEND) ; GET STKEND
	LD H,D 
	LD L,E 
	INC DE 
	PUSH BC 
Lb4450:
	LD A,(HL) 
	LD (DE),A 
	LD BC,(Lb44D0) 
	PUSH HL 
	AND A 
	SBC HL,BC 
	POP HL 
	DEC DE 
	DEC HL 
	JR NZ, Lb4450 ; [$4450:17488]
	POP BC 
	RET ; ==========================

Lb4461:
	INC HL 
	INC HL 
	INC (HL) 
	RET NZ 
	INC HL 
	INC (HL) 
	DEC HL 
	RET ; ==========================

Lb4469:
	LD (Lb44D0),HL 
Lb446C:
	CALL Lb4475 ; [17525]
	DJNZ Lb446C ; [$446C:17516]
	LD HL,(Lb44D0) 
	RET ; ==========================

Lb4475:
	LD HL,$400A 
	LD C,$09 
	LD A,$00 
Lb447C:
	CALL Lb449A ; [17562]
	DEC C 
	JR NZ, Lb447C ; [$447C:17532]
	LD HL,(Lb44D0) 
	LD D,H 
	LD E,L 
	INC DE 
	PUSH BC 
Lb4489:
	LD A,(DE) 
	LD (HL),A 
	PUSH HL 
	LD BC,(RAM_STKEND) ; GET STKEND
	AND A 
	SBC HL,BC 
	POP HL 
	INC DE 
	INC HL 
	JR NZ, Lb4489 ; [$4489:17545]
	POP BC 
	RET ; ==========================

Lb449A:
	INC HL 
	INC HL 
	CP (HL) 
	JR Z, Lb44A1 ; [$44A1:17569]
	DEC (HL) 
	RET ; ==========================

Lb44A1:
	DEC (HL) 
	INC HL 
	DEC (HL) 
	DEC HL 
	RET ; ==========================

Lb44A6:
	NOP 
	LD (HL),$76 
	INC HL 
	LD B,$05 
	CALL Lb4431 ; [17457]
	LD BC,(Lb44C4) 
	LD (HL),B 
	INC HL 
	LD (HL),C 
	INC HL 
	INC HL 
	INC HL 
	LD (HL),$EA 
	LD HL,(Lb44D0) 
	DEC HL 
	JP Lb439B ; [17307]
Lb44C2:
	NOP 
	NOP 
Lb44C4:
	NOP 
	NOP 
Lb44C6:
	NOP 
	NOP 
Lb44C8:
	NOP 
	NOP 
Lb44CA:
	NOP 
	NOP 
Lb44CC:
	NOP 
	NOP 
Lb44CE:
	NOP 
	NOP 
Lb44D0:
	NOP 
	NOP 
Lb44D2:
	NOP 
Lb44D3:
	NOP 
	NOP 
Lb44D5:
	LD BC,$0000 
	LD (RAM_PRBUFF00),BC ; SET PRBUFF
	LD (RAM_PRBUFF02),BC ; SET PRBUFF
	LD (RAM_PRBUFF04),BC ; SET PRBUFF
Lb44E4:
	LD A,(HL) 
	SUB $1C 
	CP $0A ; [10]
	RET NC 
	PUSH HL 
	LD HL,$403C 
	CALL Lb4505 ; [17669]
	LD A,H 
	LD (RAM_PRBUFF02),A ; SET PRBUFF
	LD A,L 
	LD (RAM_PRBUFF03),A ; SET PRBUFF
	LD A,B 
	LD (RAM_PRBUFF00),A ; SET PRBUFF
	LD A,C 
	LD (RAM_PRBUFF01),A ; SET PRBUFF
	POP HL 
	INC HL 
	JR Lb44E4 ; [$44E4:17636]
Lb4505:
	LD B,(HL) 
	INC HL 
	LD C,(HL) 
	INC HL 
	LD D,(HL) 
	INC HL 
	LD E,(HL) 
	LD H,D 
	LD L,E 
	CALL Lb4526 ; [17702]
	CALL Lb4526 ; [17702]
	AND A 
	ADC HL,DE 
	JR NC, Lb451A ; [$451A:17690]
	INC BC 
Lb451A:
	CALL Lb4526 ; [17702]
	LD D,$00 
	LD E,A 
	AND A 
	ADC HL,DE 
	RET NC 
	INC BC 
	RET ; ==========================

Lb4526:
	SLA L 
	RL H 
	RL C 
	RL B 
	RET ; ==========================

Lb452F:
	DEC HL 
	LD A,(HL) 
	SUB $26 
	CP $1B ; [27-"."]
	INC HL 
	RET C 
	CALL Lb44D5 ; [17621]
	LD A,$7E 
	CP (HL) 
	CALL NZ, Lb45B2 ; [17842]
	INC HL 
	CALL Lb4583 ; [17795]
	LD A,(RAM_PRBUFF00) ; GET PRBUFF
	LD B,A 
	LD A,(RAM_PRBUFF01) ; GET PRBUFF
	LD C,A 
	LD A,(RAM_PRBUFF02) ; GET PRBUFF
	LD D,A 
	LD A,(RAM_PRBUFF03) ; GET PRBUFF
	LD E,A 
	LD A,(HL) 
	RES 7,A 
	INC HL 
	LD (HL),$00 
	INC HL 
	LD (HL),$00 
	INC HL 
	LD (HL),$00 
	INC HL 
	LD (HL),$00 
Lb4563:
	DEC HL 
	DEC HL 
	DEC HL 
	DEC A 
	AND A 
	JR Z, Lb4577 ; [$4577:17783]
	SRL B 
	RR C 
	RR D 
	RR E 
	CALL Lb4577 ; [17783]
	JR Lb4563 ; [$4563:17763]
Lb4577:
	RR (HL) 
	INC HL 
	RR (HL) 
	INC HL 
	RR (HL) 
	INC HL 
	RR (HL) 
	RET ; ==========================

Lb4583:
	LD C,$20 
	LD DE,$403C 
	PUSH HL 
	LD H,$04 
	CALL Lb4597 ; [17815]
Lb458E:
	POP HL 
	LD (HL),C 
	LD A,$00 
	CP C 
	RET Z 
	SET 7,(HL) 
	RET ; ==========================

Lb4597:
	LD A,(DE) 
	CALL Lb45A0 ; [17824]
	INC DE 
	DEC H 
	JR NZ, Lb4597 ; [$4597:17815]
	RET ; ==========================

Lb45A0:
	LD B,$08 
	CALL Lb45A6 ; [17830]
	RET ; ==========================

Lb45A6:
	RLA 
	JR C, Lb45AD ; [$45AD:17837]
	DEC C 
	DJNZ Lb45A6 ; [$45A6:17830]
	RET ; ==========================

Lb45AD:
	POP DE 
	POP DE 
	POP DE 
	JR Lb458E ; [$458E:17806]
Lb45B2:
	LD B,$06 
	CALL Lb4431 ; [17457]
	LD (HL),$7E 
	RET ; ==========================

Lb45BA:
	LD (Lb44D2),A 
	DEC HL 
	LD (HL),A 
	INC HL 
	LD (HL),$D7 
	INC HL 
	LD A,$10 
	LD B,$01 
	RET ; ==========================

Lb45C8:
	LD (HL),$11 
	INC HL 
	LD (HL),A 
	INC HL 
	LD B,$04 
	CALL Lb4431 ; [17457]
	LD (HL),$EC 
	INC HL 
	LD (Lb44D0),HL 
	CALL Lb45E5 ; [17893]
	LD HL,(Lb44D0) 
	CALL Lb452F ; [17711]
	INC HL 
	JP Lb44A6 ; [17574]
Lb45E5:
	LD (HL),$1C 
	INC HL 
	LD (HL),$1C 
	INC HL 
	LD (HL),$1C 
	LD HL,(Lb44C6) 
	LD (Lb44D3),HL 
	LD HL,(Lb44D0) 
	LD BC,$FC18 
	CALL Lb4612 ; [17938]
	INC HL 
	LD BC,$FF9C 
	CALL Lb4612 ; [17938]
	INC HL 
	LD BC,$FFF6 
	CALL Lb4612 ; [17938]
	INC HL 
	LD A,(Lb44D3) 
	ADD A,$1C 
	LD (HL),A 
	RET ; ==========================

Lb4612:
	PUSH HL 
	LD HL,(Lb44D3) 
	AND A 
	ADC HL,BC 
	JR NC, Lb4622 ; [$4622:17954]
	LD (Lb44D3),HL 
	POP HL 
	INC (HL) 
	JR Lb4612 ; [$4612:17938]
Lb4622:
	POP HL 
	RET ; ==========================

;------------ Labels errors ------------
; LABEL ERROR @LB409D:DJNZ +18	[$409D:16541]
; LABEL ERROR @LB40C2:CALL $40C2	[16578]
; LABEL ERROR @LB40C2:CALL $40C2	[16578]
; LABEL @LB4230 Fixed: LD HL,($4230) / LD HL,(Lb422E+2)
; LABEL @LB4230 Fixed: LD ($4230),HL / LD (Lb422E+2),HL

.end

Donc, il y a un interpréteur de commandes.
[/EDIT]
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: VG5000: LOAD et SAVE

Message par Carl »

David, voir la doc PDF VG5000_NOS Basicode 2_standard_routines
VG5000_NOS Basicode 2_standard_routines.7z
(2.83 Mio) Téléchargé 126 fois
Carl
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: VG5000: LOAD et SAVE

Message par Carl »

joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: VG5000: LOAD et SAVE

Message par joaopa »

@Xavier & Carl: Merci

Reste plus qu'à tester les codes fournis par Carl pour voir si ça tourne sur de petits programmes basicode.
Répondre