Machine | Description | Status |
---|---|---|
Acid1Test-slots | Stress-test the slot accesses.
Incorrect assumptions about memory/resources layout will fail to run on
this machine. Software must also handle extended slots correctly to run. | Current version: v0.3 Completeness: 100% ROMs required: Sanyo PHC-70FD, CIEL ExpertTurbo, MSX-DOS v2.2 |
Acid2Test -hardware |
This
is certainly the hardest of all tests. It's aimed to make software that
does illegal direct I/O to fail. Please note that legal VDP direct I/O
will not fail. The MSX Technical Handbook, pg-336 clearly states that programs should not handle the hardware directly and the only direct I/O allowed is to the VDP, by using the ports indicated on addresses 0006h and 0007h of the BIOS. Pg-42 of this same book, on "Notes on I/O Address Assignments", mentions the reason: "Although I/O addresses are defined above, the software must not access those devices directly using the above ports. All I/O accesses must be done using BIOS calls, in order to make the software independent of hardware differences. MSX manufacturers may change some of the hardware from the standard MSX system and maintain software compatibility by rewriting BIOS. The hardware differences would thus be trans�parent to the software." In its current state of completeness, this machine can be used to test a lot of MSX software, but unfortunately it will not yet test the following features: - Software that uses the MemoryMapper - Software that do illegal direct sub-slot switching by accessing the FFFFh register |
Current version: v0.2 Completeness: 70%. ROMs required: Sanyo PHC-70FD2, CIEL ExpertTurbo, standalone MSX-Audio v1.0 (32KB), MSX-DOS v2.2 The features below are missing because emulators lack support for it: - Not implemented: Expanded slot registers at nonstandard address - Not implemented: MemoryMapper registers on nonstandard I/O ports The following features are already implemented: - PPI8255 on nonstandard I/O port - V9958 at 88h I/O port - PSG on nonstandard I/O ports - RTC on nonstandard I/O port - PrinterPort at nonstandard I/O port - Built-in MSX-Music (YM2413) on nonstandard I/O ports - Built-in MSX-Audio (Y8950) at nonstandard I/O port - Built-in MSX-DOS2 |
Acid?Test-BIOS |
Stress-test
incorrect BIOS calls. It's aimed to catch programs that do direct
calls to the routines instead of using the jumptables. |
Current version: none Completeness: 0% |
Acid?Test-InterChip |
This
one assures that the software has proper timing and don't rely blindly
on software-loops for temporization. It assures that turbo machines
will be supported correctly. |
Current version: none Completeness: 0% Note: openMSX seems to be implementing this as helper scripts instead of a machine |
Acid?Test-SpeedTest |
This one assures that the
software has proper timing and don't rely blindly on software-loops for
temporization. It assures that turbo machines will be supported
correctly. |
Current version: none Completeness: 0% Note: Emulators lack support for creating a machine with the features below: a) Z80 running at 40MHz b) V9958 blitter working 100% faster c) The machine has a built-in SystemTimer, without S1990 (like the OCM) d) There's no way to disable the turbo, which is a common workaround used by programmers (if the turbo could be disabled this test would have no meaning at all: the idea is to test if the algorithms are ok) But some of it's features can be manually enabled on openMSX using any machine you want. I advice you to select a Sanyo Wavy 70FD, pop the openMSX console and type the following commands: set_z80_freq 40000000 set_z80_freq_locked off set cmdtiming broken After you finish debugging, don't forget to return the Z80 to its usual speed by typing: set_z80_freq_locked on |
Acid?Test-commonMistakes |
Machine or set of scripts to
test for common programing mistakes as well as for known MSX quirks (as
nobody would like to implement many of those quirks on the emulators),
like: a) VDP register access with interrupts enabled b) Sending new blitter commands without checking if the previous one finished c) Using VDP_R#18 in combination with the blitter corrupts VRAM d) screensplits+VDP_R#18+sprites_disabled causes problems e) Overwriting the VDP_R#25 bit2 value (may cause VRAM corruption on some machines) |
Current version: none Completeness: 0% No emulator has ready-to-use support for these yet. Some features can be achieved on openMSX by using watchpoints. |
Big stamp (GIMP file, 350x350, can be scaled down to 64x64) |
![]() |
Small stamp (GIMP file, 224x224, can be scaled down to 32x32) |
![]() |