Emulation for develping SW that works on real HW: FEATURE REQUEST

Pagina 5/5
1 | 2 | 3 | 4 |

Van ARTRAG

Enlighted (6935)

afbeelding van ARTRAG

13-06-2009, 12:25

ok, if in's and out's cannot be interleaved without setting port 0x99 in the middle
the two current scripts are sufficient for debugging.

Van hap

Paragon (2042)

afbeelding van hap

13-06-2009, 13:17

ins and outs can be interleaved without setting port $99 in the middle Tongue

Van ARTRAG

Enlighted (6935)

afbeelding van ARTRAG

13-06-2009, 13:30

really?!
can I set port 0x99 for read and than do an out ?
or
set port 0x99 for write and do a in ? (and get the currect value naturally Tongue )
is the internal VRAM pointer incremented at any in or out indifferently?
does it hold for any VDP chip ?
I've never seen this documented! very nice!

Van hap

Paragon (2042)

afbeelding van hap

13-06-2009, 13:48

read this, section 2 Smile http://bifi.msxnet.org/msxnet/tech/tms9918a.txt

*edit* keep in mind that setting up $99 for read will do a VRAM read, so if you want that script to be perfect, add that too. (it's basically the same as setting up $99 for writing, then reading $98 and discarding the result)

Van hap

Paragon (2042)

afbeelding van hap

13-06-2009, 14:27

I added an HALT before the INIR and this should have solved. As soon as I will be able to test the code on a real msx1 I will be able to say how it goes.Hmm, I just compared the two versions by eye, and the fix made the game noticeably slower. Instead of using halt, could you create a 'slowinir' routine?

Van hap

Paragon (2042)

afbeelding van hap

13-06-2009, 15:14

Btw, the number of cycles between outs needs to be at least 29 in the display area on MSX1, not 26.Lotus F3 does consecutive writes with 28 cycles in between, and, not sure if I mentioned this before, it completely messes up on my MSX1s. (outi(18), nop(5), nop(5), outi(18), nop(5), nop(5), etc)

Van PingPong

Enlighted (4138)

afbeelding van PingPong

13-06-2009, 16:47

Btw, the number of cycles between outs needs to be at least 29 in the display area on MSX1, not 26.Lotus F3 does consecutive writes with 28 cycles in between, and, not sure if I mentioned this before, it completely messes up on my MSX1s. (outi(18), nop(5), nop(5), outi(18), nop(5), nop(5), etc)
26 T-States between are ok on a Sony HB 55P (with vdp clone)
in screen 2 with 32 sprites on screen arranged on a 4 row x 8columns.
(active area)

Van hap

Paragon (2042)

afbeelding van hap

13-06-2009, 17:26

Maybe it depends on different factors then. Lotus F3 is still broken on my Sony HB10P, same VDP as your 55P I assume (Toshiba T6950).

Van ARTRAG

Enlighted (6935)

afbeelding van ARTRAG

14-06-2009, 00:02

Hap,
we fixed the speed problem: many halt were no more needed
thanks

Van Manuel

Ascended (19468)

afbeelding van Manuel

16-10-2010, 12:59

Here is the latest version of the script: http://openmsx.svn.sourceforge.net/viewvc/openmsx/openmsx/trunk/share/scripts/vdp_access_test.tcl

Now also takes vblank into account and reads/writes to 0x98 and 0x99. It's still in development, but the link is pointing to the latest version at any time.

Pagina 5/5
1 | 2 | 3 | 4 |