don't click here

68k random benchmark ROM

Discussion in 'Technical Discussion' started by Sik, Jun 27, 2009.

  1. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    So, I made a random benchmarking ROM for determining how accurate are Mega Drive emulators. It just loops and increases a counter for 10 frames, so as you can guess, the results differ between NTSC and PAL - which doesn't matter really, as the CPUs have different clock speeds there anyways. Whatever, here's the ROM:

    Binary: http://srb2town.sepwich.com/junk/68kbench.bin
    Source*: http://srb2town.sepwich.com/junk/68kbench.7z

    By the way, these are the results I got so far (yes, the counter is in hexadecimal XD):

    Gens-2.15.5-gs-m6-win32
    NTSC: between 00008AAE and 00008AAF
    PAL: between 0000A4D0 and 0000A4D1

    Fusion 3.61
    NTSC: between 00008A1B and 00008A1C
    PAL: between 0000A500 and 0000A501

    Regen 0.96
    NTSC: between 00008AAE and 00008AAF
    PAL: 0000A5AF (stable value)

    Tiido, please test the ROM in real hardware =P
    Also feel free to test in other emulators and post the results here if you want.
    Later I'll make modifications to the ROM for specific instruction benchmarking.

    EDIT: updated ROM for emulators that don't have region change support and is impossible to determine the current refresh rate. It should show blue for 60Hz and red for 50Hz. Unless the emulator is too shitty. Then it'll show blue most likely, or crash ;P (seriously, the code isn't doing anything weird, it doesn't even touch RAM, so WTF o_O). The background color is set when booting up, not if you change the region while it's already running.

    ----------------------------------------
    *Before somebody annoys me with licenses, I'm giving it out as public domain >_>
     
  2. Ambil

    Ambil

    I want that heinous hedgehog hammered! Member
    Same for Gens32 1.65 Se.

    Question: Which are the "best" results an emulator can get?
     
  3. Sonic 65

    Sonic 65

    Tech Member
    The ones that are the exact same as real hardware.

    Of course, we don't know these "best" results yet, since the ROM hasn't been tested on real hardware yet; once the results of that test come back, we can see which emulator is the most accurate in terms of speed. =P
     
  4. NeKit

    NeKit

    Member
    57
    0
    0
    Russia
    Sonic SCANF
    I tried it on several emulators on my PDA. Unfornatelly, they even haven't an option to change region, so I can't tell what region is emulated. For PicoDrive value is 0000B3F0, stable. On GenPP value is 0000A4D2, also stable. On SmartGear it just shows a clean blue screen.
    EDIT: On the new ROM color on PicoDrive is red, on GenPP also. Value hasn't changed. SmartGear continues to show a clean blue screen.
     
  5. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    All done on Intel Mac OS X.

    Generator 0.4.4 Note: I had to manually pad the ROM to a reasonable size (the size of Sonic & Knuckles).
    NTSC - 00008AF1 (consistent)
    PAL - 0000A55A (consistent)

    Genesis Plus 1.3.0
    NTSC - 00009458 (consistent)
    PAL - No PAL emulation.

    Kega Fusion 3.52i
    Same as Sik's 3.61 results.
     
  6. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    Redownload ROM and try again. I changed it so the background is blue on NTSC and red in PAL... assuming the emulator isn't being shitty >_> (it checks a bit in the VDP). Remember to reset the program when changing the speed for the background to change.

    BTW, some emulators need the ROM to be padded :psyduck: Fuck it.
     
  7. Shibunoa

    Shibunoa

    Banned
    329
    0
    0
    Italy
    PicoDrive 1.45a
    between 8AAD and 8AAE

    St0rm (on DOSBox)
    between B5xx and B9xx (I think NTSC)

    It varies very much, so "xx" means any value.

    GenEm 0.19 (on DOSBox)
    6580 (both NTSC and PAL)

    RetroDrive Release 5
    Between 8AAC and 8AAD

    Xega 0.10
    8A66

    Dgen 1.21
    90A0

    Exodus 0.1a
    F734
     
  8. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    Genecyst X.XX (C++) on DOSBox 0.72 on Mac OS X (Intel)
    NTSC and PAL - 00005A40 (consistent)

    okay.
     
  9. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Model 2 Genesis, running from Multi Game Doctor 2-
    000088AD for about 3.5 seconds, 000088AE for about .25 seconds, repeat
     
  10. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    What. The. Fuck.

    I was expecting different values, but I wasn't expecting the oscillation to be like that o_O

    EDIT: for the sake of it
    Code (Text):
    1. <djohe> DGEN 1.7:
    2. <djohe> 8a66&nbsp;&nbsp;USA/JPN Performance
    3. <djohe> 9287&nbsp;&nbsp;USA/JPN Normal
    4. <djohe> 9bac 9bad PAL Performance
    5. <djohe> a4d4&nbsp;&nbsp;PAL Normal
    6. <djohe> PSPGenesis 0.18c
    7. <djohe> 8Af1&nbsp;&nbsp;(this emulator has no country setting it seems)
    8. <djohe> PICODRIVE 1.51
    9. <djohe> A527&nbsp;&nbsp;PAL / JAP PAL
    10. <djohe> 8aad 8aae USA / JAP NTSC
    Also shouldn't this ROM be posted on SpritesMind as well? =P
     
  11. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    This may be a bit more useful for you -
    http://stealth.hapisan.com/Junk/68kBen...k_From_MGD2.avi

    Also, I made a change to have it run from RAM, with different results:
    http://stealth.hapisan.com/Junk/68kBen...rk_From_RAM.avi
    http://stealth.hapisan.com/Junk/68kBenchmark/68kram.bin
    http://stealth.hapisan.com/Junk/68kBenchmark/68kram.rar

    I'm guessing that there may be different access time on different cartridge-port devices, too, which would probably produce different results.. It might be worth having it tested on other stuff like SMD and tototek

    Edit -
    Wrong URL :/
     
  12. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    Something to remark: Tiido once told me that there's a clock for RAM. Basically, if the 68k attempts to access RAM, it has to wait until the next cycle of this other clock. Normally it isn't much of a trouble because most instructions take several cycles and that pretty much makes it line up, but it's still the same issue.

    On different cartridges giving different speeds: I guess it's time to make a header for ROMs =/

    EDIT: er, right, the RAM is static RAM so it shouldn't need clocking... but yeah, it's something like a bus clock or similar. Remember, everything is slower than the 68k except the VDP (which is about double the speed, depending if it's in H40 or H32 mode). Whatever, that clocking adds some unexpected delays that you probably wouldn't think in.
     
  13. Flygon

    Flygon

    Member
    Here is the results for jEnesisDS, the results are NTSC only due to the emulators inability to run PAL games at 50fps.

    It osculates between 008A64 and 008A65 every... 0.25 seconds on a unmodified Nintendo DSi running in DS mode. The results are the same for a late 2005 model Nintendo DS phat anyway so that shouldn't matter.

    Edit: The emulators revision is 0.7.4. Its important because the emulator literally becomes faster and more efficient with stuff becoming properly emulated every day. I'll give it two years before 3D games and rastering actually work properly.
     
  14. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    Sure the revision is important now? Because considering the values, it looks like the emulator is actually attempting to match the speed of the 68k in real hardware. I doubt it's just coincidence.
     
  15. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    For kicks I've decided to measure the engine used in HackTube =P

    00008CA8 stable, NTSC. It's more accurate than many emulators >_>
     
  16. [​IMG]



    jEnesisDS hasn't been updated for nearly a year, bro.
     
  17. nineko

    nineko

    I am the Holy Cat Tech Member
    6,364
    522
    93
    italy
    Someone should upload Nemesis's vdp test rom to hacktube and see what happens
     
  18. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    and when I try to run this on my MDs I'll get black screen.... and then starts the tedious debugging process to find an error in less than 100 lines of code :P

    I'll get some real HW numbers tomorrow, techincally today, but I have to sleep, work tomorrow...
     
  19. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    10
    0
    being an asshole =P
    Yet Stealth could run the original ROM-based one on real hardware without touching it, so there must be something wrong in your end =/

    And it's 289 lines according to asm68k (although many of these are either blank lines or comments...). Also if it crashes in a black screen, it must be crashing before setting the background, so if there's a bug, it must be before that... and that pretty much 21 lines of code ¯\(º_o)/¯

    EDIT:
    http://srb2town.sepwich.com/junk/hacktubefail.PNG

    It didn't just fail the tests, it even failed to write the text :psyduck:
     
  20. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    lol, I only said what might happen in worst case scenario, hehe

    after 4 hours I'll be having some real HW results, then I get home from work