-
-
Notifications
You must be signed in to change notification settings - Fork 9
V4 Configuration
If you want to build a board, you will have to make some decisions:
The CPU at U2 can either be an original 7501/8501 or even a 6510, thanks to Andrew Challis's adapter being integrated on the board:
-
Use the bottom socket with an original MOS 7501/8501 and do not install D93 nor R93.
-
Use the top socket with a MOS 6510 and solder a 1n4148 diode at D93 and a 10k resistor at R93. Note that this solution comes with a few compromises:You will need to use a KERNAL image modified by Andy.Disk fastloaders will not work.The Datassette motor will spin whenever one of its keys is pressed, the computer will no longer be able to control it.
I think these drawbacks are acceptable, as most fastloaders won't work anyway when using an SD2IEC which is what most people do these days, I guess, while the loss of tape control isn't much of an issue in itself. Make sure to send a small donation to Andy if you go this way.
OPERATION WITH A 6510 CPU IS NOT GUARANTEED, DUE TO THE USAGE OF SRAM - PLEASE STICK WITH AN 8501 FOR THE MOMENT. If you don't have an original 8501, don't panic, just use this or this.
The C16/+4 clock is normally generated by a quartz oscillator and a bunch of components that make it oscillate and amplify the output signal. These would be all the components that are located inside the Clock Generator box.
The generated frequency can be measured at TP1 and tweaked with CT1: ideally, after completing the assembly, you would take a scope or some frequency meter and carefully calibrate it until it is as close as possible to the ideal value (NTSC: 14.31818 MHz, PAL: 17.734475 MHz). Although that might not be for everyone as you need a scope capable of 50 MHz at the very least.
Now, the problem is that the oscillator frequency is divided by 4 by the TED to generate the color subcarrier and if this is not correct the TV/monitor might be unable to decode the color information, leading to black & white video. I am not too much into these things but apparently NTSC is more sensitive than PAL in this regard.
In order to avoid that, the footprint for a discrete oscillator was introduced: either a DIP-8 or a DIP-14 oscillator can be installed at X1 and it will replace all the other components in the Clock Generator box, so do not install them if you choose to go this way. ACH-14.31818MHZ-EK by ABRACOM seems to be good for NTSC, while I haven't been able to locate a suitable part for PAL yet. In any case, JP2 grounds pin 1 of the oscillator: most oscillators don't need this, so leave it open unless the datasheet of your oscillator says differently.
Anyway my dream here is to use a DFO so that we could toggle between PAL and NTSC at the flip of a switch. More to come...
The machine has a built-in Hannes-style 512 kB RAM expansion. This is fully compatible with the stock 64 kB Plus/4 configuration.
JP4 allows restricting the RAM size to 256 kB: this is actually the recommended setting, as most of the currently-existing software that requires more than 64 kB was somewhat "hardcoded" to that size and will not work correctly with more RAM. No software currently exists, that requires more than 256 kB anyway, so this should be no big deal.
The system is NOT compatible with the so-called "Csory" expansion mechanism.
There is NO way to restrict the machine RAM to 16 kB. If you find any software that doesn't work with 64 kB, please report it on Plus/4 World and hopefully someone will fix it.
All RAM is contained in a single SRAM chip that is currently available on the market: both AS6C4008-55PCN and -55PIN work fine.
-
If you plan to install two separate BASIC (U3) and KERNAL (U4) ROMs, you can skip the installation of U90, C41, R98, R99 and JP13. Put a blob of solder on the left and center pads of each of JP5/6/7/8. Note that the ROM pinout is directly compatible with W27C512 and other EEPROMs, just replicate the image as much as necessary to fill the ROM.
-
Alternatively, you can put all ROM images into a single W27C512 EEPROM, which will save a bit of power and allow you to have the Plus/4 Function ROMs in your machine. In this case install a 74LS08 at U90, a 100nF ceramic capacitor at C41, two 10k resistors at R98/R99 and put a blob of solder on the right and center pads of each of JP5/6/7/8 and prepare a single EEPROM with the images in the following order:
# Range Content 1 $0000-$3FFF Kernal 2 $4000-$7FFF Basic 3 $8000-$BFFF Function Low 4 $C000-$FFFF Function High You can actually have two ROMs made like this, install them at U3 and U4 and select between them with the JP13 pin header.
The original MOS 251641 PLA can no longer be used.
PLA functions are now performed by 3 different chips: U19, U26 and U28:
- U19 is a modified version of Daniël Mantione's PLA16V8 project, which does NOT produce the /CS (Chip Select) signal for the user port and instead produces /CS signals for the onboard SID & 3rd joystick port.
- U26 generates the high RAM address bits (A16/17/18), depending on the contents of the $FD16 register, implementing the Hannes expansion logic, and also generates the /CS signals for the joystick buffers.
- U28 generates the control signals for the Hannes RAM Expansion register at $fd16 and control signals for the User Port MOS 6529 (or replacement).
The DB-9/DE-9 joystick ports have a standard Atari pinout, which is the same one used on the C64 and Amiga. They also have a "fixed" ground, allowing for the use of "advanced" joysticks with autofire functionalities for instance, which require power from the machine.
Sega MegaDrive controllers can be used, too. They expect to be powered from pin 5 though, which is normally unconnected. You can bring power to those pins by closing JP9 for Port 1 and JP10 for Port 2. Be careful though, as other joysticks/mice can short that pin to ground upon the press of a button. R91/92 will protect your power supply in that case but you'd better not rely on them.
The joystick ports can be swapped by closing JP17. This can be done safely while the machine is running.
NOTE: The joystick swapper is broken in all V4 pre-releases and the fire button might not work correctly if it is enabled (nothing too bad, they will just not work reliably). Unfortunately there is no easy way to fix it, so please leave it disabled unless you are using V4 final (or >= rc17).
JP3 controls which reset signal is brought to IEC connector. There are some differences in the handling of the RESET signal between the C16 and Plus/4, in particular:
- The C16 brings the direct signal to the Expansion port and a copy of the signal to the Floppy Drive/IEC Serial port.
- The Plus/4 brings a copy of the signal everywhere, including the User Port.
The above means that while the computers can reset external devices, external devices cannot reset the computer (except for anything connected to the Expansion port on the C16), so those "Serial reset dongles" will not work. While this is generally not a problem since the computers have an integrated reset button, I preferred to follow the C16 approach: the direct signal goes to the Expansion port, but with JP3 you can decide what goes to the Floppy Drive Port: center + right is the original signal, center + left is the copy.
TL;DR: Set JP3 to center + right.
The board is designed to accept an original C16 keyboard, C64/VIC20 ones can also work to a certain extent, please see this issue.
A Cherry MX-based mechanical keyboard is in the making and will be released soon. This keyboard will require power for its advanced features but there is no pin providing power on the original keyboard connector. JP1 was introduced to amend this: when closed, it will provide +5V to pin 5, which is normally unused.
If you need to tune the brightness of the LED, try different values at R14.
The keyboard circuit requires a MOS 6529 to be installed in the bottom socket at U13, but this can be replaced with a stock 74HCT273 (or 74LS273) in the top socket so that you can reuse your 6529 for the user port. If you go with the '273, also install 1n4148 diodes at D70-77, otherwise leave them empty.
The replacement of the joystick/power connectors forced the removal the reset button. This is still available on the JP11 pin header though, so that a switch can still be connected and placed somewhere (maybe in the former RF-connector slot), or left hanging through the cartridge slot (Please do NOT drill any holes in your case!). Maybe it could be that could be fit in the top section of a newly-designed 3D-printable side bracket replacement, where there seems to be some space available.
The RF modulator was removed and replaced with a circuit that can provide either Luma+Chroma (say S-Video) or Composite Video.
If you want to make your life easier, install a 56R resistor at R84 and a 150R resistor at R87, do not install RV1 nor RV2 and short JP81 and JP82 on the back of the board.
If you have an old/odd TV that doesn't display a good video signal, you can leave JP81/82 open and install trim pots at RV1/2 that can be used to adjust the luma and chroma levels. This shouldn't really be needed in most cases and will just introduce a further complication.
JP18 on the back of the board controls the way luma and chroma are mixed to produce the composite video signal. The recommended setting is center + left. If you have problems with that, try the other setting. If you don't need composite video you can also leave this jumper open and that might improve the S-Video signal.
Commodore didn't care much for ESD protection on the C16. They started retrofitting some diodes after they must have had a lot of failures, but even those do not actually do much.
- If you want to do exactly what Commodore did, install 1n4148 diodes at D94-99.
- If you want to have much better ESD protection, solder DT1042 ESD Suppressor Diodes at U91-95. Unfortunately this is a surface-mount (and pretty small!) device but I couldn't find any through-hole equivalent.
Only do one thing or the other. This is something you want to decide right at the start, as soldering the SMT components is much easier if you do it first thing.
You are strongly recommended to use a new C64 power supply, being able to provide at least +5VDC@2A and 9VAC@10VA. Be careful with old VIC20/C64 ones, those often have higher output voltages that will destroy whatever you plug them into.
For the power switch, there are a number of parts you can use:
- Salecom T80-R (R8011L/R8012L), for sale on RetroTech and eBay; near perfect match.
- Sky KS-SP-222A, for sale on eBay (may be listed as KSSP-222A).
- C&K 7201J50V5QE2 (silver contacts) or -SE2 (silver with tin contacts); these would be a special order since nobody stocks them. Turns out, the gold contacts are not rated for the amperage used by the C64 so couldn't be used. [7201=DPDT switch, J50=the correct cap for C64, V5=the thin pin support mounts, Q for silver or S for silver with tin, E=epoxy sealed, 2=black cap. Info based on datasheets]
- C&K E201J50V5QE2 or -SE2 with the same part number coding used above. These would also be a special order as nobody stocks the switches with the thin pin support mounts. Everything anybody stocks has thicker standoff brackets on the bottom that would misalign the switch cap with the hole on the C64 or 1541-II or 1581.
- NKK M2022TXW41-FA or -DA [M20=switch series, 2=DPDT, 2=on/on, TX=narrow frame for small actuator, W=silver contacts, 41=right angle vertical mounting, F=.450" wide rocker {rocker model # AT4150} (D for .365" wide rocker, but it's .169" {4.3mm} taller and might not fit the opening on the side of the computer or disk drive case), A=black cap. Info based on datasheet.] NOTE: This switch may have the raised bracket on the bottom rather than the thin mounting pins. If it's the bracket, that would have to be cut off before mounting. If anybody has bought one of these switches, please let us know.
- There are also similar switches on AliExpress.
(Reworked from this post by Lemon64 Forum user Skyfox.)
A 6581 or 8580 SID chip can be installed at U24 and will work just as if an external SID card was plugged into the machine.
IMPORTANT: Some components depend upon the model of the SID chip:
- C45, C46 = 470pF
- R32 = 1k
- U7 = L7812: CAREFUL!
- JP14/RV4/R35 = Do not mount (If already mounted or changing SID, do not bother removing, just open JP14)
- C45, C46 = 22nF
- R32 = Do not mount
- R35 = 180k
- U7 = L7809: CAREFUL!
- JP14 = Mount normally and close
- RV4 = 1M
- Use RV3 to tune the amount of SID sound that gets mixed with the TED sound to your liking.
- If using an 8580, use RV4 to tune the volume of samples.
If a SID chip is installed, a 3rd joystick port con be connected to CN14 by wiring a male DB9 port to a female IDC connector using a 9/10-wire cable. This is compatible with the joystick port available on SID cards and will support analog joysticks, paddles and the Commodore 1351 mouse.
Unfortunately there is no clear position for its installation, so my suggestion is to just leave it hanging out the case through the tape or user port holes.
Strictly speaking, for the analog pins to work you should install 1.8 nF caps at C47/48 for MOS 6581 or 2.2 nF for MOS 8580. I did a lot of testing but have not come up with a final answer: at first it looked like using the proper caps would yield a somewhat "extended" usable range of the paddles (they would max out towards the actual end of the rotation), but then I started having strange problems with the X and Y pots conflicting with one another. I later realized that the problems could have been caused by oxidized contacts, so I'm really not sure what to recommend, but 3.9 nF should work decently in all cases.
The onboard user port is 100% compatible with the Plus/4 user port. The ACIA can be addressed at $fd0x and the 6529 at $fd10.
Just like on a Plus/4, the parallel part of the port is driven through a MOS 6529 installed in the top socket at U22. These days that IC is pretty hard to get hold of, so if you are "transplanting" an original C16 board, you can reuse the 6529 from the keyboard driver, switching that to a 74x273. Otherwise, an alternative circuit based on a 74x654 was designed by Daniël Mantione and integrated into the board.
Depending on what you choose to use:
- If you use an original MOS 6529: do NOT mount RP4.
- If you use a 74x654: mount RP4.
Speaking of the 74x654, we have tested LS, ALS and ACT parts and they all work, like probably others. Unfortunately all of these in the DIP package are not easy to find these days, they have gone out of stock at all the main distributors but apparently they can still be found at Rochester Electronics or on eBay.
There are various ICs that can be used as ACIA (U23):
- Original MOS 6551 or 8551 will work but are hard to find.
- The Western Design Center still produces the W65C51S, which is based on the original MOS design and is fully compatible with it. There is also an -N model but it is NOT compatible.
- Older similar chips recovered from older equipment, such as the Rockwell R6551(A)P, UMC UM6551(A), etc. can be found on Aliexpress, eBay, etc. easily and cheaply and are perfectly compatible. Prefer models with an A in the part number, even though I did all my testing with an R6551P and found no issues.
JP12 replicates J8/J9 of the original Plus/4, i.e.: it controls whether the Cassette Sense signal is read through the User Port (UP) or through P7 of the built-in CPU port (CPU). This should normally be set to UP unless you know what you are doing and you feel like experimenting. Although, note that this will make bit 2 of the parallel port shared with the Cassette Sense signal, just like on the original Plus/4: whenever a button on the Datassette is pressed, bit 2 will be forced low. Hence, if you need to use the parallel port in its full width, press Stop on the Datassette in order to make sure that all buttons are released. In alternative, if you don't need the Datassette, the JP12 jumper can just be left open in order to permanently disconnect the signal.