VDP timing analysis tool for MSX

Pedro Gimeno 6bb41038c8 Add README.md and LICENSE.txt, include LICENSE.txt in zip file 4 jaren geleden
.gitattributes e726b1d5d7 Remove the .bas files and generate them at build time 4 jaren geleden
.gitignore e726b1d5d7 Remove the .bas files and generate them at build time 4 jaren geleden
LICENSE.txt 6bb41038c8 Add README.md and LICENSE.txt, include LICENSE.txt in zip file 4 jaren geleden
Makefile 6bb41038c8 Add README.md and LICENSE.txt, include LICENSE.txt in zip file 4 jaren geleden
README.md 6bb41038c8 Add README.md and LICENSE.txt, include LICENSE.txt in zip file 4 jaren geleden
USAGE.txt 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
bas2cas.py 347cb038c3 Remove trailing EOF, move handling of EOF to bas2cas.py 4 jaren geleden
blank1.dsk.gz 274c18382c First commit, based on first public version 4 jaren geleden
blank2.dsk.gz 274c18382c First commit, based on first public version 4 jaren geleden
frametime.bss.asm c33c0f80ed Add some macros to deal with BSS segments 4 jaren geleden
frametime.code.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
im2setup.code.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
im2setup.equ.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
loadertpl.py 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
main.bss.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
main.code.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
raw2bin.py 274c18382c First commit, based on first public version 4 jaren geleden
raw2cas.py 274c18382c First commit, based on first public version 4 jaren geleden
sysdefs.equ.asm 334e90e107 Move variables and IM2 handler to VOICAQ-VOICCQ sysvars work area 4 jaren geleden
vdptest.asm c33c0f80ed Add some macros to deal with BSS segments 4 jaren geleden

README.md

VDP Tester

This program is designed to test the intricacies and fine details of how the VDP interacts with the CPU, especially in areas of possible interest to emulator authors, and also to MSX/MSX2/MSX2+/TR coders that want to make the most out of the VDP to e.g. squeeze as many transfers as possible in the shortest time.

An important detail is that it's designed to run on MSX machines with synced CPU/VDP clocks, not separate. This makes things hard for a particular VDP, the Toshiba T6950, a chip designed for PAL which needs a 22.168 MHz crystal that is not compatible with the regular CPU timings, and therefore always includes a separate crystal for it. That leaves several Sony machines basically untestable with any degree of reliability.

Currently, the code consists solely of a cycles per frame measurer, as the exact cycle count is the basis for syncing with the CPU, which will be needed by the rest of tests. As it is now, it can't run on a machine with less than 16K RAM. If run on a machine with floppies, the second floppy needs to be disabled by pressing CTRL during boot.

See the Releases page for pre-built binaries. Read USAGE.txt for more information.

The license for this code is the Expat license. See the file LICENSE.txt for details.