VDP timing analysis tool for MSX

Pedro Gimeno 616ae3b041 asc2cld.py: Fix tokenization of DATA statements 4 yıl önce
test_asc2cld 616ae3b041 asc2cld.py: Fix tokenization of DATA statements 3 yıl önce
.gitattributes 4571df2c2b Delete old entry from .gitattributes to complete the circle 4 yıl önce
.gitignore 6432468b2b Add test suite for BASIC tokenizer 4 yıl önce
LICENSE.md 754265982a Rename LICENSE.txt to LICENSE.md, and add it to USAGE.txt 4 yıl önce
Makefile 867b4d7044 Rename bas2cas.py to asc2cas.py 4 yıl önce
README.md 754265982a Rename LICENSE.txt to LICENSE.md, and add it to USAGE.txt 4 yıl önce
RESULTS.txt d858288e35 Notes added; minor adjustments 4 yıl önce
USAGE.txt 867b4d7044 Rename bas2cas.py to asc2cas.py 4 yıl önce
asc2cas.py 867b4d7044 Rename bas2cas.py to asc2cas.py 4 yıl önce
asc2cld.py 616ae3b041 asc2cld.py: Fix tokenization of DATA statements 3 yıl önce
blank1.dsk.gz 274c18382c First commit, based on first public version 4 yıl önce
blank2.dsk.gz 274c18382c First commit, based on first public version 4 yıl önce
frametime.bss.asm 8238a85674 Add WaitFrmMinusHL, integrate new file, rename Cyc* and DelayAplus144 4 yıl önce
frametime.code.asm 553be090b4 Minor comment fix 4 yıl önce
im2setup.code.asm f998f3f454 Change IM2 table back to low memory 4 yıl önce
im2setup.equ.asm f998f3f454 Change IM2 table back to low memory 4 yıl önce
loadertpl.py a99609ba5e Load and use the symbol table in the BASIC generator 4 yıl önce
main.bss.asm 74b9a1f963 Delete unused variable 4 yıl önce
main.code.asm 89209ba489 Add ack timing code and results 4 yıl önce
raw2bin.py 274c18382c First commit, based on first public version 4 yıl önce
raw2cas.py 274c18382c First commit, based on first public version 4 yıl önce
syncvint.code.asm faf0a04dd0 Rename syncvr.code.asm -> syncvint.code.asm, add it to ZIP 4 yıl önce
sysdefs.equ.asm c1f848e510 Add RG08SAV and the "fake" RG00SAV; comment on the PLAY queues 4 yıl önce
test-ack-timing.bss.asm b22ff8d4b0 Reserve only the memory needed for the ACK test 4 yıl önce
test-ack-timing.code.asm 09d4a2f896 Remove extra unused instruction left over from an earlier change 4 yıl önce
vdptest.asm faf0a04dd0 Rename syncvr.code.asm -> syncvint.code.asm, add it to ZIP 4 yıl önce

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.md for details.