> I'm about to start programming a Commodore 64 emulator but before I begin, I'd
> like to ask a few questions regarding the graphics part of it. But before I ask
> my questions, let me give you some background info on what I know.
> - Assembly for the 6502/6510 cpu.
> - VIC II, 6526 CIA architecture (internal registers)
> - Still working on reviewing the SID chip
> As for my programming knowledge, I've done quite a bit of work with VB 6 but my
> language of choice is C/C++. I've also done quite a bit of programming for the
> Directx API (version 7-9) especially Direct3D.
> Now to my questions:
> 1) Which is preferred for displaying the graphics when using the DirectX API?
> DirectDraw or Direct3D? I'm asking because Direct3D doesn't really seem suited
> for direct pixel manipulation which I believe is whats needed for drawing the
> 2) Is the screen drawn all at once or one scanline at a time? I would think it
> needs to be drawn one scanline at a time for it to be accurate. I say this
> because the C64 uses raster interrupts that can modify the screen in real time.
> 3) If drawing the screen using scanlines is the preferred method, what's the
> fastest way to achieve this. I'd hate to lock and unlock the back buffer many
> times as the scanline is drawn. This would be way to slow in Direct3D or
> DirectDraw. Am I better off drawing the scanlines in a temporary array (virtual
> screen) and then paint it to the screen at once? What's the best approach to
> 4) And what about the 8 sprites the C64 supports. Is this a matter of just
> making PC sprites that mimic the C64's sprites.
> I'd appreciate any info you guys could give me.