Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - New VDP docs

Reply to topic
Author Message
  • Joined: 28 Sep 1999
  • Posts: 1197
Reply with quote
New VDP docs
Post Posted: Thu Mar 16, 2000 9:12 pm
I've finished up a document describing the SMS VDP in detail,
which is (hopefully) more accurate than the current info
that's available.

You can get it here:

http://www.wenet.net/~cgfm2/smsvdp.txt

Any comments or suggestions are welcome.


  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 25 Oct 1999
  • Posts: 2029
  • Location: Monterey, California
Reply with quote
Post Posted: Fri Mar 17, 2000 4:06 pm
Quote
> I've finished up a document describing the SMS VDP in detail,
> which is (hopefully) more accurate than the current info
> that's available.

> You can get it here:

> http://www.wenet.net/~cgfm2/smsvdp.txt

> Any comments or suggestions are welcome.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 25 Oct 1999
  • Posts: 2029
  • Location: Monterey, California
Reply with quote
Re: New VDP docs (actual text this time)
Post Posted: Fri Mar 17, 2000 4:24 pm

Rockin!

I can see now why that line interrupt intensive demo I was working on was doomed: I really didn't understand the way the VDP counts scanlines. Maybe I can ressurect the demo later on.

I also didn't know it was necessary to read the control port to 'silence' the IRQ... I'd been getting rapid fire interrupts that had hosed everything I was working on, so I eventually quit using them, disabling interrupts and just polling port $7f (which worked in meka and brsms) or port $bd (which only worked in brsms if interrupts were disabled).

Well, that's VERY useful. Hopefully I'll be able to release something this weekend that I'm not ashamed of.

We'll see.

I had noticed that some older SMS games seemed to to a few 'meaningless' port reads during interrupts, but I had dismissed it as bad coding, alongside their habit of pushing ALL the registers and shadow registers onto the stack at every interrupt, hblank included, and never using them.

I pay for my hubris.
  View user's profile Send private message Visit poster's website
Nyef
  • Guest
Reply with quote
Re: New VDP docs (actual text this time)
Post Posted: Fri Mar 17, 2000 4:50 pm
Quote
> Rockin!

Indeed. This truly rocketh mightily.

Quote
> I also didn't know it was necessary to read the control port to 'silence' the IRQ... I'd been getting rapid fire interrupts that had hosed everything I was working on, so I eventually quit using them, disabling interrupts and just polling port $7f (which worked in meka and brsms) or port $bd (which only worked in brsms if interrupts were disabled).

I knew about having to acknowledge the IRQ, but I didn't know most of the details of the scanline counters or that some games needed the CPU core to be able to check the IRQ line status when the interrupt flag changed (another thing to put on my CPU interface redesign todo list). Maybe this will also fix some of my PC-Engine problems...

Quote
> We'll see.

That we will.

Quote
> I had noticed that some older SMS games seemed to to a few 'meaningless' port reads during interrupts, but I had dismissed it as bad coding, alongside their habit of pushing ALL the registers and shadow registers onto the stack at every interrupt, hblank included, and never using them.

Register pushes like that is usually a sign of a poor-quality runtime or library setup, but port reads are usually important (usually).

Quote
> I pay for my hubris.

We all pay for our hubris. It is both a Vice and a Virtue (along with Laziness and Impatience). Will that be check, cash, or credit card?

--Nyef
 
Reply to topic



Back to the top of this page

Back to SMS Power!