Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Exhaustive BCD Verifier Sega Genesis ROM for the M68000 processor

License

NotificationsYou must be signed in to change notification settings

flamewing/68k-bcd-verifier

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.

Considerations

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.

How to use this

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.

Emulator Hall of Fame

These emulators pass the test:

  • BlastEm
  • BizHawk
  • Exodus
  • Genesis Plus GX
  • Higan
  • Mednafen

Emulator Hall of Shame:

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp