VOGONS


First post, by wiz21

User metadata
Rank Newbie
Rank
Newbie

Dear DB team,

First of all, thank you for such a powerfull tool. It's just great !

Now to the meat. I was the coder behind the Imphobia diskmag (maybe some of you remember the old-days of the demoscene). I wanted to read the past issues of the magazine and well, it works so/so. In particular, it's really bad from issue 6 onwards. I think I know why it is like that and, in case you don't know, I tell you.

Imphobia 6+ had a somewhat advanced way to manage the display. The (EGA, 640x400 i think) screen was divided into three parts. The first one was displayed a standard 16 colours block. When the scanline reached the end of that block, I changed the palette index (don't rememeber the name of the register on the VGA card) so that the second block would have an entirely different palette. There I was also changing the video hardware screen origin to have a perfect scrolling. At the end of that second block, I changed the palette again. The screen origin was reset with another trick (the VGA allowed one to have to distinct video "banks" on the screen). So basically, I was achieveing 48 colors in EGA (oooh I'm still proud of that 😀). The whole issue was to actually set an interrupt that would trigger at the appropriate scanlines. This was achieved by first timing the scanline progress and second by reprogramming the PIT (either alone, either trhough sound-replay routine of the mod-player) so that it stops on the beginning of the three blocks.

I've checked the dosbox code a bit but the lack of comment make it very difficult for me to answer the following question : would it be possible to make DosBox accurate at the scan line level (rather than at the full VBL level). I guess it should since one can play 36KHz PCSpeaker sound without too many problems (scanline was roughly 512*60Hz). However, doing so would pose a big threat on the VGA emulation since every register programming must take effect at the scan line level...

Needless to say that this would help a lot of other demos to work on DosBox. So, is it possible ? I may have some spare time to look into it.

stF (aka Wizard [Imphobia])

Reply 1 of 4, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Shouldn't be that hard it already splits the vga screen update into 4 or so blocks now and the length of the timers for horizontal length are calculated but never added a special mode for it since doing it by default would be a nasty waste of cpu power for other stuff that doesn't use it.

Reply 4 of 4, by jal

User metadata
Rank Oldbie
Rank
Oldbie
wiz21 wrote:

Now to the meat. I was the coder behind the Imphobia diskmag (maybe some of you remember the old-days of the demoscene).
stF (aka Wizard [Imphobia])

Oh yeah... Those days really kicked ass... (and so did Imphobia!)

JAL (of the demogroup Nostalgia, if anyone remembers us 😀)