- Notifications
You must be signed in to change notification settings - Fork2
Exhaustive BCD Verifier Sega Genesis ROM for the M68000 processor
License
flamewing/68k-bcd-verifier
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a test ROM for the Sega Genesis. Its purpose is to exhaustively test every single permutation of input for the 3 packed Binary Coded Decimal (BCD) instructions available in the Motorola 68000 processor and record any deviations from real hardware.
Real hardware naturally passes all tests; this has been verified on:
- Model 1 Sega Genesis
- Model 3 VA2 Sega Genesis
For reference, the original BCD data I used to reverse-engineer the operations was obtained from a Model 1. If you have other models to test, please let me know the results.
Forabcd andsbcd instructions, there are 256 possible values for each input register. They are also sensitive toX andZ flags. This gives a total of 256 x 256 x 4 = 262144 input combinations for each ofabcd andsbcd.
One NTSC frame in the Sega Genesis corresponds to approximately 128000 cycles of the main 68000 CPU. Thus, every single cycle that the inner loop takes corresponds to one more NTSC frame.
For this reason, I just coded the whole thing in pure assembly and use a pre-generated results table.
To build the ROM you will need a Unix-based OS. You will needAS, g++ and build tools. Build AS, install somewhere in your path, then type 'make' to build the ROM.
Then load the ROM in your favorite emulator and let me know that it fails the test, so I can add it to the list.
These emulators pass the test:
- BlastEm
- BizHawk
- Exodus
- Genesis Plus GX
- Higan
- Mednafen
These emulators fail the test:
- AGES
- DGEN SDL
- GENS, and all of its derivatives. (Debugens, GENS32, GENS+ GENS GS, Recording, etc...)
- GENSX
- Genadrive
- Genem
- Generator32
- Genesis Plus
- Genital32
- Kega Fusion
- Megasis
- Morphgear
- Picodrive
- Regen
- Retrodrive
- SegaEmu
- SmartGear
- Vegas
- Xe
- Xega
About
Exhaustive BCD Verifier Sega Genesis ROM for the M68000 processor
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors2
Uh oh!
There was an error while loading.Please reload this page.