Texas Instruments TI99/4A Clone(ish) Project

October 5, 2024 ยท View on GitHub

System

Note that this is not a fully tested project at this point. . . .

This is based Rob Krenicki's design that is based on the HackMac KiCAD schematics. I have made several changes to the original design including:

  • Placing 32K of 16bit wide fast ram on the board to fully populate the address space
  • Placing an EPROM on the main board that can be used as an on-board cartridge ROM
  • adding a header to allow a microcontroller to replace the GROM chips (hopefully this can be moved on-board soon)
  • replacing the video DRAM with SRAM
  • Updating the Keyboard header to support a soft caps lock switch on the keyboard PCB
  • designing a Cherry MX keyboard
  • adding headers for the GROM and expansion port to support riser cards for these ports

If there are any questions, I can be reached at vic2020Dan at gmail dot com.

ToDo

  • Cleanup/Documentation Possible Future Thoughts:

  • Redo the Board in an ATX form factor with PEB slots on board

  • Add Support for the Pico9918 on-board

  • Add Support for a Tang Nano FPGA TMS9918 replacement

  • Add Hex-bus port

  • Add a DIN 5-pin Composite video/Audio out.

  • Add built in speech synthesis

  • Clone Disk IO card

  • Relocate all the ports to the back of the motherboard

  • It has been suggested that we also have a console style version of the next revision as not everyone has a desire for a larger PE style machine

  • Also perhaps add some keys to the keyboard

DIP Switch Settings

The DIP switch on the main board allows one to configure which bank areas are populated with RAM.

RAM0 enables RAM to addresses >2000-3FFF (Lo Memory Expansion) RAM1 enables RAM to addresses >A000-BFFF (Hi Memory Expansion) RAM2 enables RAM to addresses >C000-DFFF (Hi Memory Expansion) RAM3 enables RAM to addresses >E000-FFFF (Hi Memory Expansion) RAM4 enables RAM to addresses >8000-83FF (Normal TI Scratch Pad RAM)

Note that I have never actually tested off-board 8 bit RAM, so this is new territory and might need some debugging ๐Ÿ˜Š
also on-board RAM is 16 bit โ€“ so all of those external RAM sources will be slower.

Bugs

  • on rev 0.95 R36-40 are listed as 100K ohm, they are actually 100 ohm

  • on rev 0.95 the joystick and cassette connectors are mirrored and need to be mounted on the bottom side of the board to function

  • Both of these are corrected in 0.96

  • The reset button J1 should be attached to pin 5 of U1 not Pin 4

Bill of Materials

Console

QtyReference(s)Part
6C1, C9, C11, C58, C73, C750.001uF
1C222pF
3C3, C5, C5922uF
12C4, C7, C13, C14, C20, C54, C55, C62, C64, C68, C71, C740.1uF
1C61uF
7C8, C52, C63, C65, C66, C67, C720.01uF
1C10100uF
1C120.01uF
7C15, C16, C17, C19, C21, C22, C60100uF
30C18, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41, C42, C43, C44, C45, C46, C47, C48, C49, C50, C510.1uF
1C53100uF
1C5612pF
1C5756pF
1C61220uF
1C69220pF
1C700.022uF
2CR1, CR41N4148
2CR2, CR31N914B
1D1LED
1J1Connector PinHeader 2.54mm:PinHeader 1x02 P2.54mm Vertical
1J2Connector PinHeader 2.54mm:PinHeader 1x02 P2.54mm Vertical
1J3TerminalBlock RND:TerminalBlock RND 205-00278 1x04 P5.00mm Vertical
1J4Connector PinHeader 2.54mm:PinHeader 1x16 P2.54mm Vertical
2J5, J6Connector PinHeader 2.54mm:PinHeader 1x03 P2.54mm Vertical
1J7Connector PinHeader 2.54mm:PinHeader 1x03 P2.54mm Vertical
1J8Connector PinHeader 2.54mm:PinHeader 1x02 P2.54mm Vertical
1J9Connector PinHeader 2.54mm:PinHeader 1x02 P2.54mm Vertical
1J10Connector Dsub:DSUB-9 Female Horizontal P2.77x2.84mm EdgePinOffset4.94mm Housed MountingHolesOffset7.48mm
1J11Connector PinHeader 2.54mm:PinHeader 1x18 P2.54mm Vertical
1J12Connector PinHeader 2.54mm:PinHeader 2x22 P2.54mm Vertical
1J13WernerCustomLibrary:44 Pin Card Edge
1J14Library:CardEdge 34Pin 2.54mm Vertical
1J15Connector PinHeader 2.54mm:PinHeader 2x18 P2.54mm Vertical
1J16Connector PinSocket 2.54mm:PinSocket 1x03 P2.54mm Vertical
1J17Connector PinSocket 2.54mm:PinSocket 1x03 P2.54mm Vertical
1J18Connector Dsub:DSUB-9 Female Horizontal P2.77x2.84mm EdgePinOffset4.94mm Housed MountingHolesOffset7.48mm
1L10.33uH
2L4, L56.8uH
1L75.8uH
1L8INDUCTOR (Ferrite BEAD)
7L10, L11, L12, L13, L14, L15, L168.2uH
3Q1, Q3, Q4TIS92
1Q22N3904
1R1150k
7R2, R9, R11, R18, R34, R35, R461k
1R312k
1R447k
4R5, R6, R7, R822
5R10, R26, R45, R52, R534.7k
5R12, R13, R14, R15, R161K
3R17, R48, R502.2k
2R19, R30470
1R20270
1R211.5k x 9 SIP bussed
1R22361
3R23, R73, R755.6k
2R24, R2710
1R25150
1R28470k
1R290
2R31, R3375
1R32470
4R41, R42, R43, R4462
1R473.3k
9R36, R37, R38, R39, R40, R49, R51, R54, R56100
1R55330
1R5710k
1R586.8k
1R5939k
1R606.8k
4R61, R62, R67, R681K
1R63120k
1R642.7k
3R65, R66, R76220
1R6910K
1R709.1k
2R71, R7210k
1R745.6K
1R7715
2RN1, RN210K x 9 SIP Bussed
1SW1DIP switchx05
1SW2Pin Header 01x02 Male
1U1TMS9904 (note this needs to be a 9904 not 9904ANL. If the 9904ANL is used, Y1 needs to be substituted with 12Mhz, L1 needs to be substituted with 3.3uh and C2 needs to be substituted with 50pf)
1U2TMS9900
4U3, U15, U22, U2474LS04
2U4, U974LS32
2U5, U874LS138
1U674LS03
1U774LS08
3U10, U14, U1874LS00
2U11, U4174LS244
1U1274LS373
1U1374LS245
1U1674LS74
1U1774LS194
1U19LM2901
1U20LM7905 TO220
1U21LM2903
3U26, U27, U28TMC0430
3U29, U30, U37HM62256BLP
2U31, U3227C64
1U33SN76489
1U34TMS9918
3U35, U36, U3874LS574
1U39TMS9901
1U4074LS156
2U42, U4374LS367
1U4474LS379
1U4527C010
1U46RC4558
1U4774LS06
2U48, U49TIL119
1Y148.000 MHz Crystal
1Y210.7MHz Crystal

Keyboard

QtyReference(s)ValuePart
1C10.1uFCapacitor
1D1LEDLED
1D2LEDLED
1J1Pin Header 1x18 malePin Header 1x18 male
2R1, R2470 ohmResistor
1R31K ohmResistor
48SW1-SW48Mechanical SwitchCherry MX Switch (or compatible)
1U1ATtiny13A-PIC
1U274LS125IC
3Switch Stabilizer 2.25
1Switch Stabilizer 6.25
1Optional Alignment frame (will need modified)
Stabilizers (frame not used):https://www.amazon.com/Genuine-Cherry-PCB-Snap-Stabilizers/dp/B085T8QZJC
Stabilizers (Frame used)https://www.amazon.com/dp/B082X4V9VC
Frame:https://www.amazon.com/gp/product/B07MMB33WG

Cartridge Riser

QtyReference(s)PartType
1J1Pin Header 01x18 MalePin Header 01x18 Male
1J236 Pin Edge ConnectorCONN EDGE DUAL FMALE 36POS 0.100 spacing

IO Riser

QtyReference(s)PartType
1J1Pin Header 2x22 MalePin Header 2x22 Male

UNICORN BOARD

QtyReference(s)PartType
1J1Pin Header Socket 01x16 Female Right AnglePin Header Socket 01x16 Female Right Angle
4U1-U4Level Shifterhttps://www.amazon.com/KeeYees-Channels-Converter-Bi-Directional-Shifter/dp/B07LG646VS
1U5ESP32 Devkithttps://www.amazon.com/Development-Microcontroller-Integrated-Antenna-Amplifiers/dp/B09GK74F7N

License

The original project was licensed under the Creative Commons - Attribution - ShareAlike 3.0 License

Attribution

This board was derrived from works by, uses design elements from, or contains sofware writen by the following: