|
GAL20V8BLattice
|
x 1 | |
|
74LS273 |
x 1 | |
|
EPROM - read the descript_ion |
x 1 | |
|
100nFCeramic or MLCC
|
x 2 |
Commodore 264 Series Magic Cartridge
Hardware design of a cartridge for the Commodore 264 series of computers - Commodore 16, 116 and plus/4
This is the hardware part that accompanies the project of Magic Cartridge Generator
This project is free to use and you can use any PCB manufacturer by downloading the Gerber files, but if you would like to support my work and help with further hardware development you can order these PCBs on PCBWay.
Hardware Description
Original Commodore 264 cartridges could be up to 32 Kb in size, in two separate banks of 16Kb. This cartridge implements a latch which is tied to a memory address, so it can address (in this incarnation) up to 2 megabytes of data (128 banks of 16Kb). In that regard, it is very similar to Magic Desk or Ocean cartridges for the Commodore 64.
EPROM is selected by the C1LO selection line coming from the computer, and the 16k of data from the selected bank is visible in the memory map at addresses $8000 - $BFFF.
Inputs of an 8-bit latch (74LS273) are connected to the data lines. A GAL20V8 is responsible for decoding writes to a memory address by decoding the full address bus. Decoder has the option of decoding several frequently used addresses for banking cartridges, since there is no standard address defined. This cartridge is primarily designed to enable making onefile program compilations through the Magic Cartridge Generator.
The PCB was designed to accommodate various types of EPROMs and their FLASH variants. The smallest EPROM you can use is 27C010 (128Kb), and the largest is 27C160 (2Mb). There are two EPROM sockets, but you cannot use both at the same time. The left socket accepts standard 8-bit EPROMs and their FLASH variants (27C010 to 27C080) and the right socket is for 27C160 (16-bit EPROM in 8-bit mode).
Address decoder
The address decoder is implemented in GAL20V8. All 16 address lines, /PHI2 and /RW are connected to the GAL to enable single-address decoding. Of course, a GAL16V8 could have been used, but it would only be capable of decoding an address in 16-byte blocks, or the address decoder could be implemented in TTL logic which would require at least 3 ICs. Two spare inputs were used to create a selection jumper to select between four commonly used addresses for cartridge banking. The default address used is $FDFE, which is mentioned in the document at http://solder-synergy.de/plus4/hardware/makers/ioarea.txt as "Register on EPROM-card". Other addresses which can be configured are $FE00 (used on a Hungarian homebrew cartridge found at http://www.commodoreszerviz.hu/c16-116-plus_4_1mb_catridge_juhasz_jacint.htm), $FDA0 used by another homebrew cartridge, and $FD17 which is also mentioned in the document above as "Register for EPROM-/sRAM-expansion".
The address decoder is configured with a solder-jumper on the bottom side of the PCB. The configuration legend is also shown at the bottom. Use extreme care when trying to bridge the pads (if needed, as the default configuration is already selected when the jumper is open) because you can easily lift the pads with excess heat.
EPROM selection jumpers
In order to support most common types of EPROMs and FLASH EPROMs, two solder jumpers have been placed on the bottom side of the PCB. They look like this:
These jumpers HAVE to be configured before plugging the cartridge to your computer! Different types of EPROMs and their FLASH variants have some pins swapped, and if you are using a chip smaller than the maximum size, the unused address lines have to be pulled high on the EPROM side to ensure proper functioning.
You can use either the left 32-pin socket, or the right 42-pin socket, but never the both at the same time. The right socket is meant for using the 2Mb 27C160 EPROMs. This is a 16-bit EPROM but it can be forced to work in 8-bit mode by connecting the BYTE/Vpp pin to ground. In that configuration, the address lines are shifted by one and the output Q15 is used as address line A0. These 16-bit EPROMs are not directly supported by the popular TL866 programmer, and have to be programmed through an adapter, in multiple passes. An example adapter can be found here or here
GAL programming
In the GAL folder there are both .pld and .jed files provided for GAL programming. You can also use a programmer such as TL866 to program the GAL. If you want to change anything in the decoder, you can use GALASM to recompile the .pld file.
Capacitors
The capacitors are not needed, but you can populate them. They are 100nF 50V MLCC or ceramic capacitors with 2.54mm raster.
Enclosure compatibility
The PCB is designed to be as close in dimensions as the original Commodore PCB, so you can re-use an original Commodore cartridge case, or you can 3D-print one. Compatible designs are available on Thingiverse, such as this one or this one. Unfortunately, no one makes injection-moulded cartridge cases for the 264 series anymore.
c264-magic-cart is Open Hardware licensed under the CERN OHL v. 1.2, released by Marko ?olaji? in 2021. You may redistribute and modify this documentation under the terms of the CERN OHL v.1.2.
Commodore 264 Series Magic Cartridge
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(2)
- Likes(13)
- Daniel Mackey Oct 27,2024
- Holger OnkelHolgi Aug 17,2023
- Mark Carew Jul 13,2023
- J Retro42 Mar 21,2023
- Diamantino A Caseiro Nov 05,2022
- Peter Rakos-Zichy Oct 07,2022
- Engineer Sep 12,2022
- Thordanielz Mar 13,2022
- SoulCat Dec 26,2021
- vigo Sep 15,2021
- rime / Fancy Rats Jun 19,2021
- Peter Dimitriovski Jun 19,2021
- (DIY) C64iSTANBUL Jun 18,2021
- 3 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
More by Marko Solajic
- Commodore 264 Series Magic Cartridge Hardware design of a cartridge for the Commodore 264 series of computers - Commodore 16, 116 and plu...
- Universal C64 1MB cartridge Files are updated to revision 4, improvements:Added footprints for 2 LEDs and 2 resistors, if you ha...
- C64 Magic Desk 512k Cartridge DESCRIPTIONThis is the hardware part that accompanies the project of Magic Desk Cartridge Generator ...
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
153 1 1 -
-