Autore Topic: Discussione per DUMPARE CASSETTE C16 (nata per la cassetta byte games n6)  (Letto 25015 volte)

Astaroth

  • Dumper the value
  • Utente di edicolac64.com
  • **
  • Post: 97
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #30 il: 30 Agosto 2011, 18:10:57 »
Si mi sono accorto, nella fretta ho scritto n16, ma tanto devo ancora finire con le immagini e inviarlo a Bubusan. Li ho divisi perchè c'era un problema con i giochi a partire da scacchi(è una question del byte da eliminare o meno all'inizio di ogni caricamento). Prendendoli e modificandoli singolarmente ho risolto, in attesa di un audiotap aggiornato. Li ho divisi a mano a partire dal wav, stap non va col C16.
Per i Puffi cmq sul C64 non eravamo messi meglio(un clone triste dell'ottima versione Colecovision), meglio Blagger ma peccato per il sogno di gioventù infranto ;)

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #31 il: 30 Agosto 2011, 19:43:42 »
Ma tanto non è detto che sia quello quello che avrei dovuto vedere io ;)
La cassetta arancione (o nera) con la copertina rosa che non funzionava aveva il gioco che si chiamava proprio "I Puffi" ed era una roba tipo le Algasoft (insomma diffusa solo qui) solo che faceva schifo e non funzionava, insomma chi li fece non era un pirata era un puro e semplice truffatore. Quasi sicuramente non esiste nulla del genere, però quello 0,1% di possibilità che siano capitate cassette difettose ed esista davvero un gioco dei Puffi per C16 (se c'è è amatoriale, certamente non con licenza ufficiale come lo era quello per Colecovision).
D'altronde, pochi sanno che per Amiga esiste un gioco in cui devi far fuori i Puffi chiamato Smurf Hunting, anche quello ovviamente amatoriale (poco meno di Excalation, che se non fosse per me, nessuno avrebbe mai visto fuori da chi frequentava a Napoli "La Camera Oscura").
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #32 il: 30 Agosto 2011, 21:05:25 »
Tra l'altro questo loader è uno dei più facili da fregare per l'autorun...
Vi e' possibile fare una lista completa dei caricatori conosciuti per C16 con tutti i titoli che usano ciascuno di essi ed alcuni esempi di TAP files al fine di supportarli in tapclean, per favore?
So che Massi cadenti mi ha gia' fatto delle segnalazioni e mandato dei file, ma intendo mettere i pezzi del puzzle a posto dopo aver avuto una visione d'insieme. Niente PM o email con enormi allegati, per favore.

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #33 il: 31 Agosto 2011, 02:51:56 »
Ok nella giornata di domani (oggi) preparo un archivio e lo metto su megaupload con i vari esempi, mettendo qui sul forum la spiegazione di cosa contiene.
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #34 il: 31 Agosto 2011, 19:51:04 »
Ecco qua:
http://www.megaupload.com/?d=GXNTVT68
Attenzione al txt allegato.
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #35 il: 01 Settembre 2011, 14:04:15 »
Copio anche qui il txt allegato.

VARI TURBO PER C16
a cura di Massi cadenti <massi punto cadenti chiocciola gmail punto com>
Archivio, dump e documenti sono rilasciati sotto licenza Creative Commons 3.0-by-nc-sa (Attribuzione, Non uso commerciale, Condividi allo stesso modo).

1 - Turbo con cornice che cambia colore
=======================================
Così com'è necessita delle halfwaves.
A detta di Fabrizio Gennari, è possibile modificarlo in modo che non le necessiti.
E' utilizzato nelle varie cassette *Games (Byte Games ecc.) delle edizioni Computer/Fermont nonché in "Special Vic20/C16" delle edizioni Pubblirome/Edigamma.
La particolarità di questo turbo è l'utilizzo di tutti i 121 colori del C16, per gruppi di 16, nella cornice: in pratica la cornice utilizza uno per volta i 16 colori base e le 16 luminosità contemporaneamente (quando passa il nero è ovviamente tutta nera).
Vedete che ci sono due versioni di Byte Games 5. Una (quella dumpata con MTAP) è stata la prima versione dumpata e rilasciata (e presente su EdicolaC64), l'altra (dumpata con il DC2N) è stata dumpata in seguito. La differenza tra le due è che quella dumpata con MTAP non passa il parse del VICE, pur funzionando correttamente. Vale a dire che in VICE 2.3 (attenzione non nelle versioni precedenti che non hanno nessun parse per il C16), caricando la versione dumpata con DC2N è possibile vedere l'elenco dei programmi, mentre caricando la versione dumpata con MTAP non è possibile. Questo può essere utile anche per cercare di capire le differenze tra le due versioni e come mai una genera questo problema e l'altra no, e magari includere in TapClean o simile qualcosa che permetta di sistemare il problema.
Nella versione usata in Special Vic20/C16, in alcuni giochi (non tutti) è possibile inibire l'autostart dei giochi tenendo premuto il tasto RUN/STOP (tasto ESC della tastiera del PC in VICE, tasto TAB della tastiera del PC in YAPE). Questo non è possibile nella versione usata in Byte Games. Probabilmente dipende dal fatto se i giochi hanno una linea BASIC o se vengono lanciati dal turbo direttamente con la sys. Un esempio di gioco che si può fermare è il primo, "IL LEGIONARIO". Se usate una macchina con più di 16K è possibile anche listare la sys di partenza.
Il loader del turbo parte in automatico anche se caricato dal monitor del C16, quindi per esaminarlo dovremo per forza usare il monitor interno al VICE.
I puntatori sono sballati (stando al buffer di cassetta il loader occuperebbe solo tre byte da $0324 a $0326, il che è impossibile).
Le mie conoscenze finiscono qua. Comunque Fabrizio Gennari sicuramente ne ha capito molto più di me.
Sarebbe bello sapere in realtà dove viene caricato il loader in modo da disassemblarlo.

2 - Turbo con tutto schermo che cambia colore
=============================================
Sembra derivato direttamente dal precedente.
E' utilizzato in Frank Bruno's Boxing (sulla cassetta ci sono due giochi, Frank Bruno's Boxing è quello che si chiama ELITE, quindi NON IL PRIMO).
Ha le stesse caratteristiche (compresi i puntatori sfalsati che darebbero il caricamento da $0324 a $0326), tranne per il fatto che lo schermo è oscurato e segue i colori del bordo.
E' presa da una cassetta originale della Elite, quindi è possibile che sia stato creato dalla Elite stessa.

3 - Turbo con modalità Fast e audio accelerato
==============================================
Non necessita delle halfwaves.
Spiegazione lunga e complessa, già scritta e distribuita in passato.
Vedi file .url allegato in quella cartella, o visita direttamente
https://groups.google.com/group/it.comp.software.emulatori/msg/85f78f5bdfed4e9f

4 - Turbo Jackson
=================
Non c'è poi molto da dire. Anche questo ovviamente necessita delle halfwaves.
Classiche righe colorate a tutto schermo. Simile in questo al turbo202 per C64.
Il loader, chiamato sempre "{clrhome}{flashon}PREMI TASTO C=" è sempre lo stesso e va da $1001 a $119C e contiene la riga BASIC
Codice: [Seleziona]
10 SYS4462(dove 4462 dec. è $116E).
E' sempre possibile arrestare l'autorun tenendo premuto run/stop (dopo il found del programma in turbo). Il programma si fermerà con un BREAK IN 10 (linea appartenente al loader e non del programma appena caricato).
La parte in L/M disassemblata è la seguente (se qualcuno ha voglia di commentarla è il benvenuto):
Codice: [Seleziona]
. 100d  20 af 06 jsr $06af
. 1010  c9 00    cmp #$00
. 1012  f0 f9    beq $100d
. 1014  85 d1    sta $d1
. 1016  20 dd 06 jsr $06dd
. 1019  91 b6    sta ($b6),y
. 101b  c8       iny
. 101c  c0 c0    cpy #$c0
. 101e  d0 f6    bne $1016
. 1020  f0 2d    beq $104f
. 1022  20 af 06 jsr $06af
. 1025  20 dd 06 jsr $06dd
. 1028  c4 93    cpy $93
. 102a  d0 02    bne $102e
. 102c  91 b4    sta ($b4),y
. 102e  d1 b4    cmp ($b4),y
. 1030  f0 02    beq $1034
. 1032  86 90    stx $90
. 1034  45 d7    eor $d7
. 1036  85 d7    sta $d7
. 1038  e6 b4    inc $b4
. 103a  d0 02    bne $103e
. 103c  e6 b5    inc $b5
. 103e  a5 b4    lda $b4
. 1040  c5 9d    cmp $9d
. 1042  a5 b5    lda $b5
. 1044  e5 9e    sbc $9e
. 1046  90 dd    bcc $1025
. 1048  20 dd 06 jsr $06dd
. 104b  20 42 07 jsr $0742
. 104e  88       dey
. 104f  8c fc 07 sty $07fc
. 1052  58       cli
. 1053  18       clc
. 1054  c8       iny
. 1055  c8       iny
. 1056  4c c8 e8 jmp $e8c8
. 1059  ea       nop
. 105a  ea       nop
. 105b  20 1b e3 jsr $e31b
. 105e  20 42 07 jsr $0742
. 1061  84 d7    sty $d7
. 1063  a9 07    lda #$07
. 1065  8d 04 ff sta $ff04
. 1068  a2 01    ldx #$01
. 106a  20 f0 06 jsr $06f0
. 106d  26 d0    rol $d0
. 106f  a5 d0    lda $d0
. 1071  c9 02    cmp #$02
. 1073  d0 f5    bne $106a
. 1075  a0 09    ldy #$09
. 1077  20 dd 06 jsr $06dd
. 107a  c9 02    cmp #$02
. 107c  f0 f9    beq $1077
. 107e  c4 d0    cpy $d0
. 1080  d0 e8    bne $106a
. 1082  20 dd 06 jsr $06dd
. 1085  88       dey
. 1086  d0 f6    bne $107e
. 1088  60       rts
. 1089  a9 08    lda #$08
. 108b  85 d2    sta $d2
. 108d  20 f0 06 jsr $06f0
. 1090  26 d0    rol $d0
. 1092  ea       nop
. 1093  ea       nop
. 1094  ea       nop
. 1095  c6 d2    dec $d2
. 1097  d0 f4    bne $108d
. 1099  a5 d0    lda $d0
. 109b  60       rts
. 109c  a9 10    lda #$10
. 109e  24 01    bit $01
. 10a0  d0 fc    bne $109e
. 10a2  24 01    bit $01
. 10a4  f0 fc    beq $10a2
. 10a6  ad 09 ff lda $ff09
. 10a9  48       pha
. 10aa  a9 07    lda #$07
. 10ac  8d 04 ff sta $ff04
. 10af  8e 05 ff stx $ff05
. 10b2  a9 40    lda #$40
. 10b4  8d 09 ff sta $ff09
. 10b7  ad 19 ff lda $ff19
. 10ba  69 33    adc #$33
. 10bc  8d 19 ff sta $ff19
. 10bf  68       pla
. 10c0  0a       asl
. 10c1  0a       asl
. 10c2  60       rts
. 10c3  00       brk
. 10c4  20 57 07 jsr $0757
. 10c7  4c 37 07 jmp $0737
. 10ca  ad 13 ff lda $ff13
. 10cd  09 02    ora #$02
. 10cf  8d 13 ff sta $ff13
. 10d2  20 c3 e3 jsr $e3c3
. 10d5  4c 18 07 jmp $0718
. 10d8  ad 13 ff lda $ff13
. 10db  09 02    ora #$02
. 10dd  8d 13 ff sta $ff13
. 10e0  4c 18 07 jmp $0718
. 10e3  ad 13 ff lda $ff13
. 10e6  29 fd    and #$fd
. 10e8  8d 13 ff sta $ff13
. 10eb  4c b7 07 jmp $07b7
. 10ee  a0 00    ldy #$00
. 10f0  8c fc 07 sty $07fc
. 10f3  ad 06 ff lda $ff06
. 10f6  29 ef    and #$ef
. 10f8  8d 06 ff sta $ff06
. 10fb  ca       dex
. 10fc  d0 fd    bne $10fb
. 10fe  88       dey
. 10ff  d0 fa    bne $10fb
. 1101  78       sei
. 1102  60       rts
. 1103  a2 00    ldx #$00
. 1105  a0 01    ldy #$01
. 1107  a9 10    lda #$10
. 1109  86 0a    stx $0a
. 110b  86 93    stx $93
. 110d  84 b4    sty $b4
. 110f  85 b5    sta $b5
. 1111  20 6b a8 jsr $a86b
. 1114  20 71 07 jsr $0771
. 1117  20 0a a8 jsr $a80a
. 111a  4c b7 07 jmp $07b7
. 111d  20 61 06 jsr $0661
. 1120  a5 d1    lda $d1
. 1122  c9 02    cmp #$02
. 1124  f0 06    beq $112c
. 1126  c9 01    cmp #$01
. 1128  d0 f3    bne $111d
. 112a  a9 01    lda #$01
. 112c  20 e8 e9 jsr $e9e8
. 112f  20 c0 8c jsr $8cc0
. 1132  a0 00    ldy #$00
. 1134  84 90    sty $90
. 1136  20 89 f1 jsr $f189
. 1139  ad 35 03 lda $0335
. 113c  38       sec
. 113d  ed 33 03 sbc $0333
. 1140  08       php
. 1141  18       clc
. 1142  65 b4    adc $b4
. 1144  85 9d    sta $9d
. 1146  ad 36 03 lda $0336
. 1149  65 b5    adc $b5
. 114b  28       plp
. 114c  ed 34 03 sbc $0334
. 114f  85 9e    sta $9e
. 1151  20 76 06 jsr $0676
. 1154  a5 d0    lda $d0
. 1156  45 d7    eor $d7
. 1158  05 90    ora $90
. 115a  f0 04    beq $1160
. 115c  a9 ff    lda #$ff
. 115e  85 90    sta $90
. 1160  4c eb f0 jmp $f0eb
. 1163  a5 9d    lda $9d
. 1165  85 2d    sta $2d
. 1167  a5 9e    lda $9e
. 1169  85 2e    sta $2e
. 116b  4c dc 8b jmp $8bdc
. 116e  a9 06    lda #$06
. 1170  85 e6    sta $e6
. 1172  a9 61    lda #$61
. 1174  85 e5    sta $e5
. 1176  a9 10    lda #$10
. 1178  85 e8    sta $e8
. 117a  a9 0d    lda #$0d
. 117c  85 e7    sta $e7
. 117e  a0 00    ldy #$00
. 1180  b1 e7    lda ($e7),y
. 1182  91 e5    sta ($e5),y
. 1184  c8       iny
. 1185  c0 70    cpy #$70
. 1187  f0 0a    beq $1193
. 1189  c0 00    cpy #$00
. 118b  d0 f3    bne $1180
. 118d  e6 e6    inc $e6
. 118f  e6 e8    inc $e8
. 1191  d0 eb    bne $117e
. 1193  a5 e6    lda $e6
. 1195  c9 07    cmp #$07
. 1197  d0 e7    bne $1180
. 1199  4c 1e 07 jmp $071e
. 119c  00       brk

5 - Turbo simile Turbo Tape
===========================
Questo è curiosamente un clone del turbo tape 64 di Stephen Senz, o forse proprio un port ufficiale. Potete vedere il turbo vero e proprio nel T64 "Turbo Tape C16.t64".
Chiaramente (?) necessita delle halfwaves.
La sintassi è :@L (load), :@S (save) e :@V (verify)
Le versioni presenti in Computer Set e in Input sono leggermente modificate.
Partiamo dalla versione presente in Computer Set (ed.Publiflash/Logica 2000).
Esaminiamo il loader di STRIKE EAGLE.
Va da 4097 ($1001) a 4677 ($1245).
Linea BASIC
Codice: [Seleziona]
100 SYS4112(4112 = $1010)
Disassemblato:
Codice: [Seleziona]
. 1010  20 17 81 jsr $8117
. 1013  20 2e 80 jsr $802e
. 1016  20 c2 80 jsr $80c2
. 1019  20 f4 fc jsr $fcf4
. 101c  a2 fb    ldx #$fb
. 101e  9a       txs
. 101f  20 50 10 jsr $1050
. 1022  a2 0a    ldx #$0a   <--- metti 10 ($0a) caratteri...
. 1024  86 ef    stx $ef    <--- ... nel buffer di tastiera
. 1026  bd 60 10 lda $1060,x<--- prendili da $1060 in poi...
. 1029  9d 27 05 sta $0527,x<--- ... e mettili da $0527 in poi
. 102c  ca       dex
. 102d  10 f7    bpl $1026
. 102f  a2 00    ldx #$00
. 1031  bd 7c 10 lda $107c,x
. 1034  9d 7c 05 sta $057c,x
. 1037  bd 45 11 lda $1145,x
. 103a  9d 45 06 sta $0645,x
. 103d  e8       inx
. 103e  d0 f1    bne $1031
. 1040  4c 16 80 jmp $8016
. 1043  00       brk
. 1044  00       brk
. 1045  00       brk
. 1046  00       brk
. 1047  00       brk
. 1048  00       brk
. 1049  00       brk
. 104a  00       brk
. 104b  00       brk
. 104c  00       brk
. 104d  00       brk
. 104e  00       brk
. 104f  00       brk
. 1050  a9 10    lda #$10
. 1052  8d 08 03 sta $0308
. 1055  a9 07    lda #$07
. 1057  8d 09 03 sta $0309
. 105a  60       rts
. 105b  00       brk
. 105c  00       brk
. 105d  00       brk
. 105e  00       brk
. 105f  00       brk
. 1060  3a       ???        <--- carattere :
. 1061  40       rti        <--- carattere @
. 1062  4c 22 22 jmp $2222  <--- caratteri L""
. 1065  2c 31 2c bit $2c31  <--- caratteri ,1,
. 1068  31 0d    and ($0d),y<--- caratteri 1 e return
. 106a  00       brk
. 106b  00       brk
. 106c  00       brk
. 106d  00       brk
. 106e  00       brk
. 106f  00       brk
. 1070  00       brk
. 1071  00       brk
. 1072  00       brk
. 1073  00       brk
. 1074  00       brk
. 1075  00       brk
. 1076  00       brk
. 1077  00       brk
. 1078  00       brk
. 1079  00       brk
. 107a  00       brk
. 107b  00       brk
. 107c  a0 00    ldy #$00
. 107e  8c fc 07 sty $07fc
. 1081  ad 06 ff lda $ff06
. 1084  29 ef    and #$ef
. 1086  8d 06 ff sta $ff06
. 1089  ca       dex
. 108a  d0 fd    bne $1089
. 108c  88       dey
. 108d  d0 fa    bne $1089
. 108f  78       sei
. 1090  60       rts
. 1091  a0 00    ldy #$00
. 1093  a9 02    lda #$02
. 1095  20 b1 05 jsr $05b1
. 1098  a2 07    ldx #$07
. 109a  88       dey
. 109b  c0 09    cpy #$09
. 109d  d0 f4    bne $1093
. 109f  a2 05    ldx #$05
. 10a1  c6 d1    dec $d1
. 10a3  d0 ee    bne $1093
. 10a5  98       tya
. 10a6  20 b1 05 jsr $05b1
. 10a9  a2 07    ldx #$07
. 10ab  88       dey
. 10ac  d0 f7    bne $10a5
. 10ae  ca       dex
. 10af  ca       dex
. 10b0  60       rts
. 10b1  85 d0    sta $d0
. 10b3  45 d7    eor $d7
. 10b5  85 d7    sta $d7
. 10b7  a9 08    lda #$08
. 10b9  85 d2    sta $d2
. 10bb  06 d0    asl $d0
. 10bd  a5 01    lda $01
. 10bf  29 fd    and #$fd
. 10c1  20 d3 05 jsr $05d3
. 10c4  a2 11    ldx #$11
. 10c6  ea       nop
. 10c7  09 02    ora #$02
. 10c9  20 d3 05 jsr $05d3
. 10cc  a2 0e    ldx #$0e
. 10ce  c6 d2    dec $d2
. 10d0  d0 e9    bne $10bb
. 10d2  60       rts
. 10d3  ca       dex
. 10d4  d0 fd    bne $10d3
. 10d6  90 05    bcc $10dd
. 10d8  a2 0b    ldx #$0b
. 10da  ca       dex
. 10db  d0 fd    bne $10da
. 10dd  85 01    sta $01
. 10df  60       rts
. 10e0  a2 00    ldx #$00
. 10e2  2c a2 01 bit $01a2
. 10e5  a4 2b    ldy $2b
. 10e7  a5 2c    lda $2c
. 10e9  86 0a    stx $0a
. 10eb  86 93    stx $93
. 10ed  84 b4    sty $b4
. 10ef  85 b5    sta $b5
. 10f1  20 6b a8 jsr $a86b
. 10f4  20 fd 05 jsr $05fd
. 10f7  20 0a a8 jsr $a80a
. 10fa  4c 03 87 jmp $8703
. 10fd  20 61 06 jsr $0661
. 1100  a5 d1    lda $d1
. 1102  c9 02    cmp #$02
. 1104  f0 08    beq $110e
. 1106  c9 01    cmp #$01
. 1108  d0 f3    bne $10fd
. 110a  a5 ad    lda $ad
. 110c  f0 0a    beq $1118
. 110e  ad 33 03 lda $0333
. 1111  85 b4    sta $b4
. 1113  ad 34 03 lda $0334
. 1116  85 b5    sta $b5
. 1118  20 e8 e9 jsr $e9e8
. 111b  ea       nop
. 111c  ea       nop
. 111d  ea       nop
. 111e  ea       nop
. 111f  ea       nop
. 1120  20 c0 8c jsr $8cc0
. 1123  a4 ab    ldy $ab
. 1125  f0 0b    beq $1132
. 1127  88       dey
. 1128  b1 af    lda ($af),y
. 112a  d9 38 03 cmp $0338,y
. 112d  d0 ce    bne $10fd
. 112f  98       tya
. 1130  d0 f5    bne $1127
. 1132  84 90    sty $90
. 1134  20 89 f1 jsr $f189
. 1137  ad 35 03 lda $0335
. 113a  38       sec
. 113b  ed 33 03 sbc $0333
. 113e  08       php
. 113f  18       clc
. 1140  65 b4    adc $b4
. 1142  85 9d    sta $9d
. 1144  ad 36 03 lda $0336
. 1147  65 b5    adc $b5
. 1149  28       plp
. 114a  ed 34 03 sbc $0334
. 114d  85 9e    sta $9e
. 114f  20 76 06 jsr $0676
. 1152  a5 d0    lda $d0
. 1154  45 d7    eor $d7
. 1156  05 90    ora $90
. 1158  f0 04    beq $115e
. 115a  a9 ff    lda #$ff
. 115c  85 90    sta $90
. 115e  4c eb f0 jmp $f0eb
. 1161  20 af 06 jsr $06af
. 1164  c9 00    cmp #$00
. 1166  f0 f9    beq $1161
. 1168  85 d1    sta $d1
. 116a  20 dd 06 jsr $06dd
. 116d  91 b6    sta ($b6),y
. 116f  c8       iny
. 1170  c0 c0    cpy #$c0
. 1172  d0 f6    bne $116a
. 1174  f0 2d    beq $11a3
. 1176  20 af 06 jsr $06af
. 1179  20 dd 06 jsr $06dd
. 117c  c4 93    cpy $93
. 117e  d0 02    bne $1182
. 1180  91 b4    sta ($b4),y
. 1182  d1 b4    cmp ($b4),y
. 1184  f0 02    beq $1188
. 1186  86 90    stx $90
. 1188  45 d7    eor $d7
. 118a  85 d7    sta $d7
. 118c  e6 b4    inc $b4
. 118e  d0 02    bne $1192
. 1190  e6 b5    inc $b5
. 1192  a5 b4    lda $b4
. 1194  c5 9d    cmp $9d
. 1196  a5 b5    lda $b5
. 1198  e5 9e    sbc $9e
. 119a  90 dd    bcc $1179
. 119c  20 dd 06 jsr $06dd
. 119f  20 7c 05 jsr $057c
. 11a2  88       dey
. 11a3  8c fc 07 sty $07fc
. 11a6  58       cli
. 11a7  18       clc
. 11a8  c8       iny
. 11a9  c8       iny
. 11aa  4c c8 e8 jmp $e8c8
. 11ad  ea       nop
. 11ae  ea       nop
. 11af  20 1b e3 jsr $e31b
. 11b2  20 7c 05 jsr $057c
. 11b5  84 d7    sty $d7
. 11b7  a9 07    lda #$07
. 11b9  8d 04 ff sta $ff04
. 11bc  a2 01    ldx #$01
. 11be  20 f0 06 jsr $06f0
. 11c1  26 d0    rol $d0
. 11c3  a5 d0    lda $d0
. 11c5  c9 02    cmp #$02
. 11c7  d0 f5    bne $11be
. 11c9  a0 09    ldy #$09
. 11cb  20 dd 06 jsr $06dd
. 11ce  c9 02    cmp #$02
. 11d0  f0 f9    beq $11cb
. 11d2  c4 d0    cpy $d0
. 11d4  d0 e8    bne $11be
. 11d6  20 dd 06 jsr $06dd
. 11d9  88       dey
. 11da  d0 f6    bne $11d2
. 11dc  60       rts
. 11dd  a9 08    lda #$08
. 11df  85 d2    sta $d2
. 11e1  20 f0 06 jsr $06f0
. 11e4  26 d0    rol $d0
. 11e6  ea       nop
. 11e7  ea       nop
. 11e8  ea       nop
. 11e9  c6 d2    dec $d2
. 11eb  d0 f4    bne $11e1
. 11ed  a5 d0    lda $d0
. 11ef  60       rts
. 11f0  a9 10    lda #$10
. 11f2  24 01    bit $01
. 11f4  d0 fc    bne $11f2
. 11f6  24 01    bit $01
. 11f8  f0 fc    beq $11f6
. 11fa  ad 09 ff lda $ff09
. 11fd  48       pha
. 11fe  a9 07    lda #$07
. 1200  8d 04 ff sta $ff04
. 1203  8e 05 ff stx $ff05
. 1206  a9 40    lda #$40
. 1208  8d 09 ff sta $ff09
. 120b  68       pla
. 120c  0a       asl
. 120d  0a       asl
. 120e  60       rts
. 120f  00       brk
. 1210  20 73 04 jsr $0473
. 1213  f0 04    beq $1219
. 1215  c9 40    cmp #$40
. 1217  f0 03    beq $121c
. 1219  4c d9 8b jmp $8bd9
. 121c  ad 13 ff lda $ff13
. 121f  09 02    ora #$02
. 1221  8d 13 ff sta $ff13
. 1224  20 c3 e3 jsr $e3c3
. 1227  20 73 04 jsr $0473
. 122a  c9 4c    cmp #$4c
. 122c  f0 03    beq $1231
. 122e  4c a1 94 jmp $94a1
. 1231  20 73 04 jsr $0473
. 1234  20 17 81 jsr $8117
. 1237  a9 e5    lda #$e5   <--- metti byte basso del programma... ($e5 in questo caso)
. 1239  8d 02 03 sta $0302  <--- ... in $0302 (dec.770)
. 123c  a9 20    lda #$20   <--- metti byte alto del programma... ($20 in questo caso)
. 123e  8d 03 03 sta $0303  <--- ... in $0303 (dec.771)
. 1241  20 e0 05 jsr $05e0
. 1244  00       brk
La parte che ci interessa è da $1237 in poi, perché lì sono contenuti i byte basso ed alto del programma da lanciare.
Gli altri loader sono simili tranne per questa parte.
Se però il programma da lanciare è in BASIC (es. Music Master sulla stessa cassetta)
Codice: [Seleziona]
. 1022  a2 07    ldx #$07...
Codice: [Seleziona]
. 1062  4c 0d 52 jmp $520d
. 1065  75 0d    adc $0d,x
... e soprattutto
Codice: [Seleziona]
. 1234  a5 2e    lda $2e
. 1236  c9 11    cmp #$11
. 1238  90 03    bcc $123d
. 123a  20 17 81 jsr $8117
. 123d  20 e0 05 jsr $05e0
quindi come si vede i puntatori mancano completamente.
Passiamo ora alla versione presente in Input.
La versione presente in Input (ed.Pubblirome/Edigamma) è diversa: c'è un programma BASIC di 3 righe che crea una finestra video e creerà anche problemi al gioco "IL BARO" (scritto in BASIC) che si avvierà nella suddetta finestra.
L'intero loader va da $1001 a $1410 (dec.4097-5136).
Codice: [Seleziona]
1 COLOR0,1:COLOR4,1:PRINT"{clrhome}{black}
230 PRINT"{clrhome}{20down}"chr$(27)"T{white}"
240 CLR:SYS4312
La prima riga mette neri bordo e sfondo e ripulisce il video.
La seconda si occupa di creare la finestra nelle ultime quattro righe.
La terza fa partire la routine in L/M.
Il loader in L/M è il seguente (uguale sempre, per tutti e 5 i giochi):
Codice: [Seleziona]
d 1048
. 1048  41 80    eor ($80,x)
. 104a  01 fd    ora ($fd,x)
. 104c  fc       ???
. 104d  00       brk
. 104e  00       brk
. 104f  13       ???
. 1050  dc       ???
. 1051  00       brk
. 1052  a1 41    lda ($41,x)
. 1054  24 3a    bit $3a
. 1056  8b       ???
. 1057  41 24    eor ($24,x)
. 1059  b2       ???
. 105a  41 80    eor ($80,x)
. 105c  01 fd    ora ($fd,x)
. 105e  fc       ???
. 105f  00       brk
. 1060  00       brk
. 1061  13       ???
. 1062  dc       ???
. 1063  00       brk
. 1064  a1 41    lda ($41,x)
. 1066  24 3a    bit $3a
. 1068  8b       ???
. 1069  41 24    eor ($24,x)
. 106b  b2       ???
. 106c  22       ???
. 106d  22       ???
. 106e  a7       ???
. 106f  32       ???
. 1070  32       ???
. 1071  30 00    bmi $1073
. 1073  5d 13 e1 eor $e113,x
. 1076  00       brk
. 1077  9c       ???
. 1078  3a       ???
. 1079  9e       ???
. 107a  31 36    and ($36),y
. 107c  31 32    and ($32),y
. 107e  38       sec
. 107f  00       brk
. 1080  00       brk
. 1081  00       brk
. 1082  41 80    eor ($80,x)
. 1084  01 ec    ora ($ec,x)
. 1086  97       ???
. 1087  00       brk
. 1088  00       brk
. 1089  f0 58    beq $10e3
. 108b  4c 41 80 jmp $8041
. 108e  01 fd    ora ($fd,x)
. 1090  fc       ???
. 1091  00       brk
. 1092  00       brk
. 1093  00       brk
. 1094  3f       ???
. 1095  bd 00 15 lda $1500,x
. 1098  9d 00 0d sta $0d00,x
. 109b  bd 00 16 lda $1600,x
. 109e  9d 00 0e sta $0e00,x
. 10a1  bd 00 17 lda $1700,x
. 10a4  9d 00 0f sta $0f00,x
. 10a7  e8       inx
. 10a8  d0 e2    bne $108c
. 10aa  ea       nop
. 10ab  ea       nop
. 10ac  ea       nop
. 10ad  ea       nop
. 10ae  ea       nop
. 10af  4c 50 0c jmp $0c50
. 10b2  ea       nop
. 10b3  ea       nop
. 10b4  ea       nop
. 10b5  ea       nop
. 10b6  4c 50 0c jmp $0c50
. 10b9  ea       nop
. 10ba  ea       nop
. 10bb  ea       nop
. 10bc  4c 50 0c jmp $0c50
. 10bf  ea       nop
. 10c0  ea       nop
. 10c1  ea       nop
. 10c2  ea       nop
. 10c3  ea       nop
. 10c4  ea       nop
. 10c5  ea       nop
. 10c6  ea       nop
. 10c7  ea       nop
. 10c8  ea       nop
. 10c9  20 a2 00 jsr $00a2
. 10cc  bd 00 14 lda $1400,x
. 10cf  9d 00 0c sta $0c00,x
. 10d2  bd 00 15 lda $1500,x
. 10d5  9d 00 0d sta $0d00,x
. 10d8  a2 00    ldx #$00
. 10da  bd 00 11 lda $1100,x
. 10dd  9d 00 0c sta $0c00,x
. 10e0  bd 00 12 lda $1200,x
. 10e3  9d 00 0d sta $0d00,x
. 10e6  bd 00 13 lda $1300,x
. 10e9  9d 00 0e sta $0e00,x
. 10ec  bd 00 14 lda $1400,x
. 10ef  9d 00 0f sta $0f00,x
. 10f2  e8       inx
. 10f3  d0 e5    bne $10da
. 10f5  20 50 0c jsr $0c50
. 10f8  4c 00 0c jmp $0c00
. 10fb  00       brk
. 10fc  00       brk
. 10fd  00       brk
. 10fe  00       brk
. 10ff  00       brk
. 1100  ea       nop
. 1101  ea       nop
. 1102  ea       nop
. 1103  ea       nop
. 1104  ea       nop
. 1105  ea       nop
. 1106  ea       nop
. 1107  ea       nop
. 1108  ea       nop
. 1109  ea       nop
. 110a  20 17 81 jsr $8117
. 110d  20 2e 80 jsr $802e
. 1110  20 c2 80 jsr $80c2
. 1113  20 f4 fc jsr $fcf4
. 1116  a2 fb    ldx #$fb
. 1118  9a       txs
. 1119  20 50 0c jsr $0c50
. 111c  a2 07    ldx #$07   <--- metti 7 ($07) caratteri...
. 111e  86 ef    stx $ef    <--- ... nel buffer di tastiera
. 1120  bd 40 11 lda $1140,x<--- prendili da $1140 in poi...
. 1123  9d 27 05 sta $0527,x<--- ... e mettili da $0527 in poi
. 1126  ca       dex
. 1127  10 f7    bpl $1120
. 1129  4c 16 80 jmp $8016
. 112c  00       brk
. 112d  00       brk
. 112e  00       brk
. 112f  00       brk
. 1130  00       brk
. 1131  00       brk
. 1132  00       brk
. 1133  00       brk
. 1134  00       brk
. 1135  00       brk
. 1136  00       brk
. 1137  00       brk
. 1138  00       brk
. 1139  00       brk
. 113a  00       brk
. 113b  00       brk
. 113c  00       brk
. 113d  00       brk
. 113e  00       brk
. 113f  00       brk
. 1140  3a       ???      <--- carattere :
. 1141  40       rti      <--- carattere @
. 1142  4c 0d 52 jmp $520d<--- caratteri L, return e R
. 1145  75 0d    adc $0d,x<--- carattere "U shiftata" e return
. 1147  00       brk
. 1148  00       brk
. 1149  00       brk
. 114a  00       brk
. 114b  00       brk
. 114c  00       brk
. 114d  00       brk
. 114e  00       brk
. 114f  00       brk
. 1150  a9 5b    lda #$5b
. 1152  8d 08 03 sta $0308
. 1155  a9 0c    lda #$0c
. 1157  8d 09 03 sta $0309
. 115a  60       rts
. 115b  20 73 04 jsr $0473
. 115e  f0 04    beq $1164
. 1160  c9 40    cmp #$40
. 1162  f0 30    beq $1194
. 1164  4c d9 8b jmp $8bd9
. 1167  20 73 04 jsr $0473
. 116a  c9 53    cmp #$53
. 116c  f0 0b    beq $1179
. 116e  c9 4c    cmp #$4c
. 1170  f0 10    beq $1182
. 1172  c9 56    cmp #$56
. 1174  f0 15    beq $118b
. 1176  4c a1 94 jmp $94a1
. 1179  20 73 04 jsr $0473
. 117c  20 f0 0c jsr $0cf0
. 117f  4c b0 0c jmp $0cb0
. 1182  20 73 04 jsr $0473
. 1185  20 a5 0c jsr $0ca5
. 1188  4c b0 0c jmp $0cb0
. 118b  20 73 04 jsr $0473
. 118e  20 e3 0d jsr $0de3
. 1191  4c b0 0c jmp $0cb0
. 1194  ad 13 ff lda $ff13
. 1197  09 02    ora #$02
. 1199  8d 13 ff sta $ff13
. 119c  20 c3 e3 jsr $e3c3
. 119f  4c 67 0c jmp $0c67
. 11a2  00       brk
. 11a3  00       brk
. 11a4  00       brk
. 11a5  20 17 81 jsr $8117
. 11a8  20 e0 0d jsr $0de0
. 11ab  60       rts
. 11ac  00       brk
. 11ad  00       brk
. 11ae  00       brk
. 11af  00       brk
. 11b0  ad 13 ff lda $ff13
. 11b3  29 fd    and #$fd
. 11b5  8d 13 ff sta $ff13
. 11b8  4c dc 8b jmp $8bdc
. 11bb  00       brk
. 11bc  00       brk
. 11bd  00       brk
. 11be  00       brk
. 11bf  00       brk
. 11c0  00       brk
. 11c1  00       brk
. 11c2  00       brk
. 11c3  00       brk
. 11c4  00       brk
. 11c5  00       brk
. 11c6  00       brk
. 11c7  00       brk
. 11c8  00       brk
. 11c9  00       brk
. 11ca  00       brk
. 11cb  00       brk
. 11cc  00       brk
. 11cd  00       brk
. 11ce  00       brk
. 11cf  00       brk
. 11d0  00       brk
. 11d1  00       brk
. 11d2  00       brk
. 11d3  00       brk
. 11d4  00       brk
. 11d5  00       brk
. 11d6  00       brk
. 11d7  00       brk
. 11d8  00       brk
. 11d9  00       brk
. 11da  00       brk
. 11db  00       brk
. 11dc  00       brk
. 11dd  00       brk
. 11de  00       brk
. 11df  00       brk
. 11e0  00       brk
. 11e1  00       brk
. 11e2  00       brk
. 11e3  00       brk
. 11e4  00       brk
. 11e5  00       brk
. 11e6  00       brk
. 11e7  00       brk
. 11e8  00       brk
. 11e9  00       brk
. 11ea  00       brk
. 11eb  00       brk
. 11ec  00       brk
. 11ed  00       brk
. 11ee  00       brk
. 11ef  00       brk
. 11f0  4c 87 ff jmp $ff87
. 11f3  00       brk
. 11f4  00       brk
. 11f5  00       brk
. 11f6  00       brk
. 11f7  00       brk
. 11f8  00       brk
. 11f9  00       brk
. 11fa  00       brk
. 11fb  00       brk
. 11fc  00       brk
. 11fd  00       brk
. 11fe  00       brk
. 11ff  00       brk
. 1200  00       brk
. 1201  00       brk
. 1202  00       brk
. 1203  00       brk
. 1204  00       brk
. 1205  00       brk
. 1206  00       brk
. 1207  00       brk
. 1208  00       brk
. 1209  00       brk
. 120a  00       brk
. 120b  00       brk
. 120c  00       brk
. 120d  00       brk
. 120e  00       brk
. 120f  00       brk
. 1210  00       brk
. 1211  00       brk
. 1212  00       brk
. 1213  00       brk
. 1214  00       brk
. 1215  00       brk
. 1216  00       brk
. 1217  00       brk
. 1218  00       brk
. 1219  00       brk
. 121a  00       brk
. 121b  00       brk
. 121c  00       brk
. 121d  00       brk
. 121e  00       brk
. 121f  00       brk
. 1220  00       brk
. 1221  00       brk
. 1222  00       brk
. 1223  00       brk
. 1224  00       brk
. 1225  00       brk
. 1226  00       brk
. 1227  00       brk
. 1228  00       brk
. 1229  00       brk
. 122a  00       brk
. 122b  00       brk
. 122c  00       brk
. 122d  00       brk
. 122e  00       brk
. 122f  00       brk
. 1230  00       brk
. 1231  00       brk
. 1232  00       brk
. 1233  00       brk
. 1234  00       brk
. 1235  00       brk
. 1236  00       brk
. 1237  00       brk
. 1238  00       brk
. 1239  00       brk
. 123a  00       brk
. 123b  00       brk
. 123c  00       brk
. 123d  00       brk
. 123e  00       brk
. 123f  00       brk
. 1240  00       brk
. 1241  00       brk
. 1242  00       brk
. 1243  00       brk
. 1244  00       brk
. 1245  00       brk
. 1246  00       brk
. 1247  00       brk
. 1248  00       brk
. 1249  00       brk
. 124a  00       brk
. 124b  00       brk
. 124c  00       brk
. 124d  00       brk
. 124e  00       brk
. 124f  00       brk
. 1250  00       brk
. 1251  00       brk
. 1252  00       brk
. 1253  00       brk
. 1254  00       brk
. 1255  00       brk
. 1256  00       brk
. 1257  00       brk
. 1258  00       brk
. 1259  00       brk
. 125a  00       brk
. 125b  00       brk
. 125c  00       brk
. 125d  00       brk
. 125e  00       brk
. 125f  00       brk
. 1260  00       brk
. 1261  00       brk
. 1262  00       brk
. 1263  00       brk
. 1264  00       brk
. 1265  00       brk
. 1266  00       brk
. 1267  00       brk
. 1268  00       brk
. 1269  00       brk
. 126a  00       brk
. 126b  00       brk
. 126c  00       brk
. 126d  00       brk
. 126e  00       brk
. 126f  00       brk
. 1270  00       brk
. 1271  00       brk
. 1272  00       brk
. 1273  00       brk
. 1274  00       brk
. 1275  00       brk
. 1276  00       brk
. 1277  00       brk
. 1278  00       brk
. 1279  00       brk
. 127a  00       brk
. 127b  00       brk
. 127c  a0 00    ldy #$00
. 127e  8c fc 07 sty $07fc
. 1281  ad 06 ff lda $ff06
. 1284  29 ef    and #$ef
. 1286  8d 06 ff sta $ff06
. 1289  ca       dex
. 128a  d0 fd    bne $1289
. 128c  88       dey
. 128d  d0 fa    bne $1289
. 128f  78       sei
. 1290  60       rts
. 1291  a0 00    ldy #$00
. 1293  a9 02    lda #$02
. 1295  20 b1 0d jsr $0db1
. 1298  a2 07    ldx #$07
. 129a  88       dey
. 129b  c0 09    cpy #$09
. 129d  d0 f4    bne $1293
. 129f  a2 05    ldx #$05
. 12a1  c6 d1    dec $d1
. 12a3  d0 ee    bne $1293
. 12a5  98       tya
. 12a6  20 b1 0d jsr $0db1
. 12a9  a2 07    ldx #$07
. 12ab  88       dey
. 12ac  d0 f7    bne $12a5
. 12ae  ca       dex
. 12af  ca       dex
. 12b0  60       rts
. 12b1  85 d0    sta $d0
. 12b3  45 d7    eor $d7
. 12b5  85 d7    sta $d7
. 12b7  a9 08    lda #$08
. 12b9  85 d2    sta $d2
. 12bb  06 d0    asl $d0
. 12bd  a5 01    lda $01
. 12bf  29 fd    and #$fd
. 12c1  20 d3 0d jsr $0dd3
. 12c4  a2 11    ldx #$11
. 12c6  ea       nop
. 12c7  09 02    ora #$02
. 12c9  20 d3 0d jsr $0dd3
. 12cc  a2 0e    ldx #$0e
. 12ce  c6 d2    dec $d2
. 12d0  d0 e9    bne $12bb
. 12d2  60       rts
. 12d3  ca       dex
. 12d4  d0 fd    bne $12d3
. 12d6  90 05    bcc $12dd
. 12d8  a2 0b    ldx #$0b
. 12da  ca       dex
. 12db  d0 fd    bne $12da
. 12dd  85 01    sta $01
. 12df  60       rts
. 12e0  a2 00    ldx #$00
. 12e2  2c a2 01 bit $01a2
. 12e5  a4 2b    ldy $2b
. 12e7  a5 2c    lda $2c
. 12e9  86 0a    stx $0a
. 12eb  86 93    stx $93
. 12ed  84 b4    sty $b4
. 12ef  85 b5    sta $b5
. 12f1  20 6b a8 jsr $a86b
. 12f4  20 fd 0d jsr $0dfd
. 12f7  20 0a a8 jsr $a80a
. 12fa  4c 03 87 jmp $8703
. 12fd  20 61 0e jsr $0e61
. 1300  a5 d1    lda $d1
. 1302  c9 02    cmp #$02
. 1304  f0 08    beq $130e
. 1306  c9 01    cmp #$01
. 1308  d0 f3    bne $12fd
. 130a  a5 ad    lda $ad
. 130c  f0 0a    beq $1318
. 130e  ad 33 03 lda $0333
. 1311  85 b4    sta $b4
. 1313  ad 34 03 lda $0334
. 1316  85 b5    sta $b5
. 1318  20 e8 e9 jsr $e9e8
. 131b  ea       nop
. 131c  ea       nop
. 131d  ea       nop
. 131e  ea       nop
. 131f  ea       nop
. 1320  20 c0 8c jsr $8cc0
. 1323  a4 ab    ldy $ab
. 1325  f0 0b    beq $1332
. 1327  88       dey
. 1328  b1 af    lda ($af),y
. 132a  d9 38 03 cmp $0338,y
. 132d  d0 ce    bne $12fd
. 132f  98       tya
. 1330  d0 f5    bne $1327
. 1332  84 90    sty $90
. 1334  20 89 f1 jsr $f189
. 1337  ad 35 03 lda $0335
. 133a  38       sec
. 133b  ed 33 03 sbc $0333
. 133e  08       php
. 133f  18       clc
. 1340  65 b4    adc $b4
. 1342  85 9d    sta $9d
. 1344  ad 36 03 lda $0336
. 1347  65 b5    adc $b5
. 1349  28       plp
. 134a  ed 34 03 sbc $0334
. 134d  85 9e    sta $9e
. 134f  20 76 0e jsr $0e76
. 1352  a5 d0    lda $d0
. 1354  45 d7    eor $d7
. 1356  05 90    ora $90
. 1358  f0 04    beq $135e
. 135a  a9 ff    lda #$ff
. 135c  85 90    sta $90
. 135e  4c eb f0 jmp $f0eb
. 1361  20 af 0e jsr $0eaf
. 1364  c9 00    cmp #$00
. 1366  f0 f9    beq $1361
. 1368  85 d1    sta $d1
. 136a  20 dd 0e jsr $0edd
. 136d  91 b6    sta ($b6),y
. 136f  c8       iny
. 1370  c0 c0    cpy #$c0
. 1372  d0 f6    bne $136a
. 1374  f0 2d    beq $13a3
. 1376  20 af 0e jsr $0eaf
. 1379  20 dd 0e jsr $0edd
. 137c  c4 93    cpy $93
. 137e  d0 02    bne $1382
. 1380  91 b4    sta ($b4),y
. 1382  d1 b4    cmp ($b4),y
. 1384  f0 02    beq $1388
. 1386  86 90    stx $90
. 1388  45 d7    eor $d7
. 138a  85 d7    sta $d7
. 138c  e6 b4    inc $b4
. 138e  d0 02    bne $1392
. 1390  e6 b5    inc $b5
. 1392  a5 b4    lda $b4
. 1394  c5 9d    cmp $9d
. 1396  a5 b5    lda $b5
. 1398  e5 9e    sbc $9e
. 139a  90 dd    bcc $1379
. 139c  20 dd 0e jsr $0edd
. 139f  20 7c 0d jsr $0d7c
. 13a2  88       dey
. 13a3  8c fc 07 sty $07fc
. 13a6  58       cli
. 13a7  18       clc
. 13a8  c8       iny
. 13a9  c8       iny
. 13aa  4c c8 e8 jmp $e8c8
. 13ad  ea       nop
. 13ae  ea       nop
. 13af  20 1b e3 jsr $e31b
. 13b2  20 7c 0d jsr $0d7c
. 13b5  84 d7    sty $d7
. 13b7  a9 07    lda #$07
. 13b9  8d 04 ff sta $ff04
. 13bc  a2 01    ldx #$01
. 13be  20 f0 0e jsr $0ef0
. 13c1  26 d0    rol $d0
. 13c3  a5 d0    lda $d0
. 13c5  c9 02    cmp #$02
. 13c7  d0 f5    bne $13be
. 13c9  a0 09    ldy #$09
. 13cb  20 dd 0e jsr $0edd
. 13ce  c9 02    cmp #$02
. 13d0  f0 f9    beq $13cb
. 13d2  c4 d0    cpy $d0
. 13d4  d0 e8    bne $13be
. 13d6  20 dd 0e jsr $0edd
. 13d9  88       dey
. 13da  d0 f6    bne $13d2
. 13dc  60       rts
. 13dd  a9 08    lda #$08
. 13df  85 d2    sta $d2
. 13e1  20 f0 0e jsr $0ef0
. 13e4  26 d0    rol $d0
. 13e6  ea       nop
. 13e7  ea       nop
. 13e8  ea       nop
. 13e9  c6 d2    dec $d2
. 13eb  d0 f4    bne $13e1
. 13ed  a5 d0    lda $d0
. 13ef  60       rts
. 13f0  a9 10    lda #$10
. 13f2  24 01    bit $01
. 13f4  d0 fc    bne $13f2
. 13f6  24 01    bit $01
. 13f8  f0 fc    beq $13f6
. 13fa  ad 09 ff lda $ff09
. 13fd  48       pha
. 13fe  a9 07    lda #$07
. 1400  8d 04 ff sta $ff04
. 1403  8e 05 ff stx $ff05
. 1406  a9 40    lda #$40
. 1408  8d 09 ff sta $ff09
. 140b  68       pla
. 140c  0a       asl
. 140d  0a       asl
. 140e  60       rts
. 140f  00       brk
. 1410  00       brk

6 - Turbo tipo Novaload
=======================
Così chiamato perché, come il Novaload, ha una schermata fissa con righe di due colori (sempre gli stessi per tutto il caricamento) nella cornice.
L'ho esaminato poco.
Anche questo ovviamente richiede le halfwaves.
I due esempi allegati (n.2 e n.3) si distinguono per il modo con cui è utilizzato.
I falsi puntatori sono uguali a quelli del "Turbo con cornice che cambia colore" e quindi potrebbe esserne un derivato.
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #36 il: 02 Settembre 2011, 00:01:26 »
1 - Turbo con cornice che cambia colore
Trattasi del turbo usato da un freezer. Nessuno sa dirci quale?

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #37 il: 02 Settembre 2011, 00:20:25 »
"1 - Turbo con cornice che cambia colore
... stando al buffer di cassetta il loader occuperebbe solo tre byte da $0324 a $0326, il che è impossibile"

In realta' solo due bytes (gli end address usati dal SO sono sempre intesi esclusivi)!
Ebbene si, la sezione DATA del file che usa il ROM loader e' costituita da soli 2 bytes. 2 bytes suggeriscono un vettore: infatti si tratta di un valore che sostituisce il vettore alla locazione $0324 (RAM, quindi sovrascrivibile) puntando al turbo loader. Il codice del turbo loader inizia a $0348 ed e' contenuto nel buffer di cassetta. Quindi viene caricato in RAM durante il caricamento della sezione HEADER del file che usa il ROM loader.
$0324 punta alla routine CHROUT, che sul C16 si trova di default a $EC4B, responsabile dell'output a video di un carattere. Alla fine di un caricamento standard, il C16 scriverebbe "READY." proprio usando CHROUT, ma poiche' il file caricato modifica tale vettore, a fine caricamento anziche' produrre la scritta "READY.", il SO esegue il turbo loader: siamo di fronte a quello che si definisce "autostart".

Questa tecnica di autostart e' abbastanza tipica in programmi commerciali, visto che il buffer di cassetta fornisce 171 bytes utili per alloggiare un turbo loader e la sezione dati e' ideale per sovrascrivere il valore di un vettore che causa l'autostart del turbo loader.

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #38 il: 02 Settembre 2011, 02:14:32 »
In effetti il dubbio che il loader fosse tutto nel buffer di cassetta m'era venuto: aprendo il monitor di vice prima dell'inizio delle righe sembrava in effetti l'unica parte di memoria cambiata. E in più notavo che il contenuto del buffer di cassetta non cambiava durante il resto del caricamento, ed in effetti credo venga rilocato dal turbo (giusto?).
Avevo poi fatto una prova salvando (da monitor di vice) l'intero buffer cassetta su disco e poi ricaricandolo a computer resettato (ovviamente con ,8,1) senza però che succedesse nulla (m'aspettavo un press play on tape o almeno un cambio dello schermo), evidentemente dovevo lanciarlo con la sys.
Riguardo l'altra domanda, non so sinceramente quale possa essere il freezer. Sul C16 il modo più semplice per sproteggere i programmi è, tranne nei casi (meno rari di quanto si creda) in cui non sono compatibili, utilizzare il Plus4. L'enorme (in proporzione) quantità di RAM disponibile nel Plus4 agevola non poco la vita. E' un po' come quelle utility per C128 pubblicate a suo tempo su CCC che permettevano di rippare grafica e sprite dai giochi del C64.
Non avendo notizia di cartucce sprotettrici tipo Action Replay per C16/+4, mi viene in mente quindi che il freezer sia un software (ovviamente in L/M) per Plus4. L'unico dubbio è su come si possa attivare un freezer software: il metodo più banale sarebbe un reset o un'entrata in monitor per lanciare il freezer (che magari risiede nella ram sopra i 16K), che però cancellerebbe almeno parte della memoria (sicuramente la pagina zero).
Sei sicuro comunque che si tratti di un freezer? Se così fosse, la linea basic che lancia il gioco dovrebbe o esserci sempre o non esserci mai (non avrebbe senso lasciarla a volte sì e a volte no). Inoltre i programmi freezati, tipicamente, quando vengono lanciati stanno un paio di secondi a decruncharsi prima di partire, almeno così è sul C64.
Io penso che sia stato usato non un freezer, ma, più banalmente, un programma tipo il Disk to Tape+ per C64. Insomma qualcosa che partendo da un PRG su disco generi su cassetta sia il loader sia la parte in turbo.

Ah, per chi non lo sapesse, VICE non è in grado di scrivere un TAPv2 con halfwaves: provate a registrare su un TAP nuovo qualunque cosa con il Turbo Tape (quello di :@L) e poi a ricaricarla.
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #39 il: 02 Settembre 2011, 08:15:42 »
Sei sicuro comunque che si tratti di un freezer? Se così fosse, la linea basic che lancia il gioco dovrebbe o esserci sempre o non esserci mai (non avrebbe senso lasciarla a volte sì e a volte no). ...
Io penso che sia stato usato non un freezer, ma, più banalmente, un programma tipo il Disk to Tape+ per C64. Insomma qualcosa che partendo da un PRG su disco generi su cassetta sia il loader sia la parte in turbo.
Ci potrebbero essere piu' versioni o un freezer flessibile che include il boot BASIC oppure no.

Parlo di freezer in quanto cio' che viene caricato e' di solito uno snapshot del gioco in un punto non convenzionale ma statico, tipo l'inserimento del proprio nome nella tabella dei punteggi o il game over (convenzionali sarebbero per esempio i credits o il logo principale).
« Ultima modifica: 02 Settembre 2011, 08:17:01 da luigidifraia »

fab

  • Utente di edicolac64.com
  • *
  • Post: 424
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #40 il: 02 Settembre 2011, 09:50:54 »
1 - Turbo con cornice che cambia colore
Trattasi del turbo usato da un freezer. Nessuno sa dirci quale?
C'e' stato un thread su comp.sys.cbm nel quale questo loader e' venuto fuori. http://groups.google.com/group/comp.sys.cbm/browse_thread/thread/e6240a1151675054/46cc8f93d79d5ed2
« Ultima modifica: 02 Settembre 2011, 09:53:47 da fab »

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #41 il: 02 Settembre 2011, 14:51:52 »
Ci potrebbero essere piu' versioni o un freezer flessibile che include il boot BASIC oppure no.
L'ipotesi delle più versioni sarebbe la più ovvia sulla carta, ma visto che sulla stessa cassetta ci troviamo con giochi con la riga BASIC e altri no, diventa più plausibile l'ipotesi del freezer (ma non sono ancora convinto che lo sia :D) flessibile.

Parlo di freezer in quanto cio' che viene caricato e' di solito uno snapshot del gioco in un punto non convenzionale ma statico, tipo l'inserimento del proprio nome nella tabella dei punteggi o il game over (convenzionali sarebbero per esempio i credits o il logo principale).
Questo è vero tuttavia si tratta di casi singoli (la stragrande maggioranza dei casi NON è così), quindi non ci darei tanta importanza.

Fab, il thread che hai linkato è molto interessante, tuttavia, se non m'è sfuggito qualcosa, non si parla di freezer, ma solo di loader. E su quello credo che siamo tutti d'accordo. :)
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #42 il: 02 Settembre 2011, 20:51:16 »
Fab, il thread che hai linkato è molto interessante, tuttavia, se non m'è sfuggito qualcosa, non si parla di freezer, ma solo di loader. E su quello credo che siamo tutti d'accordo. :)
Una possibilita' sarebbe di trovare un gioco che e' stato salvato usando il mastering tool in questione e i programmatori hanno accidentalmente salvato anche sezioni del masterer (il che e' mi e' capitato di vedere non di rado sul C64 - esempio http://luigidifraia.wordpress.com/2011/05/07/code-leftover/)

luigidifraia

  • Utente di edicolac64.com
  • *
  • Post: 19
    • http://www.luigidifraia.com
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #43 il: 02 Settembre 2011, 21:50:57 »
2 - Turbo con tutto schermo che cambia colore
Identico al Turbo 1, a parte 2 istruzioni (che appunto nel Turbo 2 attivano lo screen blanking).

Massi cadenti

  • Non dimenticatevi *MAI* nei vostri dump del Vic20 e soprattutto del C16/+4!!!
  • Administrator
  • Utente di edicolac64.com
  • *****
  • Post: 884
    • http://massicadenti.altervista.org/algasoft.html
Re:Re:NUOVI DUMP: hit parade n38, trainer games n5, byte games n6
« Risposta #44 il: 02 Settembre 2011, 22:18:55 »
Turbo a tutto schermo che cambia colore
Codice: [Seleziona]
.C:0348   A9 00      LDA #$00
.C:034a   8D 06 FF   STA $FF06
.C:034d   38         SEC
.C:034e   78         SEI
.C:034f   08         PHP
.C:0350   20 93 03   JSR $0393
.C:0353   20 B8 03   JSR $03B8
.C:0356   A8         TAY
.C:0357   A9 00      LDA #$00
.C:0359   85 B2      STA $B2
.C:035b   20 B8 03   JSR $03B8
.C:035e   85 B3      STA $B3
.C:0360   20 B8 03   JSR $03B8
.C:0363   85 2D      STA $2D
.C:0365   20 B8 03   JSR $03B8
.C:0368   85 2E      STA $2E
.C:036a   20 B8 03   JSR $03B8
.C:036d   91 B2      STA ($B2),Y
.C:036f   45 9E      EOR $9E
.C:0371   85 9E      STA $9E
.C:0373   C8         INY
.C:0374   D0 05      BNE $037B
.C:0376   E6 B3      INC $B3
.C:0378   EE 19 FF   INC $FF19
.C:037b   C4 2D      CPY $2D
.C:037d   A5 B3      LDA $B3
.C:037f   E5 2E      SBC $2E
.C:0381   90 E7      BCC $036A
.C:0383   20 B8 03   JSR $03B8
.C:0386   85 9D      STA $9D
.C:0388   A9 08      LDA #$08
.C:038a   85 01      STA $01
.C:038c   28         PLP
.C:038d   B0 01      BCS $0390
.C:038f   60         RTS
.C:0390   4C 00 07   JMP $0700
.C:0393   A9 00      LDA #$00
.C:0395   85 01      STA $01
.C:0397   CA         DEX
.C:0398   D0 FD      BNE $0397
.C:039a   88         DEY
.C:039b   D0 FA      BNE $0397
.C:039d   84 9E      STY $9E
.C:039f   A2 00      LDX #$00
.C:03a1   20 C6 03   JSR $03C6
.C:03a4   26 AC      ROL $AC
.C:03a6   A5 AC      LDA $AC
.C:03a8   C9 10      CMP #$10
.C:03aa   D0 F5      BNE $03A1
.C:03ac   20 B8 03   JSR $03B8
.C:03af   C9 10      CMP #$10
.C:03b1   F0 F9      BEQ $03AC
.C:03b3   C9 5A      CMP #$5A
.C:03b5   D0 EA      BNE $03A1
.C:03b7   60         RTS
.C:03b8   A9 01      LDA #$01
.C:03ba   85 AC      STA $AC
.C:03bc   20 C6 03   JSR $03C6
.C:03bf   26 AC      ROL $AC
.C:03c1   90 F9      BCC $03BC
.C:03c3   A5 AC      LDA $AC
.C:03c5   60         RTS
.C:03c6   A9 10      LDA #$10
.C:03c8   24 01      BIT $01
.C:03ca   D0 FC      BNE $03C8
.C:03cc   24 01      BIT $01
.C:03ce   F0 FC      BEQ $03CC
.C:03d0   2D 09 FF   AND $FF09
.C:03d3   48         PHA
.C:03d4   A9 01      LDA #$01
.C:03d6   A2 78      LDX #$78
.C:03d8   8E 02 FF   STX $FF02
.C:03db   8D 03 FF   STA $FF03
.C:03de   A9 10      LDA #$10
.C:03e0   8D 09 FF   STA $FF09
.C:03e3   AD 19 FF   LDA $FF19
.C:03e6   18         CLC
.C:03e7   69 10      ADC #$10
.C:03e9   8D 19 FF   STA $FF19
.C:03ec   68         PLA
.C:03ed   0A         ASL A
.C:03ee   0A         ASL A
.C:03ef   0A         ASL A
.C:03f0   0A         ASL A
.C:03f1   60         RTS
Cambiamenti in turbo con cornice che cambia colore:
Codice: [Seleziona]
.C:0348   AD 19 FF   LDA $FF19
.C:034b   85 22      STA $22
« Ultima modifica: 02 Settembre 2011, 22:20:35 da Massi cadenti »
I'M *DC2N* POWERED (tnx Luigi Di Fraia) - La mia collezione di cassette (non per vendita né scambio)
PER GLI ACQUISTI NEL MERCATINO IO PAGO SOLO CON PAYPAL E LA COMMISSIONE E' A CARICO VOSTRO