> >Still on Simcoupe. Alan, you say the PIC's won't program correctly under > >Win32? > > Well, yeah, because at that point they're hooked into the Windows > Multimedia timer system.
It'd be nice to move away from direct PIC access for compatability, especially since NT tends not to give access to much that's low level without resorting to kernel-mode drivers (probably overkill for an emulator!). The multimedia timers should do all we need for timer events, and the normal Windows API still gives us a high resolution timer for any polling situations. A separate thread for video updating should allow more accurate video timing when using the multimedia timers. > BTW: Currently, the plan is to use DirectX for everything, and to port > things over to C++ slightly (for non-time-critical stuff). Have you looked into the DirectDraw side in any detail? I've been playing with it for a couple of days and can't see _much_ that helps with the raw image access we'd need, and that would work with windows as well as full screen - it's very good at sprite based stuff tho! I got my Windowed version working last night, using the same modes at the X version: 256x192 (well, plus border) and 512x384. All Sam video modes work with correct colours and most of the keyboard works too - I'll have to dig my Sam out of the loft as I can't remember where what keys are!. It currently only works with the Windows desktop set to 16-bit as I've not done the other depths yet (probably not worth it until the source has been merged as I'm still using 0.72). Under NT4 at home with my Celeron 300A(@450)/Riva TNT it runs faster than Sam speed in 1x1 mode but slightly slower in 2x2 mode. Under NT4 in work with a PII-300/S3 Trio64V2 it runs a bit below real speed at 1x1. It's a start, but it's blitting the entire image for every frame so it could probably do with some optimising! I was planning on getting a GDI windowed version running first, and then moving over to using a DirectX surface instead of a normal DC to allow the option of windowed or full screen. It'd be nice to have the video updating linked to VSYNC for the full screen mode but that won't really be possible for windowed mode. Any comments? > The plan is that you'll be able to do track-dumps of existing disks and > put those directly onto the PC, and it'll handle it all quite happily > (fingers crossed). I look forward to that! Si