Come copiare programmi da cassetta e trasferirli su disco

In questo breve tutorial veremo una coppia di programmi utili a copiare programmi, sia da cassetta a cassetta, sia da cassetta a disco. I due programmi necessari sono scaricabili usando il link a fondo pagina.

I due programmi in questione sono di dimensione molto ridotta e funzionano su VIC-20 di qualsiasi configurazione di memoria. Essi vanno caricati con

LOAD”nome”,8,1

per evitare che vengano rilocati in memoria e si lanciano entrambi con il comando:

SYS 673

Di seguito la procedura da seguire per copiare:

  • da cassetta ad altra cassetta
  • da cassetta a disco

Copia da cassetta a cassetta

Ecco la procedura da seguire:

  1. Caricare il programma CTAPE673 con LOAD”CTAPE673″,8,1 in modo da evitarne la rilocazione in memoria.
  2. Inserire la cassetta con il programma da copiare, già posizionata al punto giusto
  3. SYS 673 – dovrebbe apparire “PRESS PLAY ON TAPE”.
    NB – Se lo schermo si “sbianca” come se avessi premuto RUN/STOP e RESTORE insieme, evidentemente hai caricato il programma CTAPE673 in modo sbagliato, ossia dimenticando l’opzione ,1 finale (detta anch secondary address) nella istruzione LOAD.
  4. Premere PLAY sul registratore e attendere il caricamento. A fine caricamento lo schermo diventerà nero, segno che è il momento di cambiare cassetta.
  5. Premere STOP ed EJECT sul registratore, inserire poi la cassetta vuota su cui andremo a registrare la copia.
  6. Premere RETURN. Lo schermo ritornerà del colore normale (bianco e azzurro) e apparirà la scritta “PRESS RECORD & PLAY ON TAPE”
  7. Premere REC e PLAY sul registratore e attendere la fine della copia.

Copia da cassetta a disco

Una premessa importante: La cassetta ha una sua intrinseca sequenzialità, cioè in caso di programmi strutturati in più parti che vanno caricate ed eseguite in sequenza, chi le ha sviluppate non ha avuto bisogno di specificare il nome del file da caricare nelle varie operazioni LOAD: per default viene caricato il programma seguente trovato sul nastro.

Quando vado a trasferire un programma strutturato in più parti da nastro a disco posso incontrare difficoltà, perché il disco per sua natura non ha accesso sequenziale ai programmi ed è quindi necessario specificare il nome del file da caricare volta per volta. Con la procedura che illustro qui sarà facile trasferire i programmi da cassetta a disco ma poi, per fare in modo che le varie parti si concatenino correttamente è possibile che occorra fare modifiche che vanno escogitate caso per caso (consiglio di rivedere il tutorial “Trasferire da cassetta  disco i programmi multiload“)

Ecco dunque la procedura da seguire per trasferire da cassetta a disco:

  1. Caricare il programma CDISK673 con LOAD”CDISK673″,8,1 in modo da evitarne la rilocazione in memoria.
  2. Inserire la cassetta con il programma da copiare, già posizionata al punto giusto
  3. SYS 673 – apparirà “PRESS PLAY ON TAPE”
  4. Premere PLAY sul registratore e attendere il caricamento. A fine caricamento lo schermo diventa nero, segno che possiamo ora salvare il file caricato sul disco.
  5. Inserire nel disk drive (device n.8) il floppy su cui andremo a registrare la copia.
  6. Premere RETURN. Lo schermo ritornerà del colore normale (bianco e azzurro), il floppy inizierà girare: attendere semplicemente la fine della copia.

Copiare su emulatori

La procedura vista funziona tranquillamente anche sugli emulatori VICE, posto che si vada a collegare l’immagine della cassetta di origine .tap con il comando apposito (solitamente Alt-T). L’emulatore ha, sotto File->Datassette Control i comandi per avviare il nastro, fermarlo, premere REC, eccetera.

Se vorremo salvare il file su una “cassetta” virtuale vuota sarà sufficiente collegarla al momento del cambio (schermo nero) usando ancora Alt-T e premendo il pulsante “New TAP Image – Create Image“. Se vorremo copiare su un dischetto virtuale .d64 useremo il comando abituale (solitamente Alt-8) per collegarlo, anche qui c’è un pulsante per creare una immagine di dischetto vuoto.

COPY673 commentato

Per i più smaliziati, ecco il programma in assembler con qualche commento. Esso potete vederlo facilmente usando VICMON oppure il monitor dell’emulatore, considerando il programma stesso si carica in memoria dalla locazione 673 (esadecimali: 02A1 – 02FC)

02a1   A9 01      LDA #$01
02a3   AA         TAX
02a4   A8         TAY
02a5   20 BA FF   JSR $FFBA	'SETLFS
02a8   A9 00      LDA #$00
02aa   20 BD FF   JSR $FFBD	'SET FILENAME
02ad   20 D5 FF   JSR $FFD5	'LOAD
02b0   A9 0D      LDA #$0D
02b2   20 D2 FF   JSR $FFD2	'OUTPUT CHAR TO CHANNEL
02b5   A9 08      LDA #$08
02b7   8D 0F 90   STA $900F	'SCHERMO NERO
02ba   A9 0F      LDA #$0F
02bc   C5 C5      CMP $C5
02be   D0 FC      BNE $02BC	'ATTENDI PRESSIONE RETURN
02c0   A9 1B      LDA #$1B
02c2   8D 0F 90   STA $900F	'SCHERMO NORMALE
02c5   A9 00      LDA #$00
02c7   85 C6      STA $C6	'SVUOTA BUFFER TASTIERA
02c9   A0 01      LDY #$01
02cb   A2 01      LDX #$01
02cd   A9 01      LDA #$01
02cf   20 BA FF   JSR $FFBA	'SETLFS
02d2   A2 80      LDX #$80
02d4   BD 41 03   LDA $0341,X
02d7   9D 00 02   STA $0200,X
02da   CA         DEX
02db   10 F7      BPL $02D4
02dd   A9 80      LDA #$80
02df   A2 00      LDX #$00
02e1   A0 02      LDY #$02
02e3   20 BD FF   JSR $FFBD	'SET FILENAME
02e6   AD 3D 03   LDA $033D
02e9   85 00      STA $00
02eb   AD 3E 03   LDA $033E
02ee   85 01      STA $01
02f0   A9 00      LDA #$00
02f2   AE 3F 03   LDX $033F
02f5   AC 40 03   LDY $0340
02f8   20 D8 FF   JSR $FFD8	'SAVE

Download

Scarica il dischetto d64 con i due programmi CTAPE673 e CDISK673

 

 


1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *