Impossible Mission Revised basato sulla versione originale AUS. Il gioco non aveva protezione del disco, ma almeno 3 bombe rimaste nel codice. Controlla se $d024 ha $0a, altrimenti si blocca. Il gioco esegue JSR nel registro CIA $dd03 dove memorizza $60 in precedenza nel codice che viene sovrascritto. Infine, ha una chiamata IRQ a zp solo per aggiornare il frame counter, che viene sovrascritto al reset. Ora sono tutti rimossi e il codice è reso più ordinato. È una mossa audace iniziare a migliorare un gioco per computer perfetto, potresti pensare cosa diavolo potrebbe essere migliorato. Ho controllato tutte le porte del gioco da YouTube e ho notato che nella versione BBC lo schermo tremava quando l'eroe cadeva da un'altezza sufficientemente alta. Nella versione PlayStation, c'era una bella funzionalità in cui la mappa segnava quali stanze erano state svuotate tramite ricerca. Ho trovato anche alcuni bug e punti da rifinire ulteriormente per rendere il gioco ancora più divertente di quanto non fosse in origine. Per dare più sfida, gli stencil per tagliare i pezzi del puzzle sono stati rielaborati in modo che le forme familiari non siano più al 100% le stesse. Inoltre, l'RNG è ora gestito in modo che ogni partita dovrebbe essere diversa. Personalmente sono molto contento di come è andato tutto, adoro questo gioco e ora ancora di più! I soliti problemi possono essere letti nel Changelog qui sotto. MODIFICHE: - X algoritmo ABC Generatore di numeri casuali da codebase64 inserito nel gioco - all'inizio del gioco devi interagire con il joystick 2 per un'entropia aggiunta all'avvio dell'RNG. - il giocatore deve premere il pulsante joy2 e quando lo rilascia, il seme dell'RNG viene impostato con le informazioni di interazione dell'utente. - La routine di attesa del ciclo fittizio è stata modificata in attesa basata su D012 invece di bruciare cicli di CPU per il tempo. - questo corregge i tempi con possibili acceleratori della CPU. - L'orologio di gioco è ora impostato con informazioni PAL/NTSC, 1 secondo è 60 frame in NTSC e 50 in PAL - Il gioco originale girava più lentamente sui sistemi PAL poiché un secondo era 60 frame su tutte le versioni. - Il gioco ha il rilevamento PAL/NTSC, l'ho usato per impostare il valore del tick dell'orologio. - Dopo le risate del gioco, lo schermo trema e diventa bianco, lo schermo non è centrato e il colore nero fa capolino dai bordi. - Ripristinati i valori predefiniti dello schermo dopo lo scuotimento. - Aggiunto codice per riprodurre i campioni più rumorosamente su 8580. - Il Vice sembra distorcere ma funziona bene su hardware reale. - TNT ha aiutato proponendo di impacchettare la grafica di Elvin Atombender - TNT ha fornito dati impacchettati e routine di scompattamento - Le informazioni sul colore 1k ora occupano solo 157 byte - Salvataggio del file semplificato - Il salvataggio del file originale era troppo complicato. - Prima, ha salvato "HI2", poi ha eliminato "HI" e rinominato HI2 in HI - la nuova usa la sovrascrittura - le routine IRQ e di salvataggio file sono state spostate più in basso nella memoria - ora il salvataggio funziona con l'action replay attivo - FC3 corrompe lo schermo dopo il salvataggio, ma il salvataggio funziona e puoi riavviare il gioco usando RUN/STOP, RESTORE o entrambi. - la scena del timeout del gioco, bug e caratteristiche. - l'ultimo byte della banca è visibile - gli sprite dell'ascensore fanno sembrare la scena rotta - l'ultimo byte della banca ora viene cancellato durante la scossa dello schermo e ripristinato in seguito. - lo sprite del muro dell'ascensore è spento e quello del soffitto si muove con lo schermo - la scena ora ha un aspetto molto migliore - alle stanze 15 e 20 è stato assegnato in modo errato il colore delle assunzioni alle tessere MC - È stato modificato il codice colore che mostra le tessere come MC - Si può discutere se si tratti di un bug o di una scelta intenzionale. - La mia opinione è che fosse un bug, che ora è stato risolto. - Se una stanza è stata svuotata tramite ricerca, risulta vuota sulla mappa del giocatore. - Questo rende il gioco un po' più comodo da giocare - è stato sorprendentemente difficile da aggiungere - Se il giocatore che cade accelera oltre una certa soglia, lo schermo trema - Implementato un tremolio casuale di 5 frame $d011 - È di nuovo necessario evitare l'ultimo byte della banca, dovrei provare a saltare quel byte per il codice. - Nessun effetto sonoro per il tonfo della caduta - c'era anche un bug nel gioco originale, il byte della caduta non era impostato sull'evento della morte, il che causava un sacco di elaborazioni non necessarie dell'eroe. - L'orologio di gioco è ora nel formato 24 ore - Non credo che agenti/militari/funzionari di altro tipo usino l'ora am/pm per evitare confusione. - Nota che anche le stanze degli enigmi sono contrassegnate sulla mappa con un motivo a scacchi - Il tremolio dello schermo dopo che il giocatore cade da un posto alto ora sposta anche gli sprite lungo il tremolio dello schermo. Ora sembra molto più pulito. - Aggiunto un effetto sonoro per il colpo al pavimento. - Anche la porta per la tana di Elvin è contrassegnata sulla mappa, ma prima devi raccogliere gli oggetti. - Il codice dell'orologio sprite è pronto, mostra ore e minuti. - Visualizzare l'orologio sul campo di gioco è un'altra seccatura - WIP - Ho di nuovo esaurito la memoria. - Ora è stata compressa una parte maggiore della schermata finale di Elvin - Grandi blocchi di codice spostati sotto IO che sono principalmente responsabili della randomizzazione del gioco all'avvio. - Ora il gioco ha 32 password diverse - Una viene scelta casualmente all'inizio del gioco - L'orologio di gioco è ora visualizzato in personaggi in stanze normali - L'orologio è nell'angolo in alto a destra dello schermo - non può essere mostrato quando un giocatore sta cercando oggetti perché usa gli stessi personaggi. - non può essere mostrato nelle stanze dei puzzle, perché la grafica usa gli stessi personaggi. - non viene visualizzato nella stanza dell'ascensore, perché puoi attivare l'orologio premendo il pulsante di fuoco. - Nuovi sprite di animazione del bot di Trurl - ora puoi vedere il retro del bot se il gioco lo sceglie casualmente. - è stato davvero un dolore aggiungerli, il gioco aveva la sua logica sintonizzata piuttosto duramente su soli 6 frame di animazione del robot, sbirciatine ecc. - ora abbiamo un totale di 12 frame di sprite del robot e abbiamo ancora un po' di memoria! - qui si sono verificati molti problemi, spero di averli risolti tutti, quelli che ho causato io stesso. - Corretto un bug di colore nell'interfaccia utente del telefono dal messaggio "orientamento corretto". - 32 password erano un po' troppe, siamo tornati a sole 24, che stanno in una pagina di memoria. - Ottimo suggerimento da un utente di prova, il lupo del forum Lemon64: far andare l'orologio dalle 12:00 alle 18:00 in modo che il punto e virgola possa essere inserito correttamente. - Ci sono 2 caratteri di spazio, 16 pixel in totale. - Il font dei numeri è 3x5 pixel e quando si vogliono mostrare 4 cifre, servono 3+1 pixel (vogliamo avere un po' di spazio tra le cifre) - 4*4 cifre sono 16 pixel, quindi non c'è spazio per il punto e virgola. - Possiamo usare LSR sulle ultime 2 cifre per ottenere 2 pixel di spazio tra ore e minuti. - Il numero 1 è speciale perché è largo solo 1 pixel, quindi se usiamo anche le cifre delle ore possiamo avere uno spazio di 3 pixel per il punto e virgola. - Di solito, la soluzione più semplice è la migliore, peccato che spesso sia difficile trovarla da soli quando si è concentrati a pensare ad altro. - Preparazione per cambiare il font Commodore ROM in-game con qualcos'altro - sono necessari da a a z e da 0 a 9 - Il font chiamato 7-up da https://home-2002.code-cop.org/c64/ è selezionato nel gioco. - Gli sprite robot extra sono stati spostati al numero pari del puntatore Sprite - Il gioco usa il primo bit del puntatore quando si sbircia dietro la sua schiena - Un numero di puntatori non pari mi ha causato alcuni giorni di dolore perché volevo risparmiare 64 byte. - Stencil di puzzle modificati per cambiare la sfida con i puzzle - fatto, aggiunta più sfida - Calcolo del punteggio corretto per calcolare i secondi su 0-6 ore invece che 12-18. - Una piccola modifica estetica all'orologio dei personaggi mostrato nelle stanze. Elenco degli strumenti tradizionali utilizzati: 64tass Ghidra 6502 Bench 010 Editor Spritepad Pro Charpad Pro Editor VSCode Retrodebugger Vice Exomizer CC1541 Dart DirMaster ======================================== NOTE DI TRADUZIONE ======================================== Questa è la traduzione automatica del Changelog pubblicato dall'autore, Grue su CSDb. Alcune espressioni potrebbero essere state tradotte in maniera incorretta ed alcuni passaggi tecnici, soprattutto sigle, andrebbero probabilmente spiegate meglio. Il testo è in attesa di revisione ed aperto a suggerimenti e modifiche. Ready64.org - Pubblicato il 20 Settembre 2024 Indirizzo originale: https://csdb.dk/release/?id=242553&show=notes#notes