Jump to content
IGNORED

7800 Expansion Module


Curt Vendel

Recommended Posts

Would it make things easier to simply use the registers/locations that the XBoard uses for POKEY and RAM? If the expansion module could be upgraded to 128K of banked RAM, it would provide all of the functionality of the XBoard and more. There really wouldn't be any reason why anyone would want to use both devices at the same time, so a conflict between the two shouldn't be an issue. Using the same footprint as the XBoard would also make it easy for new software to support both devices, and games that currently use the XBoard would be able to run on the Expansion Module without modification.

Link to comment
Share on other sites

Would it make things easier to simply use the registers/locations that the XBoard uses for POKEY and RAM? If the expansion module could be upgraded to 128K of banked RAM, it would provide all of the functionality of the XBoard and more. There really wouldn't be any reason why anyone would want to use both devices at the same time, so a conflict between the two shouldn't be an issue. Using the same footprint as the XBoard would also make it easy for new software to support both devices, and games that currently use the XBoard would be able to run on the Expansion Module without modification.

 

Using the same addresses sound like a good idea. :thumbsup:

Link to comment
Share on other sites

Somebody mentioned the lack of a Harmony cart for the 7800, but with a little electronics experience, you can make your own SRAM cart that works with the DevOS.

 

Does anyone make these carts for people one-off? I've made the simple 32k version, but would like the bigger bank-switched one.

Edited by R.Cade
Link to comment
Share on other sites

Would it make things easier to simply use the registers/locations that the XBoard uses for POKEY and RAM?

 

Are there any homebrew games that use XBOARD RAM? I'm not sure if they do. I know the XBOARD POKEY is used in Beefdrop (and maybe also Froggie?).

Link to comment
Share on other sites

Are there any homebrew games that use XBOARD RAM? I'm not sure if they do. I know the XBOARD POKEY is used in Beefdrop (and maybe also Froggie?).

None that I know of have used the RAM (so far), but as you say, there are a few that use POKEY. I haven't looked at it in a while, but I think the XBoard uses a banked 16K window for the RAM. So whether the Expansion Module upgrades to 128K or sticks with 16K, it should fit right in.

Link to comment
Share on other sites

I haven't looked at it in a while, but I think the XBoard uses a banked 16K window for the RAM. So whether the Expansion Module upgrades to 128K or sticks with 16K, it should fit right in.

 

Yep! Its a 16K window. You could map one of the expansion modules control registers to be XBOARD compatible if its XBOARD RAM enable bit is set, map in 16K chunks otherwise go for the 8K chunks as favoured by opcode and I.

Link to comment
Share on other sites

Well I would like to keep it compatible with the ballblazer pokey location. As for ram paging, how do you guys feel about using 3fff-ffff ???

 

The problem with Ballblazer Pokey is that we loose 8KB of RAM space.

Link to comment
Share on other sites

In my mind its a new product for the homebrew creators, fans and system collectors. Trying to support back catalogue games like Ballblazer and Commando when they are already on cart or can be played on a CC2 isn't worth the headaches IMO.

 

How about this for an offer? If you choose a different address I'll reverse engineer Ballblazer and Commando to use the new address. No worries then :lol:.

  • Like 2
Link to comment
Share on other sites

Done... Okay so should we use the xboard address then ?

 

Yep! Makes sense to me because there are more homebrew games supporting POKEY than back catalogue games. Lets map POKEY to 0x450.

 

I agree. :thumbsup:

Link to comment
Share on other sites

Done... Okay so should we use the xboard address then ?

 

Yep! Makes sense to me because there are more homebrew games supporting POKEY than back catalogue games. Lets map POKEY to 0x450.

:D :thumbsup:

 

What about the RAM? Personally, I think the XBoard's location ($4000) is a good place for it, since that's the location already used by cartridge-based RAM; as a result, games that require it (like the upcoming "fixed" version of Impossible Mission) can use it without modification. The XBoard avoids conflicts with cartridges that use their own onboard RAM by disabling the extra RAM by default.

 

I also like GroovyBee's idea of enabling the extra RAM through the control register in a variety of bankswitching modes (XBoard-compatible 16K banks or individual 8K banks), if this would be possible.

Link to comment
Share on other sites

Mapping POKEY to 0x450 -- AGREED.

 

Okay, so $4000 for RAM???

 

 

Lastly, this has been itching me for a bit, since we are bringing the CVIDEO up through the cart port, and we've got EXT AUDIO too... I think a pair of footprints for some RCA connectors are in order.

 

 

 

 

Curt

Link to comment
Share on other sites

So lets say we use 4000 for RAM...

 

I could put a 32Kx8 chunk of memory at 4000-7FFF, put it on the bus and set the CE through a 74138 (B C) on A14 and A15 and output Y5 to Pin 20 (CE) on something like a 62256 or a like...

 

Just a quick thought...

 

Oh, and of course you'd need a 7400 off of Pin 1 (RW) and Pin 32(CLK2) for the RW on Pin 27 of the 62256

Edited by Curt Vendel
Link to comment
Share on other sites

Mapping POKEY to 0x450 -- AGREED.

 

Okay, so $4000 for RAM???

 

 

Yep, $4000-$7FFF for RAM.

And please, please, take my idea into consideration, two pages ($4000-$5FFF and $6000-$7FFF), 4x8KB RAM banks (32KB). You create a map register, 8 bits, 2 bits per bank selector.

Any access to $4000-$7FFF ("01"A13x xxxx xxxx xxxx) enables the RAM register.

A13 and /HALT defines the register bits to be used thru a decoder.

A13   /HALT  REG bits select (R2R1)
0    0       1/0      MARIA BANK $4000-$5FFF
0    1       3/2      CPU BANK   $4000-$5FFF
1    0       4/5      MARIA BANK $6000-$7FFF
1    1       7/6      CPU BANK   $6000-$7FFF

RAM enable is used as the decoder enable, so if RAM disabled no register bits are selected (output).

 

RAM access address is then given by:

R2R1A12 A11A10A9A8 A7A6A5A4 A3A2A1A0

 

I believe you shouldn't have a problem fitting all of that on a simple CPLD like the ATF1500.

 

Eduardo

Edited by opcode
Link to comment
Share on other sites

You're really pushing the damned PLD aren't you??? :-)

 

Alright, alright... I wanted to keep this on the old school side, but real estate is gonna get chewed up too fast with all of these functions and I still need a decent amount of real estate for the prototyping/connectors area.

 

 

32 macrocells it is! :-)

 

 

 

Curt

 

Mapping POKEY to 0x450 -- AGREED.

 

Okay, so $4000 for RAM???

 

 

Yep, $4000-$7FFF for RAM.

And please, please, take my idea into consideration, two pages ($4000-$5FFF and $6000-$7FFF), 4x8KB RAM banks (32KB). You create a map register, 8 bits, 2 bits per bank selector.

Any access to $4000-$7FFF ("01"A13x xxxx xxxx xxxx) enables the RAM register.

A13 and /HALT defines the register bits to be used thru a decoder.

A13   /HALT  REG bits select (R2R1)
0    0       1/0      MARIA BANK $4000-$5FFF
0    1       3/2      CPU BANK   $4000-$5FFF
1    0       4/5      MARIA BANK $6000-$7FFF
1    1       7/6      CPU BANK   $6000-$7FFF

RAM enable is used as the decoder enable, so if RAM disabled no register bits are selected (output).

 

RAM access address is then given by:

R2R1A12 A11A10A9A8 A7A6A5A4 A3A2A1A0

 

I believe you shouldn't have a problem fitting all of that on a simple CPLD like the ATF1500.

 

Eduardo

Link to comment
Share on other sites

A disappointment I have with the XBoard RAM is that it's all or nothing. If you have something in your cartridge that needs any address between 0x4000-7fff, then you can't enable the XBoard RAM at all.

It would be an improvement if you could enable only half of the RAM address space, leaving the other half for the cartridge.

 

But honestly, I'm lukewarm about expansions like this. It would be useful for optional features, but I don't like the idea of it being required to run a game.

Link to comment
Share on other sites

A disappointment I have with the XBoard RAM is that it's all or nothing. If you have something in your cartridge that needs any address between 0x4000-7fff, then you can't enable the XBoard RAM at all.

It would be an improvement if you could enable only half of the RAM address space, leaving the other half for the cartridge.

 

But honestly, I'm lukewarm about expansions like this. It would be useful for optional features, but I don't like the idea of it being required to run a game.

 

 

Well just think of this as the 7800's version of the 32X :grin:

Link to comment
Share on other sites

A disappointment I have with the XBoard RAM is that it's all or nothing. If you have something in your cartridge that needs any address between 0x4000-7fff, then you can't enable the XBoard RAM at all.

It would be an improvement if you could enable only half of the RAM address space, leaving the other half for the cartridge.

 

But honestly, I'm lukewarm about expansions like this. It would be useful for optional features, but I don't like the idea of it being required to run a game.

 

 

Well just think of this as the 7800's version of the 32X :grin:

 

I thought that was the CC2. :ponder:

 

Of course the CC2 probably sold more copies than the 32X did. :lol:

 

Mitch

Link to comment
Share on other sites

I think of the 7800 Expansion Module as something closer to the ECS Computer Adaptor for the Intellivision, in that it primarily adds extra sound capability and extra RAM through a plug-in upgrade designed for the cartridge port. Of course, the Computer Adaptor also added a keyboard, extra controller inputs, and I/O ports, but the POKEY is certainly capable of all of those things, and hopefully we'll see some interesting expansions to the Expansion Module in the future.

 

I'll just be excited to see the Module itself! I love the idea of a plug-and-play upgrade that will combine remedies to some of the 7800's most serious limitations all in one package. It will make games easier to publish and will give developers so much more to work with, while freeing collectors and players from having to mod their consoles (as they would have had to do with an internal upgrade like the XBoard).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...