Jump to content
IGNORED

Homebrew intellivision cartridges ?


Yoruk

Recommended Posts

Hi all,

 

I have the first Intellivision, bought from a yard sale. Works fine after a quick restoration, but unfortunately I didn't have a lot of games. ?

 

I tried to see if it was possible to create simple homebrew cartridges (something like a simple eeprom on a PCB, like we can do for the VCS2600...) but it looks like the cartridge slot is a bit complicated to use like this.

 

So I don't know if there is simple cartridges schematics that I can use ? I'm not really looking for a complicated sd-card multigame cartridge project, really something simple, that I can product for cheap. (I have various eproms in stock...)

 

Thanks ! ?

 

(PS : I hope that this post is in the good forum ?)

Link to comment
Share on other sites

Aren't cartridge pins 37, 39, 41 the bus control signals?

 

You'll also have to fit the rom within the intellivision cartridge memory map.  The first 8k typically starts at address $5000.

 

There are a couple of guys here that make homebrew cartridges at least one of them uses a microcontroller.  Most buy the ltoflash memory cartridge which uses a microcontroller and allows selecting different rom images.  There was an older design called the cuttle cart 3 and a ram based cartridge called the intellicart.  Maybe an intellicart schematic is available.

Link to comment
Share on other sites

Thanks for your feedback.

 

Here are (I think) the signals combination that I was looking (to get the data and the bus) :

 

BDIR BC2 BC1 Mnemonic Name Description
0 0 0 NACT No ACTion During this stage, no device is active on the bus. DB0 through DB15 are allowed to float, with their previous driven value fading away during this phase.
0 0 1 ADAR Address Data to Address Register This bus phase is issued by the CPU during a Direct Addressing Mode instruction. Prior to this phase, an address will have been latched in a device by a prior BAR or ADAR bus phase. Then, during this phase, the currently selected device responds with its data on the bus, and at the end of this phase, all devices should latch this address as the address for the next memory access (DTB, DW, or DWS phases). The CPU asserts nothing during this phase -- rather, it expects the currently addressed device to inform the rest of the machine of the address for the next access.
0 1 0 IAB Interrupt Address to Bus This bus phase is entered during interrupt processing, after the current program counter has been written to the stack. It's also entered into on the first cycle after coming out of RESET. During this phase, an external device should assert the address of the Interrupt or RESET vector as appropriate. The CPU then moves this address into the program counter and resumes execution.
0 1 1 DTB Data To Bus This phase is entered during a read cycle. During this phase, the currently addressed device should assert its data on the bus. The CPU then reads this data.
1 0 0 BAR Bus to Address Register During this phase, the CPU asserts the address for the current memory access. All devices on the bus are expected to latch this address and perform address decoding at this time.
1 0 1 DW Data Write The DW and DWS bus phases initiate a write cycle. They always occur together on adjacent cycles, with data remaining stable on the bus across the transition from DW to DWS. During these phases, the data being written is available for external memories to latch. The CP-1600 allows two full CPU cycles for external RAM to latch the data.
1 1 0 DWS Data Write Strobe
1 1 1 INTAK INTerrupt AcKnowledge

The CPU enters this bus phase on the first cycle of interrupt processing. During the phase, the CPU places the current stack pointer value on the bus as it prepares to "push" the current program counter on the stack. Devices are expected to treat INTAK similarly to a BAR bus phase. Indeed, on the Intellivision Master Component, only the 16-bit System RAM sees the INTAK bus phase. It uses this bus phase to trigger a special bus-copy mode as well as for latching the current address. For all other devices in the system, INTAK is remapped to BAR by some discrete logic, and so is processed as a normal addressing cycle elsewhere.

 

A microcontroler can for sure helps dealing with this. Unfortunately I couldn't manage to find deep details about the old Intellicard and CC3 projects, only manuals. And the LTO Flash project looks discontinued too...

 

I'll try to contact the author of this project, as he's also the writer of the web page shown earlier.

 

  • Like 1
Link to comment
Share on other sites

Back in the day, at Mattel, they used eproms on cartridges with extra circuitry for prototype games that they called 'T-cards'. (See pictures)

 

Today, there are at least a few designs going around for new games. If you program a new game, you can purchase cartridges and shells to put the game on the new boards. 

 

Intellivision cartridges are not cheap to make. You can't simply transplant eproms on to cheapo circuit boards. You are better off simply buying an LTO Flash! (available again later this year) than trying to make cartridges if you just want to run existing games. 

IMAGE2S.JPG

Image1s.jpg

  • Like 1
Link to comment
Share on other sites

5 hours ago, Yoruk said:

...

A microcontroler can for sure helps dealing with this. Unfortunately I couldn't manage to find deep details about the old Intellicard and CC3 projects, only manuals. And the LTO Flash project looks discontinued too...

 

I'll try to contact the author of this project, as he's also the writer of the web page shown earlier.

 

That's atariage user Intvnut.

Link to comment
Share on other sites

I got a nice email from Intvnut (his personal mail) ? To sum up the minimal amount of parts needed is :

  • A 16-bit wide memory
  • An address latch and decode logic
  • Some Bus decode logic (16-bit too)

From the Osborne book we can find this roughly schematics :

 

cp1600_26.jpg

 

Wich confirm the role of BC1, BC21 and BDIR.

 

He also gave me information about the T-card, I'll try to find schematics, just to see how it can be possible to solve this decoding the hardware way ?.

 

But the ultimate solution, as said earlier, is to use software (so a microcontroler or a FPGA) to decode and latch the data.

 

1 hour ago, Games For Your Intellivision said:

Intellivision cartridges are not cheap to make. You can't simply transplant eproms on to cheapo circuit boards. You are better off simply buying an LTO Flash! (available again later this year) than trying to make cartridges if you just want to run existing games.

 

This is more or less the conclusion that I will give to this. Contrary to the VCS2600, the Intellivision cartridges interface is quite more complicated. As you say a lot of project already exists, so it could be a nice solution to extend my games list.

 

Thanks everybody for your feedback on this.

 

  • Like 1
Link to comment
Share on other sites

As much as I am a fan of this console I find the price of the lto too high, considering that with the same money I could buy a latest generation console (for me who lives in Europe I should sell myself a kidney only for shipping)
I am also constantly trying to find electrical schematics of the intellicart and also more detailed schematics of the various console models (for example the model 1591) but, sometimes, it seems to have to do with NASA projects

Sorry my english ?

Link to comment
Share on other sites

On LTO Flash:  I'm working through all of my project backlog right now, and will eventually get to programming those boards.  I have two boxes full of LTO Flash boards in my livingroom waiting for some love.  They're a bit more complicated to program and test than JLP boards, and I have a number of requests for JLP boards as well.  I also need to bust out my plastic notching tool.  I'm not going to give a target date until I have something ready to ship.

 

As for the bus phases that Yarok quoted above:  I need to point out (as I did in email) that you also need the ADAR bus phase.

 

I'll quote my email here for everyone's benefit.

Quote

You need at a minimum:

  • A 16-bit wide memory (EPROM, Flash, etc). You could build this out of two 8-bit memories.
  • An address latch.
  • Address decode logic.
  • Bus decode logic.
The short short version:
  • On the falling edge of BAR and ADAR, sample the address bus to the address latch.
  • On the rising edge of DTB and ADAR, if one of your addresses is selected, assert your data on the bus and hold it until the falling edge of DTB/ADAR.
  • Yes: ADAR combines the actions of both DTB and BAR.  ADAR stands for Addressed Data to Address Register.  Whoever was selected by the previous BAR or ADAR puts their data on the bus. Everyone latches it as the next address.
 
Caveats:
  • There are usually dead cycles (NACT) between bus phases.  This isn't true for DTB => BAR in some cases. (SDBD read.)
  • There's quite a bit of skew between BC1, BC2, and BDIR on some versions of the Intellivision, due to some remapping logic on BC1 and BC2.  (See top-center of the schematic.)   Be sure to test against both an Intellivision 1 (lots of skew) and an Intellivision 2 (little skew).  It seems to mostly affect carts that implement RAM.
  • Treat INTAK as BAR.  Most Intellivisions remap it to BAR for you.  TutorVisions and TutorPros (INTV88 based SuperPros) do not.
  • Stick to 5V logic to be compatible with the Intellivision.
You can find some example circuits online.  William Moeller published a T-Card schematic a long time ago, as chapter 9 of De Re Intellivision.  It's in IBM Extended ASCII, which means you'll need to use an old-school editor to render it.  I think someone on Atari Age (Chris Dreher, aka. lathe26) may have turned it into a modern looking schematic.
 
Other potentially useful resources:
Back in 2001 - 2007, I produced a number of carts with a design made by Chad Schell that incorporated a single 27C1024 EPROM and a XC9536 CPLD.  That provided sufficient I/Os to latch and decode addresses for 16K games, but I could not make use of the full capacity of the EPROM.
 
I personally went a different route 2007 onward:  I use PIC24H microcontrollers and implement 100% of the logic in software.

 

  • Like 9
  • Thanks 2
Link to comment
Share on other sites

@intvnut : Thanks for sharing this answer.

 

A possibility to simplify the design, as also explained by intvnut, is to choose a static memory map for the ROM. Here are some details about the global map of the machine. Is there a wide-used range ($5000 as suggested by mr_me) that could be use for a majority of games ?

 

So, regarding the decoding scheme given by the Osborne book I came up with this :

-a GAL or other programmable device handles the BC1, BC2 and BDIR signals, to create the adresses latches signals and ROM chips enabling signals

-two 8 bits EPROMS

-two 8 bit latches on the bus adresses (like 2*74LS373 ICs)

-some decoding circuits (74LS138 or 139) to make sure that the rom is in the good addresses range.

 

image.thumb.png.3b7cf9cfa1de24079dd1d8643125bd52.png

 

 

Didn't know if this a good start or if I'm completely wrong...?

 

Link to comment
Share on other sites

There is a 'standard' memory map default that could be used for many of the early and common games available on the Intellivision. However, making them would be more expensive than obtaining many of the common cartridges for the system. 

 

If you have the skills to produce a cartridge, there probably would be a market for a low cost cartridge that could take SD cards instead of an eprom allowing people to load games without investing the $120 US in an LTO Flash!  

 

Newer games are being written with JLP cartridges (flash memory and other enhancements) in mind and the rest are being put on pretty standard cartridges that are programmable but not meant to really be a 'multi cart'. 

  • Like 1
Link to comment
Share on other sites

On 5/8/2020 at 8:14 AM, Intymike said:

What latest generation console do you get for about $150 including international shipping?

As for me, I think that spending a sum like that just for a cartridge is excessive, but not because that cartridge is expensive, also because I understand, after much research, that to make it is very complicated

On 5/8/2020 at 10:55 AM, carlsson said:

I think he refers to the scalpers reselling LTO Flash! units on eBay for twice or thrice the original price.

unfortunately I expressed myself badly, but my language is not English and I am using the translator trying not to write nonsense
I meant with "last generation" however new consoles or others (consoles) not "simply" cartridges

However, at least where I am, the price (on Ebay) of the Intellivision or even just for an Intellivoice, compared to the U.S. they are far more expensive

On 5/8/2020 at 10:01 PM, intvnut said:

On LTO Flash:  I'm working through all of my project backlog right now, and will eventually get to programming those boards.  I have two boxes full of LTO Flash boards in my livingroom waiting for some love.  They're a bit more complicated to program and test than JLP boards, and I have a number of requests for JLP boards as well.  I also need to bust out my plastic notching tool.  I'm not going to give a target date until I have something ready to ship.

 

As for the bus phases that Yarok quoted above:  I need to point out (as I did in email) that you also need the ADAR bus phase.

 

I'll quote my email here for everyone's benefit.

 

I have a lot of respect for the work, love and care behind the creation of these magical cartridges (for me out of budget "I'm poor ....") and I was almost moved when I read everything you published in this post, which for me is oxygen as a fan of this console
I would be sooooo interested in everything related to the Chad Schell cartridge, not to market it but to have something to put the games on and play, in the meantime, very, very, very slowly increase the collection of games in box or loose
If then, someone moved by human pain and charity, filled me with electrical diagrams, I am learning to repair and modify many Intellivision to bring them back to life
I hope I have not been misunderstood and if it happened I apologize

ps but what is the "infamous book of Osborne"?!?

Link to comment
Share on other sites

5 hours ago, LoAnMiLu said:

I would be sooooo interested in everything related to the Chad Schell cartridge, not to market it but to have something to put the games on and play, in the meantime, very, very, very slowly increase the collection of games in box or loose

 

To quote again intvnut, the Intellicart actually works by uploading the game binary through a serial port into some RAM, the system next loads the game to run it. The CC3 has the same features but can also load games from a micro SD card. Didn't know if is it possible to get one. The "actual" device is the LTO.

 

The "infamous book of Osborne" is a kind of resource book on the TI's CP1600 : http://spatula-city.org/~im14u2c/chips/cp1600_osborne/

 

Link to comment
Share on other sites

17 hours ago, Yoruk said:

 

The "infamous book of Osborne" is a kind of resource book on the TI's CP1600 : http://spatula-city.org/~im14u2c/chips/cp1600_osborne/

 

When Scott Nudds and I were doing research to build the world's first known Intellivision cartridge ROM dumper, we found the Osborne book at our local library when we wanted to find out about the General Instrument CPU and ROMS inside the Intellivision. The book was invaluable and Scott eventually built the device, (described in a chapter of DeRe Intellivision) and we dumped pretty much every cartridge plus the Graphic ROM and The Exec ROM and the ECS Exec ROM that are floating about now.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

There seem to be at least two Osborne books.  The one on Joe's website is "The 16-Bit Microprocessor Handbook" published in 1981.  This can be found on bitsavers.org, where the CP-1600 (the Intellivision's CP-1610 is a slower clocked variant) is detailed in chapter 2. There is also the earlier "An Introduction to Microcomputers Volume 2 - Some Real Products", published in 1976.  I got a copy of this from abebooks, although it can also be found on archive.org, the CP-1600 is described in chapter 15.

 

With regard to methods of replicating an Intellivision cartridge, for those interested in getting their hands dirty "single chip" solutions are possible, here is one based on the Teensy 3.2 microcontroller running on a breadboard. This ARM Cortex M4 MCU has enough grunt to run a MIDI connection as well (more information here).  The firmware to mimic the cartridge is written in C using the Arduino toolkit and the MCU costs about $20.

 

image.thumb.png.58bab46b6fb45e93b289a83df01c4364.png

Edited by decle
Added details of second Osborne book
  • Like 4
Link to comment
Share on other sites

  • 6 months later...
  • 5 months later...

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...