From: <pa...@us...> - 2008-11-26 13:41:25
|
Revision: 3852 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3852&view=rev Author: pak21 Date: 2008-11-26 13:41:23 +0000 (Wed, 26 Nov 2008) Log Message: ----------- Add TS2068 detection and sync.asm/first.asm timings. Now runs on Fuse's TS2068 emulation, although fails all the timing tests because we haven't put new constants in yet. Also, add a defensive bit to the 0x7ffd read tests. Would be nice to have poked something into the shadow screen to say "Your emulator is broken" or words to that effect :-) Modified Paths: -------------- trunk/fusetest/first.asm trunk/fusetest/fusetest.asm trunk/fusetest/guessmachine.asm trunk/fusetest/sync.asm trunk/fusetest/tests.asm Modified: trunk/fusetest/first.asm =================================================================== --- trunk/fusetest/first.asm 2008-11-26 12:46:26 UTC (rev 3851) +++ trunk/fusetest/first.asm 2008-11-26 13:41:23 UTC (rev 3852) @@ -84,8 +84,8 @@ _predelay defw 0x0000 _postdelay defw 0x0000 -_predelay_table defw 0x3748, 0x3762, 0x3762, 0x458c -_postdelay_table defw 0xd6d9, 0xdabb, 0xdabb, 0xcf94 +_predelay_table defw 0x3748, 0x3762, 0x3762, 0x458c, 0x2328 +_postdelay_table defw 0xd6d9, 0xdabb, 0xdabb, 0xcf94, 0xbf39 ENDP Modified: trunk/fusetest/fusetest.asm =================================================================== --- trunk/fusetest/fusetest.asm 2008-11-26 12:46:26 UTC (rev 3851) +++ trunk/fusetest/fusetest.asm 2008-11-26 13:41:23 UTC (rev 3852) @@ -180,51 +180,51 @@ _testdata defb 'BIT n,(IX+d)', 0 - defb 0x0f + defb 0x1f defw bitnixtest defb 'DAA', 0 - defb 0x0f + defb 0x1f defw daatest defb 'OUTI', 0 - defb 0x0f + defb 0x1f defw outitest defb 'LDIR', 0 - defb 0x0f + defb 0x1f defw ldirtest defb 'Contended IN', 0 - defb 0x0f + defb 0x1f defw contendedintest defb 'Floating bus', 0 - defb 0x03 + defb 0x13 defw floatingbustest defb 'Contended memory', 0 - defb 0x0f + defb 0x1f defw contendedmemorytest defb 'High port contention 1', 0 - defb 0x0f + defb 0x1f defw highporttest1 defb 'High port contention 2', 0 - defb 0x0f + defb 0x1f defw highporttest2 defb '0xbffd read', 0 - defb 0x0f + defb 0x1f defw hexbffdreadtest defb '0x3ffd read', 0 - defb 0x02 + defb 0x12 defw hex3ffdreadtest defb '0x7ffd read', 0 - defb 0x02 + defb 0x12 defw hex7ffdreadtest defb 0 Modified: trunk/fusetest/guessmachine.asm =================================================================== --- trunk/fusetest/guessmachine.asm 2008-11-26 12:46:26 UTC (rev 3851) +++ trunk/fusetest/guessmachine.asm 2008-11-26 13:41:23 UTC (rev 3852) @@ -3,7 +3,11 @@ guessmachine PROC - ld bc, 0x9100 + ld bc, 0x6540 + sbc hl, bc + jr z, _mts2068 + + ld bc, 0x9100 - 0x6540 sbc hl, bc jr z, _m48 @@ -60,6 +64,10 @@ _mpent ld a, 0x03 ld hl, _mpentstring +_mts2068 + ld a, 0x04 + ld hl, _mts2068string + _end ld (guessmachine_guess), a call printstring ret @@ -68,6 +76,8 @@ _m128string defb '128K', 0x0d, 0 _mplus3string defb '+3', 0x0d, 0 _mpentstring defb 'Pentagon', 0x0d, 0 +_mts2068string defb 'TS2068', 0x0d, 0 + _unknown defb 'unknown', 0x0d, 0 ENDP Modified: trunk/fusetest/sync.asm =================================================================== --- trunk/fusetest/sync.asm 2008-11-26 12:46:26 UTC (rev 3851) +++ trunk/fusetest/sync.asm 2008-11-26 13:41:23 UTC (rev 3852) @@ -61,10 +61,10 @@ inc hl ; 49 - 52 ld (hl), _isr3 / 0x100 ; 55 - 58 -_isr1 ld hl, 0xffff ; 65 - 68 +_isr1 ld hl, 0xc000 ; 65 - 68 call delay ; 75 - 78 - ld hl, (_delay) ; 65610 - 65613 - call delay ; 65626 - 65629 + ld hl, (_delay) ; 49227 - 49230 + call delay ; 49243 - 49246 ; 48K / 128K timings ld hl, 0x0f78 ; 65909 - 65912 / 66929 - 66932 @@ -89,7 +89,11 @@ xor a ; 78 ret ; 82 -_table defw 0x011b, 0x011b + 0x03fc, 0x011b + 0x03fc, 0x011b + 0x0700 +_table defw 0x411a + defw 0x411a + 0x03fc + defw 0x411a + 0x03fc + defw 0x411a + 0x0700 + defw 0x411a - 0x2bc0 _delay defw 0x0000 Modified: trunk/fusetest/tests.asm =================================================================== --- trunk/fusetest/tests.asm 2008-11-26 12:46:26 UTC (rev 3851) +++ trunk/fusetest/tests.asm 2008-11-26 13:41:23 UTC (rev 3852) @@ -487,6 +487,14 @@ in a,(c) ld a, (0xe000) + + ; If we selected page 7, it's highly likely an emulator wrote + ; 0xff to 0x7ffd. This is unfortunate as it pages in the 128K ROM + ; and then locks us out from changing this. All we can really do + ; is hang... + cp 0x07 + jr z, _hang + ld b, 0x00 _end push af @@ -514,6 +522,9 @@ ld b, 0x01 jr _end +_hang di + halt + _delay defw 0x0000 _scratch defw 0x0000, 0x0000 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |