Re: vcs.h (was: Re: [stella] redline problem OK...THANKS!!!!)

Subject: Re: vcs.h (was: Re: [stella] redline problem OK...THANKS!!!!)
From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
Date: Sat, 13 Jul 2002 15:43:42 +0200
> Yes, I did make it up.  But that doesn't make it any less valid as
> a hardware format.  :)  I'm the first to admit that it's vaporware,

I wasn't trying to put down the Megacart format. I was just
using the fact that you misspelled it as "Mecacart" as an
excuse for not having to implement support for it in z26. ;-)

> and I often poke fun at my self over that.  But it is sort of a chicken
> and the egg thing.  Stella supports it ("MC" format), but a lot of people
> use z26 for development purposes due to its superior emulation.  If the
> emulators support a format, that's one less barrier to someone's trying
> to use it.  And if someone tells me they want to use it, you'll see a
> hardware prototype in a couple of months.  So there.  :P

No matter how many emulators support the Megacart format, I don't
think you'd get any programmer support unless you can prove that
it works in hardware and that you can provide boards in quantity
at a reasonable price. I mean everyone around here always complains
that 128 bytes of RAM aren't enough for his game, but no-one dares
to write something for the countless extra-RAM formats that the
emulators support, because there isn't a ready-to-use way to get
such a game released in cartridge form.

> On a more serious note, what are the space limitations in z26?

Under DOS you get memory in segments of 64K. If you want more
memory, you need to mess around with the segment registers. Since
VCS games are so small, z26 was written to use one segment for
code and one segment for data. In the data segment we have enough
room to support 32K ROM space for VCS games and 2K of RAM. If we
wanted to have more game ROM in a different segment, we would need
to set the data segment register to the new segment every time
the game ROM is accessed, and then set ip back to access the other
data in the emulator.

Or we could copy the entire bank from the other segment to the
main data segment every time the game switches a bank. This
it what we do for the Megaboy ROM. Since the Megaboy accesses
it's banks sequentially and doesn't do too much bankswitching,
this is working quite alright. But for a game with lots of random
banks accesses this method would probably quite slow and the code
to support it would be pretty ugly. So support for the Megacart
in z26 isn't impossible. It just wouldn't be nice enough to write
it without a good reason. ;-)

Ciao, Eckhard Stolberg

Archives (includes files) at
Unsub & more at

Current Thread