Autore Topic: Salvare Su Floppydrive1541 Prg In Lm  (Letto 1452 volte)

kletos

  • Neo-iscritto
  • *
  • Post: 5
  • Gioco Preferito: azteco
Salvare Su Floppydrive1541 Prg In Lm
« il: 01 Aprile 2010, 14:25:28 »
 Ciao a tutti,
ho ritrovato una mia vecchia cassetta del programma "Singsong" (La voce3) in LM per C64 e vorrei salvarlo sul floppy del Drive1541. Ho provato a salvarlo con il comando: save"singsong", 8,1 e sembra salvarlo correttamente. Però, poi eseguendo il load"singsong",8,1  apparentemente sembra tutto ok, ma in memoria non c'è nulla. Esiste un modo per salvare tale prg prima che la cassetta, già vecchia di suo, si smagnetizza del tutto? - Grazie

tostilio

  • Neo-iscritto
  • *
  • Post: 25
  • Gioco Preferito: usagj yojimbo
Salvare Su Floppydrive1541 Prg In Lm
« Risposta #1 il: 06 Settembre 2010, 14:40:59 »
 Mi sembra che c'erano delle utility che facevano quello che hai chiesto, e cioè che trasferivano un file da nastro a disco e viceversa... ora i nomi di queste utility non li ricordo, però puoi provare con il programmino che ti posto a seguire che però deve essere modificato opportunamente (leggi dopo):

10 input"file name   ";f$
20 input"file type   ";t$
25 input"new file seq";n$
30 t$=left$(t$,1)
40 if t$<>"s" and t$<>"p" and t$<>"u" th
en : print"error on type file": goto 20
45 open 15,8,15
50 open 5,8,5,"0:" + f$ + "," + t$ + ",r
"
55 open 6,8,6,"0:" + n$ + ",s,w"
60 gosub 200
70 get#5,a$
80 if st<>0 and st<> 64 then: goto 59000

95 print#6,a$;
100 if st=64 then print"end work: no err
or." : goto 60000
110 goto 70
200 input#15,a$,b$,c$,d$
210 if val(a$) > 0 then print a$,b$,c$;d
$: goto 60000
220 return
59000 print"i/o error #",st
60000 close 6
60010 close 5
60020 close 15
60100 end

questo programma trasferisce un file prg in un seq senza perdita di informazioni da disco a disco... per modificarlo da nastro a disco e da prg a prg dovrebbe essere sufficiente:

1. modificare la linea 55 in questo modo:

55 open 6,8,6,"0:" + n$ + ",p,w"

2. modificare la linea 50 come segue:

50 open 5,1,5,"0:" + f$ + "," + t$ + ",r
"

e dovrebbe andare... non ho tempo di provarlo... ma dovrebbe andare... a parte la gestione degli errori... che è per il disco e non per la cassetta... chissà.

Magari lo testi, fammi sapere...
 

tostilio

  • Neo-iscritto
  • *
  • Post: 25
  • Gioco Preferito: usagj yojimbo
Salvare Su Floppydrive1541 Prg In Lm
« Risposta #2 il: 06 Settembre 2010, 15:29:12 »
 Ho testato il programma che ho proposto, ma sul VICE non funziona... boh! Forse VICE non supporta i file sequenziali su cassetta? Boh!

 

eregil

  • Administrator
  • Utente
  • *****
  • Post: 710
  • Gioco Preferito: Impossible Mission
Salvare Su Floppydrive1541 Prg In Lm
« Risposta #3 il: 06 Settembre 2010, 15:54:10 »
 Per usare i file sequenziali su cassetta, rispetto alla sintassi per il drive, devi rimuovere dal nome file nel comando OPEN tutte le opzioni relative al drive: l'indicazione di unità ("0:") e di tipo file e modalità di accesso (",s,r" o similari). Il terzo parametro della OPEN deve essere quindi modificato in 0 per la lettura oppure 1 per la scrittura.

Codice: [Seleziona]
OPEN 2,8,2,"0:NOMEFILE,S,R": REM LETTURA DA DISCO
OPEN 1,1,0,"NOMEFILE": REM LETTURA DA CASSETTA

OPEN 2,8,2,"0:NOMEFILE,S,W": REM SCRITTURA SU DISCO
OPEN 1,1,1,"NOMEFILE": REM SCRITTURA SU CASSETTA

Comunque, questo non c'entra con la domanda dell'apertore che nulla ha a che fare con i file sequenziali.

Vi sono dei copiatori nastro-disco nella sezione Utility del sito web, che consiglio di consultare.
 
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

tostilio

  • Neo-iscritto
  • *
  • Post: 25
  • Gioco Preferito: usagj yojimbo
Salvare Su Floppydrive1541 Prg In Lm
« Risposta #4 il: 07 Settembre 2010, 14:44:20 »
Citazione da: "eregil"
Per usare i file sequenziali su cassetta, rispetto alla sintassi per il drive, devi rimuovere dal nome file nel comando OPEN tutte le opzioni relative al drive: l'indicazione di unità ("0:") e di tipo file e modalità di accesso (",s,r" o similari). Il terzo parametro della OPEN deve essere quindi modificato in 0 per la lettura oppure 1 per la scrittura.

Codice: [Seleziona]
OPEN 2,8,2,"0:NOMEFILE,S,R": REM LETTURA DA DISCO
OPEN 1,1,0,"NOMEFILE": REM LETTURA DA CASSETTA

OPEN 2,8,2,"0:NOMEFILE,S,W": REM SCRITTURA SU DISCO
OPEN 1,1,1,"NOMEFILE": REM SCRITTURA SU CASSETTA

Comunque, questo non c'entra con la domanda dell'apertore che nulla ha a che fare con i file sequenziali.

Vi sono dei copiatori nastro-disco nella sezione Utility del sito web, che consiglio di consultare.


 
Forse non era chiara la mia idea... l'idea era quella di leggere byte per byte il programma da nastro e di memorizzarlo, sempre byte per byte su disco... come faccio io con il programma proposto per copiare un PRG in un SEQ su disco.

La cosa dovrebbe funzionare in quanto è noto che un PRG è essenzialmente un SEQ ma che il C64 carica con la semplice istruzione LOAD proprio perché su filesystem quel file è marcato come PRG.
Dunque un prg riesco a leggerlo con il metodo descritto e a scriverlo sempre con il metodo descritto... secondo me l'idea dovrebbe poter funzionare... era solo un'idea ecco. Certo un programma già funzionante è più comodo: lo carico lo lancio e via!

Non credo di essere andato "fuori tema!"...