ejona86 / taus

Tetris - Actually Useful Statistics and other mods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PAL support in twoplayer

ejona86 opened this issue · comments

twoplayer is quite invasive, but PAL looks similar enough that as long as I give symbolic names to addresses the NTSC twoplayer .diff may easily apply to PAL.

commented

As far as i looked into this, the PAL version differs mainly in the gravity table and a single instruction within the DAS Code. Maybe the best way to do it is making a patch for the NTSC version, which also patches those to parts of the rom with values from PAL.

There were some shifts in code (most in the music data, which makes sense, but some in the normal code). I just pushed 842de23 which produces a clean disassembly. Any place we use symbol names things should be fine. We'd just need to deal with hard-coded addresses. With the auto-generation of linker cfg (starting in dc2b770), we can use symbol names in many places. Twoplayer didn't get converted over to the new scheme though, so I'll still have to look at it more, but there's likely options.

My plan is to have make -DPAL or some such to enable the PAL flow. I can conditionally add a rule in the Makefile that would copy the PAL .s to build/tetris-PRG.s and then leave the rest of the building alone. cfg files will still need to be figured out.

I guess I could use the same awk script to rewrite the .cfg files...

PAL support is now complete. Almost all the ntsc vs pal compilation changes were in the makefile, so make PAL=1 triggers pal building. In e0c8776 I updated Travis to test PAL.