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
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 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