Ready64 Forum
Commodore 64 => Segnalazione News => Topic aperto da: iAN CooG - 18 Giugno 2004, 23:32:27
-
http://noname.c64.org/csdb/release/?id=13464&show=review (http://noname.c64.org/csdb/release/?id=13464&show=review)
Ironicissimo crapgame di Cruzer/Camelot.
Per quanto mi riguarda, il vincitore definitivo delle attuali e future crapgame compos!
:D
-
Fantastico :-)
E' talmente stupido che ci vuole perfino un pò di tempo per capire come funziona :D (oppure sono totalmente rinco io, non lo so).
A te non è mai venuta l'idea di rilasciare qualcosa del genere? Quanto tempo pensi che ci voglia?
Sai, io tendo sempre a coinvolgere tutti quelli che mi circondano a crare giochi, è un pò una mia fissazione :)
-
Veramente simpatico :fagiano:
La cosa veramente demenziale (oltre al gioco) e' che si puo' anche tornate indietro :confused:
(anche a voi va in tilt la selezione della disciplina sportiva?)
-
confermo, quando scegli la disciplina si incasina tutto :D
penso che sia voluto - vista la crapposità del gioco.
Sicuramente iAN avrà una spiegazione tecnica :)
-
Fantastico.
Il migliore in assoluto.
non penso ci sia voluto molto per realizzarlo, visto che la grafica è fissa (ma ben realizzata)
-
confermo, quando scegli la disciplina si incasina tutto :D
penso che sia voluto - vista la crapposità del gioco.
Sicuramente iAN avrà una spiegazione tecnica :)
Mi hai quasi obbligato a studiarmelo ;)
Il menu' corrente viene colorato in base ad un indice, quando incrementa/decrementa questo indice non sta' li' tanto a preoccuparsi di ricolorare di bianco il menu' che ha appena lasciato, e dato che l'altro indice - che indica quali colori usare sulla riga corrente - e' comunque incrementato, lascia la scia... insomma una cosa del genere :P
Cmq ho approntato un fix :D
;---------------------------------------------------------
;Olympic games'04 by Cruzer/CML
;Menu fix by -=[iAN CooG/HokutoForce]=-
;---------------------------------------------------------
*=$0801
;curmenu = $3d
;zpptr = $3b
.word eop
.word 7102
.byte $9e
.text "2061"
.byte 0
eop
.byte 0
.byte 0
LDA #<clearmenu; 1st of all, patch the menu
LDX #>clearmenu; to go to my clearmenu
LDY #$20
STY $20A3
STA $20A3+1
STX $20A3+2
; init also $3d to a value>5 so
; the 1st time clearmenu is executed
STY $3d
; make sure memory from $9000 to $cfff is zeroed
; I had some problems if dirty (sprites garbled)
lda #0
tay
ldx #($d0-$90)
zer
sta $9000,y
iny
bne zer
inc zer+2
dex
bne zer
JMP $2000; game start
;---------------------------------------------------------
clearmenu
;check if sel.menu changed from last time
LDA $2403
CMP $3d; curmenu
BEQ xit
STA $3d
; let's clear the menu's 6 rows
LDX #$05; reverse loop 5-0
l2
CPX $3d; no need to clear current menu
BEQ s1
TXA
ASL A ; a<<1 -> a*=2
TAY
; table of menu screencol offsets
LDA $20C8,Y ; lo byte
STA $3b
LDA $20C9,Y ; hi byte
STA $3c
LDA #1 ; white
LDY #$27
l1
STA ($3b),y ; zpptr
DEY
BPL l1
s1
DEX
BPL l2
; this restores the instr. covered by the patch @ $20A3
LDA $2403
xit
RTS
Per rallentare il movimento... ci ho provato ma essendo tutto in IRQ rallenterei anche la musica.
per ora beccatevi QUESTO RAR (http://digilander.libero.it/iANCooG/olympicg04fix.rar) che contiene
og.dis : disassemblato della parte del menu che interessa la patch
og04fix.prg : il gioco patchato e exomizzato
patch1x.asm : il sorgente della patch che c'e' qua sopra
unp2000.prg : il gioco decompresso, pronto per essere linkato alla patch
-
Per rallentare il movimento... ci ho provato ma essendo tutto in IRQ rallenterei anche la musica.
Ok, ci sono riuscito, anche se e' stato un lavoraccio. Ora controlla che venga rilasciato il joystick/fire prima di intraprendere l'azione, altrimenti continua la routine di interrupt normalmente.
Prego prendere il rar della v2 QUA (http://digilander.libero.it/iANCooG/olympicg04fix2.rar)
-
Complimenti per il "lavorone", iAN ;)
Dunque mi pare di capire che l'errore fosse voluto, giusto?
Voluto, nel senso che era troppo brigoso da fixare probabilmente :)
-
Dunque mi pare di capire che l'errore fosse voluto, giusto?
Credo che Cruzer si sia sforzato di fare il peggio che poteva, ad esempio gli offset delle locazioni per i colori sono tutte sballate di 8 byte, queste dovrebbero essere quelle giuste.
*=$20C8
.word $DAD0
.word $DAF8
.word $DB20
.word $DB48
.word $DB70
.word $DB98
Anche se all'apparenza funziona lo stesso; credo anche che non abbia impiegato piu' di un paio d'ore per scrivere il tutto (visto che sa fare veramente di meglio) :mattsid: