Ready64 Forum
Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Freshness79 - 10 Aprile 2006, 21:07:58
-
Ciao a tutti,
su consiglio di iAN CooG pubblicizzo la mia (unica per il momento) release in CSDB. Si tratta di un clone di Snake che fitta in un blocco (254 bytes).
Per i curiosi nello zip ho messo anche il source code commentato (Assemblato con TASS).
Sarei felice di avere le vostre impressioni.
Saluti a tutti!
-
Il link! :D
http://noname.c64.org/csdb/release/?id=31840 (http://noname.c64.org/csdb/release/?id=31840)
Ottimo lavoro, continua cosi'
-
Veramente bravo...veloce,semplice,coinvolgente,i miei più sinceri complimenti! :P
Spero che questo sia di sprone anche ad altri members.
-
Molto bello, e ingegnosamente realizzato!
-
bello, "gioca" benissimo, è un ottimo inizio:=)
unico appunto: quando si perde la vita, il punteggio viene subito resettato e non si ha modo di visualizzare il record. In questo modo manca la spinta per rigiocare per migliorare il proprio punteggio.
-
Io non riesco a farlo partire. O meglio, una volta lanciato, lo schermo si pulisce e le prime due righe in alto diventano dello stesso colore del bordo dello schermo. Rimane così e non risponde nessun tasto.
-
Sei incappato in un "bug" involontario.
Stai usando CCS vero? Perche' a me in CCS da lo stesso risultato.
In Vice funziona, ho appena provato. Resta da vedere dov'e' il problema (sicuramente di emulazione in CCS) e se e' aggirabile. Per ora usa vice.
Edit:
trovato il baco, sta nella non del tutto corretta inizializzazione dei registri SID per la generazione dei numeri casuali.
Main Jsr $E544
dey
Sty $D40f
dopo la jsr, Y vale $84, dey lo fa diventare $83 ma il valore corretto e' $81
andrebbe sostituito con
Main Jsr $E544
ldy #$81
Sty $D40f
Sorgente e binario (ora di 255 bytes) QUA (http://iancoog.altervista.org/HF/1blk_worm_fix.rar)
-
Certo, la forma d'onda white noise si attiva con 0x81 ma ho provato nei due commodore 64 e nel 128 che ho a casa e funziona perfettamente... Con LDY #$81 si sistemerebbe il problema ma andrei fuori dalle dimensioni del blocco.
Avevo già provato a "curare" il problema ma anche 1 solo byte é difficile da ricavare, vedrò quello che posso fare.
Grazie mille a tutti, comunque, per il feedback.
-
Avevo vergognosamente (!!!) lasciato un PHA e un PLA di troppo. Ho corretto il bug, come IAN aveva indicato e ho eliminato le due istruzioni di troppo. Risultato: 253 bytes :D
-
Certo, la forma d'onda white noise si attiva con 0x81 ma ho provato nei due commodore 64 e nel 128 che ho a casa e funziona perfettamente...
Come immaginavo e' solo un problema dell'emulazione SID in CCS.
$81, $83, $85 dovebbero andare bene comunque come valori, in quanto bastano il bit 7 e 1 accesi, eppure in CCS il RNG in $d41b funziona solo con $81.
Non dovremmo nemmeno stare qua a preoccuparcene.
Quello che e' da specificare almeno nel sorgente, per evitare "contestazioni", e' che il programma funziona correttamente solo con il Kernal rev. 3; in CCS, fornito di default della rev. 2, all'uscita di $e544 abbiamo valori sballati in A e la direzione viene settata in ALTO anziche' a DESTRA. Sia in Vice che in CCS con kernal rev 3 funziona a dovere.
Risultato: 253 bytes
Non tutti i mali vengono per nuocere allora, ottimo!
-
Sei incappato in un "bug" involontario.
Stai usando CCS vero? Perche' a me in CCS da lo stesso risultato.
In Vice funziona, ho appena provato.
Si, proprio il Ccs. Avrei dovuto scriverlo nel messaggio. Il Vice mi crea qualche problema di troppo in generale, per questo evito di usarlo.
Ora ho provato, sempre col ccs, sia la tua versione, che quella nuova sul sito. Il prgramma parte ma se premo un qualunque tasto si ferma come se premessi run/stop; riappaiono ready e cursore.
-
Ora ho provato, sempre col ccs, sia la tua versione, che quella nuova sul sito. Il prgramma parte ma se premo un qualunque tasto si ferma come se premessi run/stop; riappaiono ready e cursore.
By design. Ogni tasto fa terminare il gioco.
Per muovere usa il joystick (porta 2)
-
Porta 2. Va alla grande. :D
Ottimo lavoro ragazzi e complimenti vivissimi a Freshness per i 253 bytes!!! Mi piacciono i microprogrammi.