it regularly difficult to spot, aside from maybe by a genuine Rolex replica history specialist, in light of the fact that the best phony Rolex are 95% made by Rolex. If you want to know how often you should optimally be winding your rolex replica watch, Click Here.

Erebus et CSAVE
 
Notifications
Retirer tout

Erebus et CSAVE

6 Posts
2 Utilisateurs
0 Reactions
288 Vu
Dbug
 Dbug
(@dbug)
Trusted Member
Inscription: Il y a 6 ans
Posts: 57
Début du sujet  

Question bête: l'Erebus patche la ROM pour faire en sorte que les CLOAD chargent depuis la carte SD, mais quid de CSAVE?

En gros, si je charge un fichier depuis l'Erebus en faisant CLOAD, est-ce que je peut faire CSAVE pour sauver sur une cassette ou bien est-ce que ca ne marcherait pas?



   
Citation
Kenneth
(@kenneth)
Honorable Member Adhérent
Inscription: Il y a 6 ans
Posts: 349
 

Salut Dbug

La routine CLOAD est remplacée par un code qui fait permuter la page RomBasic par la page qui contient les 4k de code qui gère la carte SD. La routine CSAVE a été conservée. La sauvegarde sortira donc par la prise magnétophone.



   
RépondreCitation
Dbug
 Dbug
(@dbug)
Trusted Member
Inscription: Il y a 6 ans
Posts: 57
Début du sujet  

Cool, donc techniquement je pourrais utiliser l'Erebus pour faire des versions physiques des jeux comme Skool Daze ou Stormlord en rajoutant un petit loader au début du .TAP qui en gros fait CLOAD/CSAVE/CLOAD/CSAVE/... pour chaque partie.

Faut que je tente ca 🙂

Merci!



   
RépondreCitation
Dbug
 Dbug
(@dbug)
Trusted Member
Inscription: Il y a 6 ans
Posts: 57
Début du sujet  

Bon, j'ai fait quelques essais et ca ne marche pas très bien.

Est-ce qu'il reste juste la command CLOAD, ou bien est-ce que les points d'accès intermédiaires sont aussi disponibles?

En gros pour faire la copie je ne peux pas vraiment faire un CLOAD"", ce que je faisait en général c'était de charger les en-tetes, patcher les addresses pour que ca charge a un endroit précis (pour pas écraser le programme de rip) et aussi désactiver l'auto-start pour pouvoir faire le CSAVE après.

Le code ressemble a ca:

; Useful tape ROM routines
SetupTape       = $e76a 	; Prepare VIA for take reading
RestoreVIAState = $e93d 	; Restore the VIA state
TapeSync		= $e4ac 	; Read the header
GetTapeData     = $e4e0 	; Actual loading of the tape content
PrintSearching  = $e57d 	; Display "searching..." in the status bar
PrintLoading    = $e59b 	; Display "loading ..." in the status bar

	
load_from_tape
	jsr SetupTape		; Prepare VIA for take reading
	jsr PrintSearching	; Display "searching..." (not mandatory)
	jsr TapeSync		; Read the header

	; Store the original start address
	lda	_tape_start_addr+0
	sta	_OriginalStartAddress+0
	lda	_tape_start_addr+1
	sta	_OriginalStartAddress+1

	; Store the original end address
	lda	_tape_end_addr+0
	sta	_OriginalEndAddress+0
	lda	_tape_end_addr+1
	sta	_OriginalEndAddress+1

	; Compute the size
	sec
	lda	_tape_end_addr+0
	sbc _tape_start_addr+0
	sta _FileSize+0
	lda	_tape_end_addr+1
	sbc _tape_start_addr+1
	sta _FileSize+1

	; Replace the address by the buffer
	jsr PatchAddresses

	lda _tape_auto_flag
	sta _OriginalAutoFlag
	lda #0
	sta _tape_auto_flag

	jsr PrintLoading	; Display "loading ..." (not mandatory)
	jsr GetTapeData		; Actual loading
	jsr RestoreVIAState	; Restore the VIA state

Le problème c'est que ca reste bloqué sur "Searching..."



   
RépondreCitation
Kenneth
(@kenneth)
Honorable Member Adhérent
Inscription: Il y a 6 ans
Posts: 349
 

En piece jointe, la zone patchée de la ROM.

1757320105-E874_patch_RomBasic.jpg


   
RépondreCitation
Dbug
 Dbug
(@dbug)
Trusted Member
Inscription: Il y a 6 ans
Posts: 57
Début du sujet  

Ok merci, je vais essayer de trouver une méthode alternative.

Le truc qui aiderait ca serait de pouvoir désactiver l'auto-start histoire que je puisse reprendre la main pour pouvoir sauver le fichier, sinon il va falloir que je trouve une bidouille style filtrer le .TAP que je veux sauver pour virer le flag AUTO et le remettre quand je sauve.



   
RépondreCitation
Share: