oooh, more links to check out
Thanks!
I do have a couple of questions:
I've been rebuilding my BASIC compiler using BEX's ASM Library (devster gave me the go-ahead to use it
) and there's a few things in BEX that I don't understand what's happening, or rather, I understand what's going on in theory/conceptually, but my ASM knowledge is still pretty limited. One of the functions I'm not finding a direct solution for is selecting the display type and another is setting interlace modes.
Looking at the VDP documentation by Charles MacDonald, Devsters VDP document, Marc's tutorial, and BigEvilCorps tutorial site, I see a few things on setting the VDP registers with these settings.
I'm actually going to just reference Devsters with these questions since his page is the easiest for me to read/understand at the moment
http://devster.monkeeh.com/sega/yavdp.html
On this link, section #12 - Mode Set Register No. 4 - [move.w #$8Cxx,($C00004)], it mentions what bits do what and what needs to be set for which feature to enable/configure. I figured out the shadow/highlight mode with some help from someone here or on the BEX forums, I forget which now, which was 2 lines of code : move.w #$8C89,($C00004) and move.w #$8C81,($C00004)
(I actually think I'm figuring this out as I ask these questions)
If I understand correctly, the 8C is the beginning address, and the 81 and 89 are the VDP settings (81 = 10000001 and 89 = 10001001). That would mean it's 40 cell mode with shadow disabled and 40 cell mode with shadowmode enabled, right? If so, setting the VDP to 32 cell mode would 8C08 and 8C00 and setting the interlace mode would be 8C01 for interlace, 8C00 for non-interlace (also 40 cell mode and shadow mode disabled), 8C01 for interlace, and 8C03 for double interlace, and would be done in the same manner as the enable shadow/highlight mode above: move.w #8Cxx, ($C00004).
Can anyone tell me if I'm understanding this right, and if not, help me with my confusion?