He seems to talk briefly and vaguely about these things. Example here: viewtopic.php?f=12&t=15794
He seemed to have an example that could actually be tested but then never seemed to revisit it. The idea of optimizing games that suffer bad slowdowns is a nice idea but I haven't really seen anyone do that.
Why did Super Mario RPG and Kirby Super Star use an SA-1?
Moderator: Moderators
Forum rules
- For making cartridges of your Super NES games, see Reproduction.
- rainwarrior
- Posts: 8062
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
I think it would be really great if psycopathicteen managed to optimize an old game and make it run better. That'd be pretty neat, and something I'd like to see the process of.
I even wouldn't mind a post that was like "why is this code in (insert game name) so stupid?" with a concrete example in its real context that we could look at and discuss. That stuff's totally cool.
This post, however, is none of that. It's some kind of challenge based on a false premise. Of course someone who knows 65XX would be very stupid to consider both those choices, and choose the former. Nobody would make that choice directly; it can happen naturally from process and iteration though, which I and others have been saying all along but you keep insisting that it's purely intentional. IT IS NOT. You're not even asking a question, you're just making some statement that you think you could have done their job better. Big deal.
There are things that could be improved in any game that's ever shipped.
I even wouldn't mind a post that was like "why is this code in (insert game name) so stupid?" with a concrete example in its real context that we could look at and discuss. That stuff's totally cool.
This post, however, is none of that. It's some kind of challenge based on a false premise. Of course someone who knows 65XX would be very stupid to consider both those choices, and choose the former. Nobody would make that choice directly; it can happen naturally from process and iteration though, which I and others have been saying all along but you keep insisting that it's purely intentional. IT IS NOT. You're not even asking a question, you're just making some statement that you think you could have done their job better. Big deal.
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
Since you're talking about optimising old games to remove slowdown, can I suggest this one as a candidate for this experience?
If someone can remove the slowdown in this game only changing its PRG ROM I would be VERY happy!!
If someone can remove the slowdown in this game only changing its PRG ROM I would be VERY happy!!
-
psycopathicteen
- Posts: 3001
- Joined: Wed May 19, 2010 6:12 pm
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
I made a ROM patch for Super Ghouls and Ghosts a while ago.
Code: Select all
arch snes.cpu
macro seek(n) {
origin (({n} & 0x7f0000) >> 1) | ({n} & 0x7fff)
base {n}
}
seek($01a43a)
and #$00ff
asl
asl
sta $0010
sep #$20
bra +
seek($01a44e)
+;
seek($0185aa)
lda #$0001
sta $420d
nop
nop
seek($01871f)
xba
lsr
ror $42
clc
lda $0004,y
adc $04
cmp #$00e0
bcc +
cmp #$fff0
bcs +
lda #$00e0
+;
sta $f101,x
lda $0006,y
adc $1a
and $10
ora $12
sta $f102,x
lda $0006,y
asl
asl
asl
ror $42
dec $44
bne +
seek($018766)
+;
seek($018780)
xba
lsr
ror $42
clc
lda $0004,y
adc $04
cmp #$00e0
bcc +
cmp #$fff0
bcs +
lda #$00e0
+;
sta $f101,x
lda $0006,y
adc $1a
and $10
ora $12
eor #$4000
sta $f102,x
lda $0006,y
asl
asl
asl
ror $42
dec $44
bne +
seek($0187ca)
+;
seek($01b213)
jsl $8185bb
seek($01b20f)
jsl $8184c3
seek($008b09)
jml $82827a
seek($01d973)
jsl $81a50e
seek($02f26c)
jsl $818459
seek($02f0da)
jsl $8189d9
seek($02f0b3)
jsl $818459
seek($028fc3)
jsl $818e73
seek($028fbf)
jsl $818459
seek($028f0f)
jsl $81a4e8
seek($02f0da)
jsl $8189d9
seek($028fcd)
jsl $81a5af
seek($028f86)
jsl $8188b7
seek($80826d)
jml +
+;
rep #$20
phd
lda #$2100
tcd
lda $02e2
sta $26
lda $02e4
sta $28
lda $02dc
sta $07
ldy $02de
sty $09
lda $02e6
sta $23
ldy $02e8
sty $25
lda $02e9
sta $2a
lda $02eb
sta $30
ldy $02ee
sty $32
lda $02d5
sta $2c
lda $02c7
sta $2e
lda $02e0
sta $0b
pld
sep #$20
bra +
seek($8082eb)
+;
seek($01d978)
jsl $81a508
seek($02879e)
jsl $81d090
seek($01b1c8)
jsl $82821b
seek($0188ea)
rep #$21
lda $1e
adc $16
sta $1e
sep #$20
lda $20
adc $18
sta $20
rts
seek($0188fd)
rep #$20
sec
lda $1e
sbc $16
sta $1e
sep #$20
lda $20
sbc $18
sta $20
rts
seek($0188cd)
rep #$21
lda $21
adc $19
sta $21
sep #$20
lda $23
adc $1b
sta $23
rtl
seek($018a44)
rep #$21
lda $1e
adc $0000
sta $1e
sep #$20
lda $20
adc $0002
sta $20
rep #$21
lda $21
adc $0004
sta $21
sep #$20
lda $23
adc $0006
sta $23
sep #$30
rtl
seek($01d95f)
jsl $81a5af
seek($81b271)
jml +
+;
rep #$20
phd
lda #$1f00
tcd
lda $02de
sta $63
sta $68
lda $02e0
sta $65
sta $6a
lda $02d7
sta $79
sta $7c
sep #$20
lda $02d9
sta $6e
sta $70
pld
rts
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
This is great. IPS plz. 
- rainwarrior
- Posts: 8062
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
Hey now that's pretty neat, worth having its own thread too BTW.psycopathicteen wrote:I made a ROM patch for Super Ghouls and Ghosts a while ago.
-
Oziphantom
- Posts: 1163
- Joined: Tue Feb 07, 2017 2:03 am
Re: Why did Super Mario RPG and Kirby Super Star use an SA-1
The good thing is if you patch one Konami game you could probably patch them all
psycopathicteen should team up with OmegaMax and make a website together. First step in patching is doing the archaeology to work out what needs to be patched
psycopathicteen should team up with OmegaMax and make a website together. First step in patching is doing the archaeology to work out what needs to be patched