Autore Topic: Kernal load fallisce su 1541 ultimate II plus  (Letto 4591 volte)

marcom_to

  • Neo-iscritto
  • *
  • Post: 43
  • Gioco Preferito: Mean Streak
Kernal load fallisce su 1541 ultimate II plus
« il: 20 Marzo 2018, 19:44:29 »
Ciao a tutti,

giorni fa ho aperto un nuovo topic sulla sezione Aiuto e Domande, sperando che qualcuno sapesse il motivo per cui non riesco a caricare il gioco 'Cave of the word wizard' sul mio 1541 ultimate II plus. Detto questo ho deciso di aprire un nuovo topic qui, perché alla fine vorrei entrare un po' più nei dettagli tecnici (codice assembly), sperando che ci sia qualcuno che se ne intende.

Partirò dai dettagli:

Vorrei caricare il suddetto gioco, la versione GB64, sul mio 1541UII+. Il file da caricare è 'cave of word wiz', il primo file che trovo all'interno dell'immagine del primo disco. Questo file tenta di caricarne un secondo, 'boot1', ma secondo me non riesce a trovarlo.
Allora ho disassemblato il codice e sono andato a vedere che tipo di caricamento fa, ed ho visto che si tratta di una classica kernel load (SETLFS, SETNAM, LOAD). Mi sono accorto che il device 8 è cablato dentro il codice, per cui, volessi caricare il gioco da unità 9, otterrei la risposta DEVICE NOT PRESENT. Di seguito la chiamata:

              LDA #$93                         
              JSR $FFD2                         
              LDA #$06                         
              STA $D020                         
              STA $D021                         
              STA $0286                         
              LDA #$08                         
              LDX #$08                         
              LDY #$01                         
              JSR $FFBA                         
              LDA #$08                         
              LDX #$60                         
              LDY #$01                         
              JSR $FFBD                         
              LDA #$00                         
              LDX #$00                         
              LDY #$40                         
              JSR $FFD5                         
              JMP $8408 

Su vice 3.1, se trascino l'immagine D64 su di esso, il gioco carica. Se invece monto l'immagine, faccio LOAD"$",8 e poi LOAD"*",8,1 non funziona, sia abilitando l'opzione true drive emulation, sia disabilitandola.

Facendo il dump della memoria da vice riesco a vedere il file che tenta di caricare 0:BOOT1.

0161: $30 048   '0'
0162: $3A 058   ':'
0163: $42 066   'B'
0164: $4F 079   'O'
0165: $4F 079   'O'
0166: $54 084   'T'
0167: $31 049   '1'
0168: $2A 042   '*'

Ho sostituito il device 8 con il più conveniente $BA e riassemblato il codice, ma la situazione è sempre la stessa. Qualche idea?
Another visitor! Stay a while. Staaaaay, FOREVER!!!!

clbianco

  • Neo-iscritto
  • *
  • Post: 33
  • Gioco Preferito: GEOS, Zak McKracken, Defender of the Crown, ...
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #1 il: 21 Marzo 2018, 13:12:14 »
Su vice 3.1, se trascino l'immagine D64 su di esso, il gioco carica. Se invece monto l'immagine, faccio LOAD"$",8 e poi LOAD"*",8,1 non funziona, sia abilitando l'opzione true drive emulation, sia disabilitandola.

Ho provato con Vice 3.1 e in effetti il problema è riproducibile. Ma la cosa veramente strana è che se monti l'immagine e poi fai direttamente LOAD"*",8,1 il gioco parte senza problemi! Il problema si verifica solo se prima di avviare il gioco carichi la directory con LOAD"$",8 (cosa che in effetti non serve per avviare il gioco).

Magari stasera provo con la 1541U2 e vedo come si comporta...

Carlo Luciano

marcom_to

  • Neo-iscritto
  • *
  • Post: 43
  • Gioco Preferito: Mean Streak
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #2 il: 21 Marzo 2018, 19:02:36 »
Ciao clbianco,

è come dici tu, su Vice, se prima non leggi la directory, il problema non sussiste. Il mio 1541U II+ comunque fallisce il caricamento anche quando eseguo il run diretto, senza montare l'immagine.
Per ora ho raggirato il problema facendo un backup con la Retro Replay emulata su Vice, salvando il backup nel punto in cui il gioco chiede di scegliere il livello, e poi da li carico dalle immagini D64 regolarmente. Aggiungerei anche che ho provato diverse versioni del gioco, e che tutte si comportano allo stesso modo.

Ciao e grazie.
Another visitor! Stay a while. Staaaaay, FOREVER!!!!

clbianco

  • Neo-iscritto
  • *
  • Post: 33
  • Gioco Preferito: GEOS, Zak McKracken, Defender of the Crown, ...
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #3 il: 22 Marzo 2018, 01:36:40 »
Il mio 1541U II+ comunque fallisce il caricamento anche quando eseguo il run diretto, senza montare l'immagine.

Ho appena provato. La mia 1541U2 (firmware 3.2) si comporta esattamente come il Vice. Se monto l'immagine e poi faccio LOAD"*",8,1 funziona tutto regolarmente. Se invece carico prima la directory, allora si blocca.

Ovviamente se faccio un "run diretto" del file senza montare l'immagine il caricamento fallisce, visto che non può poi trovare gli altri file (visto che l'immagine non è montata).

Se provo invece a fare direttamente "Run Disk" dal menù della 1541U2 (che penso che sia quello che intendi tu con "run diretto", anche se in realtà in questo modo l'immagine viene effettivamente montata), il caricamento fallisce lo stesso. Ma non so quanto questo sia indicativo, magari può essere un problema di come è implementata questa funzione (mount-reset-run) sulla 1541u2. Non è una funzione che uso molto, quindi non so dirti come si comporti in altri casi.

Quindi mi sa che, per usare quel gioco con la 1541u2, la cosa più semplice che puoi fare è montare l'immagine e poi fare manualmente LOAD"*",8,1.

Facci sapere!
Carlo Luciano

marcom_to

  • Neo-iscritto
  • *
  • Post: 43
  • Gioco Preferito: Mean Streak
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #4 il: 23 Marzo 2018, 07:04:27 »
Ciao Carlo Luciano,

grazie per la risposta. Purtroppo a me non funziona. Anch'io ho aggiornato il firmware all'ultima versione (3.2). Se monto il disco e poi eseguo LOAD "*",8,1 , appare READY e se faccio LIST non ottengo nulla. Riesco comunque ad usare il gioco utilizzando il backup che ho creato con la Retro Replay.

Grazie per l'interesse,

Marco
Another visitor! Stay a while. Staaaaay, FOREVER!!!!

clbianco

  • Neo-iscritto
  • *
  • Post: 33
  • Gioco Preferito: GEOS, Zak McKracken, Defender of the Crown, ...
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #5 il: 23 Marzo 2018, 11:52:47 »
Se monto il disco e poi eseguo LOAD "*",8,1 , appare READY e se faccio LIST non ottengo nulla.

Uhm... Strano, a me funziona... Hai provato a disabilitare del tutto la Retro Replay nel menù della 1541u2?

Per la cronaca, oggi è uscito il firmware 3.2a: ora il server FTP e il sampling dei TAP dovrebbero funzionare di nuovo (c'è solo un problema con il DHCP sulle unità non "+").

Carlo Luciano

marcom_to

  • Neo-iscritto
  • *
  • Post: 43
  • Gioco Preferito: Mean Streak
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #6 il: 23 Marzo 2018, 19:25:11 »
Ciao Carlo Luciano,

si, ho disabilitato la RR. Ho provato centinaia di giochi, e personalmente gli unici problemi riscontrati sono sul suddetto gioco e 'beyond castle wolfenstein'. Nulla di preoccupante comunque, la mia era più curiosità. Al momento ho poco tempo per dedicarmi all'assembler, per cui non penso indagherò oltre.

Grazie molte,

Marco
Another visitor! Stay a while. Staaaaay, FOREVER!!!!

marcom_to

  • Neo-iscritto
  • *
  • Post: 43
  • Gioco Preferito: Mean Streak
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #7 il: 24 Marzo 2018, 08:40:46 »
Ciao Carlo Luciano,

grande novità. Ho eseguito il comando MOUNT UNLINKED sul mio 1541UII+ e poi fatto LOAD"*",8,1 e il gioco funziona. Contentissimo  :D

Marco
Another visitor! Stay a while. Staaaaay, FOREVER!!!!

clbianco

  • Neo-iscritto
  • *
  • Post: 33
  • Gioco Preferito: GEOS, Zak McKracken, Defender of the Crown, ...
Re:Kernal load fallisce su 1541 ultimate II plus
« Risposta #8 il: 24 Marzo 2018, 22:21:08 »
si, ho disabilitato la RR.
Allora mi sa che non so proprio cos'altro consigliarti... Stranissimo, a me quel D64 funziona...

grande novità. Ho eseguito il comando MOUNT UNLINKED sul mio 1541UII+ e poi fatto LOAD"*",8,1 e il gioco funziona. Contentissimo  :D
Eh? Come? Cosa? Funziona con Mount Unlinked? Se non vado errato, l'unica differenza tra Mount e Mount Unlinked è che nel secondo caso il D64 non viene aggiornato con le modifiche al disco, con i file salvati e/o modificati, ecc.: una sorta di "Mount read only" del D64 (ma trasparente al software: le scritture su disco è come se fossero effettuate ma vengono perse al momento del unmount). Sembra impossibile che risolva il tuo problema... Oh, beh, meglio così alla fine...  ;)

P.S.: Poi magari prova ad aggiornare al 3.2a, hai visto mai che è colpa di un bug che è stato rimosso...

Buona serata,
Carlo Luciano