Difference between revisions of "SIMPLE-6809"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
(87 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[FILE:SIMPLE- | + | [[File:tindie-mediums.png|link=https://www.tindie.com/products/34961/]] |
+ | |||
+ | [[FILE:SIMPLE-6809_P1090253-720pxV.jpg]] | ||
+ | |||
+ | <video type="youtube">p5mwMwwM-R0</video> | ||
== Features == | == Features == | ||
Line 5: | Line 9: | ||
* Build of [http://searle.x10host.com/6809/Simple6809.html Grant Searles's Simple 6809 CPU] | * Build of [http://searle.x10host.com/6809/Simple6809.html Grant Searles's Simple 6809 CPU] | ||
** Runs BASIC | ** Runs BASIC | ||
− | * 6809 CPU | + | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/PARTS/MC68B09_datasheet.pdf 68B09 CPU] |
− | * | + | * 7.3728 MHz |
− | * 32KB SRAM | + | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/PARTS/AS6C62256_23_March_2016_rev1_2-1288423.pdf 32KB SRAM] |
− | * 16KB EPROM/EEPROM | + | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6502/PARTS/SST27SF256.pdf 16KB EPROM/EEPROM] |
− | * 68B50 Serial Port (ACIA) | + | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/PARTS/MC68B50_43633.pdf 68B50 Serial Port (ACIA)] |
** RS-232 port | ** RS-232 port | ||
** Header for FTDI | ** Header for FTDI | ||
Line 23: | Line 27: | ||
* 0xA000-0xBFFF Serial (ACIA) | * 0xA000-0xBFFF Serial (ACIA) | ||
* 0xC000-0xCFFF 16KB EPROM | * 0xC000-0xCFFF 16KB EPROM | ||
+ | |||
+ | === Chipset === | ||
+ | |||
+ | * [https://www.ebay.com/itm/363195043337?var=632363304132 MC68B09CP] | ||
+ | * [https://www.ebay.com/itm/363470308952?var=632689151269 MC68B50CP] | ||
+ | * [https://www.ebay.com/itm/363496217061 HM62256BLP-7 32KB SRAM] | ||
+ | * [https://www.ebay.com/itm/363908920517?var=633150790824 SST27SF256-70-3C-PGE EPROM] | ||
+ | |||
+ | == Design == | ||
+ | |||
+ | === CPU === | ||
+ | |||
+ | [[file:SIMPLE-6809_U5_CPU.PNG]] | ||
+ | |||
+ | ==== CPU Timing ==== | ||
+ | |||
+ | [[file:MC6809_Timing.PNG]] | ||
+ | |||
+ | === EEPROM === | ||
+ | |||
+ | * [[TL866ii Plus Programmer]] | ||
+ | |||
+ | [[file:SIMPLE-6809_U4_EEPROM.PNG]] | ||
+ | |||
+ | === SRAM === | ||
+ | |||
+ | [[file:SIMPLE-6809_U2_SRAM.PNG]] | ||
+ | |||
+ | === Logic === | ||
+ | |||
+ | [[file:SIMPLE-6809_U6_LOGIC.PNG]] | ||
+ | |||
+ | === ACIA === | ||
+ | |||
+ | * Can only use RS-232 or FTDI - one at a time | ||
+ | ** Put MAX232 in a socket if you want flexibility | ||
+ | ** Remove MAX232 if you want to use FTDI | ||
+ | |||
+ | [[file:SIMPLE-6809_U3_ACIA.PNG]] | ||
== Headers / Connectors == | == Headers / Connectors == | ||
+ | |||
+ | [[FILE:SIMPLE-6809_REV1_CAD.PNG]] | ||
=== J1 - RS-232 Serial === | === J1 - RS-232 Serial === | ||
+ | |||
+ | * DB-9 Male | ||
+ | * Pinout | ||
# N/C | # N/C | ||
Line 38: | Line 86: | ||
# N/C | # N/C | ||
− | === J2 / J5 -EPROM/EEPROM Select Jumpers === | + | === J2 / J5 - EPROM/EEPROM Select Jumpers === |
+ | |||
+ | [[FILE:SIMPLE-6809_J2_J5.PNG]] | ||
+ | |||
+ | * J2 - EPROM Pin 1 jumper | ||
+ | ** 1-2 for 28C64, 28C256 (Pull WE to VCC) | ||
+ | ** 2-3 for 27256, 27SF256, 27512 (Pull A14 to GND) | ||
+ | * J5 - EPROM Pin 27 jumper | ||
+ | ** GND (2-3) | ||
+ | |||
+ | ==== EEPROM Pin Table ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! | + | ! 27512 |
− | ! | + | ! 27256 |
− | ! | + | ! 27SF256 |
+ | ! 28C256 | ||
+ | ! 27128 | ||
+ | ! 2764 | ||
+ | ! 28C64 | ||
+ | ! PIN | ||
+ | ! | ||
+ | ! PIN | ||
+ | ! 2764 | ||
+ | ! 28C64 | ||
+ | ! 27128 | ||
+ | ! 28C256 | ||
+ | ! 27SF256 | ||
+ | ! 27256 | ||
+ | ! 27512 | ||
+ | |- | ||
+ | | A15 | ||
+ | | VPP | ||
+ | | VPP | ||
+ | | A14 | ||
+ | | VPP | ||
+ | | VPP | ||
+ | | N/C | ||
+ | | 1 | ||
+ | | | ||
+ | | 28 | ||
+ | | VCC | ||
+ | | VCC | ||
+ | | VCC | ||
+ | | VCC | ||
+ | | VCC | ||
+ | | VCC | ||
+ | | VCC | ||
+ | |- | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | A12 | ||
+ | | 2 | ||
+ | | | ||
+ | | 27 | ||
+ | | PGM | ||
+ | | WE* | ||
+ | | PGM | ||
+ | | WE* | ||
+ | | A14 | ||
+ | | A14 | ||
+ | | A14 | ||
+ | |- | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | A7 | ||
+ | | 3 | ||
+ | | | ||
+ | | 26 | ||
+ | | A13 | ||
+ | | N/C | ||
+ | | A13 | ||
+ | | A13 | ||
+ | | A13 | ||
+ | | A13 | ||
+ | | A13 | ||
+ | |- | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | A6 | ||
+ | | 4 | ||
+ | | | ||
+ | | 25 | ||
+ | | A8 | ||
+ | | A8 | ||
+ | | A8 | ||
+ | | A8 | ||
+ | | A8 | ||
+ | | A8 | ||
+ | | A8 | ||
|- | |- | ||
− | | | + | | A5 |
− | | | + | | A5 |
− | | | + | | A5 |
+ | | A5 | ||
+ | | A5 | ||
+ | | A5 | ||
+ | | A5 | ||
+ | | 5 | ||
+ | | | ||
+ | | 24 | ||
+ | | A9 | ||
+ | | A9 | ||
+ | | A9 | ||
+ | | A9 | ||
+ | | A9 | ||
+ | | A9 | ||
+ | | A9 | ||
|- | |- | ||
− | | | + | | A4 |
− | | | + | | A4 |
− | | | + | | A4 |
+ | | A4 | ||
+ | | A4 | ||
+ | | A4 | ||
+ | | A4 | ||
+ | | 6 | ||
+ | | | ||
+ | | 23 | ||
+ | | A11 | ||
+ | | A11 | ||
+ | | A11 | ||
+ | | A11 | ||
+ | | A11 | ||
+ | | A11 | ||
+ | | A11 | ||
|- | |- | ||
− | | | + | | A3 |
− | | | + | | A3 |
− | | | + | | A3 |
+ | | A3 | ||
+ | | A3 | ||
+ | | A3 | ||
+ | | A3 | ||
+ | | 7 | ||
+ | | | ||
+ | | 22 | ||
+ | | OE* | ||
+ | | OE* | ||
+ | | OE* | ||
+ | | OE* | ||
+ | | OE* | ||
+ | | OE* | ||
+ | | OE* | ||
|- | |- | ||
− | | | + | | A2 |
− | | | + | | A2 |
− | | | + | | A2 |
+ | | A2 | ||
+ | | A2 | ||
+ | | A2 | ||
+ | | A2 | ||
+ | | 8 | ||
+ | | | ||
+ | | 21 | ||
+ | | A10 | ||
+ | | A10 | ||
+ | | A10 | ||
+ | | A10 | ||
+ | | A10 | ||
+ | | A10 | ||
+ | | A10 | ||
|- | |- | ||
− | | | + | | A1 |
− | | | + | | A1 |
− | | | + | | A1 |
+ | | A1 | ||
+ | | A1 | ||
+ | | A1 | ||
+ | | A1 | ||
+ | | 9 | ||
+ | | | ||
+ | | 20 | ||
+ | | CE* | ||
+ | | CE* | ||
+ | | CE* | ||
+ | | CE* | ||
+ | | CE* | ||
+ | | CE* | ||
+ | | CE* | ||
+ | |- | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | A0 | ||
+ | | 10 | ||
+ | | | ||
+ | | 19 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | | D7 | ||
+ | |- | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | D0 | ||
+ | | 11 | ||
+ | | | ||
+ | | 18 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | | D6 | ||
+ | |- | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | D1 | ||
+ | | 12 | ||
+ | | | ||
+ | | 17 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | | D5 | ||
+ | |- | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | D2 | ||
+ | | 13 | ||
+ | | | ||
+ | | 16 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | | D4 | ||
+ | |- | ||
+ | | GND | ||
+ | | GND | ||
+ | | GND | ||
+ | | GND | ||
+ | | GND | ||
+ | | GND | ||
+ | | GND | ||
+ | | 14 | ||
+ | | | ||
+ | | 15 | ||
+ | | D3 | ||
+ | | D3 | ||
+ | | D3 | ||
+ | | D3 | ||
+ | | D3 | ||
+ | | D3 | ||
+ | | D3 | ||
|- | |- | ||
|} | |} | ||
=== J3 - FTDI / TTL Serial === | === J3 - FTDI / TTL Serial === | ||
+ | |||
+ | * Requires a FTDI cross-over cable | ||
+ | * Can only use RS-232 or FTDI - one at a time | ||
+ | ** Put MAX232 in a socket if you want flexibility | ||
+ | ** Remove MAX232 if you want to use FTDI | ||
+ | |||
+ | [[FILE:SIMPLE-6809_J3_FTDI.PNG]] | ||
+ | |||
+ | * Rev 1 PCB silkscreen is wrong (both sides of the card) | ||
+ | |||
+ | [[file:SIMPLE-6809_J3.PNG]] | ||
# GND | # GND | ||
− | # | + | # N/C |
# +5V | # +5V | ||
+ | # Transmit (out) | ||
# Receive (in) | # Receive (in) | ||
− | |||
# N/C | # N/C | ||
Line 79: | Line 394: | ||
* 2x4 header | * 2x4 header | ||
+ | |||
+ | == First Unit Checkout == | ||
+ | |||
+ | [[FILE:SIMPLE-6809_P1090174-720PX.jpg]] | ||
+ | |||
+ | === Install Sockets === | ||
+ | |||
+ | * Machined pin sockets | ||
+ | |||
+ | [[FILE:SIMPLE-6809_P1090171-720PX.jpg]] | ||
+ | |||
+ | === Install Passives === | ||
+ | |||
+ | === Power === | ||
+ | |||
+ | * Install 2x4 at J4 | ||
+ | * Power card via J4 with 5V | ||
+ | * Check power pins on parts | ||
+ | |||
+ | === Clock === | ||
+ | |||
+ | * Install Clock parts | ||
+ | ** Install 7.3728 MHz crystal | ||
+ | ** Install C5, C6 | ||
+ | |||
+ | [[file:SIMPLE-6809_P1090189-720px.jpg]] | ||
+ | |||
+ | * Install CPU at U5 | ||
+ | |||
+ | === Reset === | ||
+ | |||
+ | * Install U7 Power Monitor | ||
+ | * Install pushbutton switch SW1 | ||
+ | * Reset button gets stretched by Power Monitor U9 | ||
+ | * Measure reset at 68B09 U5 pin 37 | ||
+ | * Falling edge scope cap | ||
+ | |||
+ | === EPROM === | ||
+ | |||
+ | * SST27C256 EEPROM | ||
+ | ** 32 KB part | ||
+ | ** Using first 16KB of EEPROM | ||
+ | ** J2 EEPROM pin 1 = VPP = VCC or GND | ||
+ | *** Jumper J2:2-3 | ||
+ | ** J5 EEPROM pin 27 = A14 = GND | ||
+ | *** Jumper J5:2-3 | ||
+ | * U1 - Do not install MAX232 | ||
+ | ** Use FTDI connector with [[FTDI-49MM]] card | ||
+ | |||
+ | |||
+ | ==== EEPROM Programming ==== | ||
+ | |||
+ | * Program using [[TL866ii_Plus_Programmer|TL-866ii plus programmer]] | ||
+ | * File = [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/SOFTWARE/ExBasROM.hex ExBasROM.hex] | ||
+ | * Set offsets for 27SF256 part | ||
+ | ** Part is 32 KB | ||
+ | ** hex files is 16 KB | ||
+ | * Set From File Start Addr(Hex) to 0C000 | ||
+ | * To Buffer Start Addr(Hex) to 00000 | ||
+ | |||
+ | [[FILE:SIMPLE-6809_Programmer_Offsets.PNG]] | ||
+ | |||
+ | * Memory Buffer should look like | ||
+ | |||
+ | [[file:SIMPLE-6809_Programmer_BufferContents.PNG]] | ||
+ | |||
+ | * Got Device ID error | ||
+ | * Turn off ID check | ||
+ | |||
+ | [[file:SIMPLE-6502_TL866Plus_Program.png]] | ||
+ | |||
+ | * Device programmed/verified | ||
+ | |||
+ | === Install CPU, ROM, RAM, ACIA === | ||
+ | |||
+ | * Do not install MAX232 yet | ||
+ | ** Use FTDI connector with [[FTDI-49MM]] card | ||
+ | |||
+ | === Test FTDI Serial === | ||
+ | |||
+ | * Silkscreen swapped for TX, RX | ||
+ | |||
+ | [[FILE:SIMPLE-6809_J3.PNG]] | ||
+ | |||
+ | * Wiring is '''not''' 1:1 to [[FTDI-49MM]] | ||
+ | * Wire FTDI J3 to [[FTDI-49MM]] card | ||
+ | ** [[FTDI-49MM]] GND pin 1 to J3-1 RX on card | ||
+ | ** [[FTDI-49MM]] VCC pin 3 to J3-3 RX on card | ||
+ | ** [[FTDI-49MM]] TX pin 4 on to J3-5 RX on card | ||
+ | ** [[FTDI-49MM]] RX pin 5 on to J3-4 TX on card | ||
+ | ** [[FTDI-49MM]] CTS(in) pin 2 to J3-6 CTS on card | ||
+ | |||
+ | [[FILE:SIMPLE-6809_BASIC_DISPLAY.PNG]] | ||
+ | |||
+ | [[file:SIMPLE-6809_P1090253-720pxV.jpg]] | ||
+ | |||
+ | === Test RS-232 Serial === | ||
+ | |||
+ | * With MAX232 | ||
+ | * Install DB-9 Male | ||
+ | * Holes don't line up well, but 4-40 screws can fit | ||
+ | * Connected to [[FTDI-49MM]] and [[DCE]] cards | ||
+ | ** [[FTDI-49MM]] and [[DCE]] cards wired together | ||
+ | ** [[DCE]] has female DB-9 | ||
+ | ** Separate power cable J2 on [[FTDI-49MM]] to J3 on card | ||
+ | |||
+ | [[FILE:FTDI_DCE_P1090192-720PXV.jpg]] | ||
+ | |||
+ | * Works | ||
+ | |||
+ | == Software == | ||
+ | |||
+ | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/SOFTWARE/ExBasROM.hex ExBasROM.hex] - ROM file | ||
+ | |||
+ | === ROM BASIC assembly listing === | ||
+ | |||
+ | * [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/SOFTWARE/ExBasROM.ExBasROM Hex file] | ||
+ | * AS9 was used to assemble the BASIC listing | ||
+ | * Grant wrote a serial handler to control the text I/O, along with suitable Control-C break handling | ||
+ | * Includes commands from the "Extended" BASIC ROM (from the "Extended BASIC Unraveled II" book) | ||
+ | * The ROM in the SBC is fully working with all the commands in the Standard and Extended ROMS that are applicable to the SBC | ||
+ | * Assembled using as9 with the following command... | ||
+ | |||
+ | <pre> | ||
+ | as9 exbasrom.asm -now l s19 | ||
+ | </pre> | ||
+ | |||
+ | * *-now" suppresses warnings | ||
+ | * "l" produces a lst file | ||
+ | * "s19" produces an s19 hex file | ||
+ | * If you use as9, you will probably get a "Null pointer assignment" message when it completes | ||
+ | ** This can be ignored, and is a known bug with as9 that doesn't affect operation (according to the readme file that came with it) | ||
+ | * 115,200 BAUD | ||
+ | * Same build as [[SIMPLE-6809]] from Grant Searle | ||
+ | * Works | ||
+ | |||
+ | === ASSIST-09 Plus Microsoft Extended BASIC === | ||
+ | |||
+ | * Jeff Tranter combined the [https://github.com/jefftranter/6809/tree/master/sbc/combined ASSIST-09 and Ext BASIC source codes] | ||
+ | * Debugger with small command set | ||
+ | ** Adds U (Unassemble command) | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/blob/master/6809/LB-6809/assist09/README.md Commands] | ||
+ | ** Includes S record loader | ||
+ | * '''G C000''' to run Extended BASIC | ||
+ | * Works | ||
+ | |||
+ | == Performance == | ||
+ | |||
+ | * TeraTerm settings | ||
+ | |||
+ | [[file:SIMPLE-6809_TeraTerm_Setup.PNG]] | ||
+ | |||
+ | * Test software | ||
+ | |||
+ | <pre> | ||
+ | 10 FOR I =1 TO 10000 | ||
+ | 20 PRINT I | ||
+ | 30 NEXT I | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | * Time ~52 secs | ||
+ | |||
+ | == PCB Issues == | ||
+ | |||
+ | === Rev 2 === | ||
+ | |||
+ | * Fix Silkscreen on J3 (see above J3 FTDI cable section) | ||
+ | * Ordered 10 PCBs from JLCPCB | ||
+ | |||
+ | === Rev 1 === | ||
+ | |||
+ | * Works | ||
+ | * Silkscreen J3 is wrong directions (TX/RX) | ||
== Mechanicals == | == Mechanicals == | ||
Line 86: | Line 575: | ||
== Assembly Sheet == | == Assembly Sheet == | ||
− | [[SIMPLE-6809 Rev 1 Assembly Sheet]] | + | === Rev 2 === |
+ | |||
+ | * [http://land-boards.com/SIMPLE-6809/SIMPLE-6809_REV2_ibom.html SIMPLE-6809 Rev 2 Interactive BOM] | ||
+ | |||
+ | === Rev 1 === | ||
+ | |||
+ | * [[SIMPLE-6809 Rev 1 Assembly Sheet]] | ||
+ | * [http://land-boards.com/SIMPLE-6809/SIMPLE-6809_REV1_ibom.html SIMPLE-6809 Rev 1 Interactive BOM] |
Latest revision as of 17:50, 11 September 2024
Contents
Features
- Build of Grant Searles's Simple 6809 CPU
- Runs BASIC
- 68B09 CPU
- 7.3728 MHz
- 32KB SRAM
- 16KB EPROM/EEPROM
- 68B50 Serial Port (ACIA)
- RS-232 port
- Header for FTDI
- 115,200 baud
- Reset switch with optional Power Supervisor
- 95x95mm card
- (4) 6-32 mounting holes
Memory Map
- 0x0000-0x7FFF 32KB SRAM
- 0x8000-0x9FFF Free Space (8KB)
- 0xA000-0xBFFF Serial (ACIA)
- 0xC000-0xCFFF 16KB EPROM
Chipset
Design
CPU
CPU Timing
EEPROM
SRAM
Logic
ACIA
- Can only use RS-232 or FTDI - one at a time
- Put MAX232 in a socket if you want flexibility
- Remove MAX232 if you want to use FTDI
Headers / Connectors
J1 - RS-232 Serial
- DB-9 Male
- Pinout
- N/C
- Receive
- Transmit
- Loop to pin 6
- GND
- Loop to pin 4
- RTS
- N/C
- N/C
J2 / J5 - EPROM/EEPROM Select Jumpers
- J2 - EPROM Pin 1 jumper
- 1-2 for 28C64, 28C256 (Pull WE to VCC)
- 2-3 for 27256, 27SF256, 27512 (Pull A14 to GND)
- J5 - EPROM Pin 27 jumper
- GND (2-3)
EEPROM Pin Table
27512 | 27256 | 27SF256 | 28C256 | 27128 | 2764 | 28C64 | PIN | PIN | 2764 | 28C64 | 27128 | 28C256 | 27SF256 | 27256 | 27512 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A15 | VPP | VPP | A14 | VPP | VPP | N/C | 1 | 28 | VCC | VCC | VCC | VCC | VCC | VCC | VCC | |
A12 | A12 | A12 | A12 | A12 | A12 | A12 | 2 | 27 | PGM | WE* | PGM | WE* | A14 | A14 | A14 | |
A7 | A7 | A7 | A7 | A7 | A7 | A7 | 3 | 26 | A13 | N/C | A13 | A13 | A13 | A13 | A13 | |
A6 | A6 | A6 | A6 | A6 | A6 | A6 | 4 | 25 | A8 | A8 | A8 | A8 | A8 | A8 | A8 | |
A5 | A5 | A5 | A5 | A5 | A5 | A5 | 5 | 24 | A9 | A9 | A9 | A9 | A9 | A9 | A9 | |
A4 | A4 | A4 | A4 | A4 | A4 | A4 | 6 | 23 | A11 | A11 | A11 | A11 | A11 | A11 | A11 | |
A3 | A3 | A3 | A3 | A3 | A3 | A3 | 7 | 22 | OE* | OE* | OE* | OE* | OE* | OE* | OE* | |
A2 | A2 | A2 | A2 | A2 | A2 | A2 | 8 | 21 | A10 | A10 | A10 | A10 | A10 | A10 | A10 | |
A1 | A1 | A1 | A1 | A1 | A1 | A1 | 9 | 20 | CE* | CE* | CE* | CE* | CE* | CE* | CE* | |
A0 | A0 | A0 | A0 | A0 | A0 | A0 | 10 | 19 | D7 | D7 | D7 | D7 | D7 | D7 | D7 | |
D0 | D0 | D0 | D0 | D0 | D0 | D0 | 11 | 18 | D6 | D6 | D6 | D6 | D6 | D6 | D6 | |
D1 | D1 | D1 | D1 | D1 | D1 | D1 | 12 | 17 | D5 | D5 | D5 | D5 | D5 | D5 | D5 | |
D2 | D2 | D2 | D2 | D2 | D2 | D2 | 13 | 16 | D4 | D4 | D4 | D4 | D4 | D4 | D4 | |
GND | GND | GND | GND | GND | GND | GND | 14 | 15 | D3 | D3 | D3 | D3 | D3 | D3 | D3 |
J3 - FTDI / TTL Serial
- Requires a FTDI cross-over cable
- Can only use RS-232 or FTDI - one at a time
- Put MAX232 in a socket if you want flexibility
- Remove MAX232 if you want to use FTDI
- Rev 1 PCB silkscreen is wrong (both sides of the card)
- GND
- N/C
- +5V
- Transmit (out)
- Receive (in)
- N/C
J4 - 5V Power
- 2x4 header
First Unit Checkout
Install Sockets
- Machined pin sockets
Install Passives
Power
- Install 2x4 at J4
- Power card via J4 with 5V
- Check power pins on parts
Clock
- Install Clock parts
- Install 7.3728 MHz crystal
- Install C5, C6
- Install CPU at U5
Reset
- Install U7 Power Monitor
- Install pushbutton switch SW1
- Reset button gets stretched by Power Monitor U9
- Measure reset at 68B09 U5 pin 37
- Falling edge scope cap
EPROM
- SST27C256 EEPROM
- 32 KB part
- Using first 16KB of EEPROM
- J2 EEPROM pin 1 = VPP = VCC or GND
- Jumper J2:2-3
- J5 EEPROM pin 27 = A14 = GND
- Jumper J5:2-3
- U1 - Do not install MAX232
- Use FTDI connector with FTDI-49MM card
EEPROM Programming
- Program using TL-866ii plus programmer
- File = ExBasROM.hex
- Set offsets for 27SF256 part
- Part is 32 KB
- hex files is 16 KB
- Set From File Start Addr(Hex) to 0C000
- To Buffer Start Addr(Hex) to 00000
- Memory Buffer should look like
- Got Device ID error
- Turn off ID check
- Device programmed/verified
Install CPU, ROM, RAM, ACIA
- Do not install MAX232 yet
- Use FTDI connector with FTDI-49MM card
Test FTDI Serial
- Silkscreen swapped for TX, RX
Test RS-232 Serial
- With MAX232
- Install DB-9 Male
- Holes don't line up well, but 4-40 screws can fit
- Connected to FTDI-49MM and DCE cards
- Works
Software
- ExBasROM.hex - ROM file
ROM BASIC assembly listing
- Hex file
- AS9 was used to assemble the BASIC listing
- Grant wrote a serial handler to control the text I/O, along with suitable Control-C break handling
- Includes commands from the "Extended" BASIC ROM (from the "Extended BASIC Unraveled II" book)
- The ROM in the SBC is fully working with all the commands in the Standard and Extended ROMS that are applicable to the SBC
- Assembled using as9 with the following command...
as9 exbasrom.asm -now l s19
- *-now" suppresses warnings
- "l" produces a lst file
- "s19" produces an s19 hex file
- If you use as9, you will probably get a "Null pointer assignment" message when it completes
- This can be ignored, and is a known bug with as9 that doesn't affect operation (according to the readme file that came with it)
- 115,200 BAUD
- Same build as SIMPLE-6809 from Grant Searle
- Works
ASSIST-09 Plus Microsoft Extended BASIC
- Jeff Tranter combined the ASSIST-09 and Ext BASIC source codes
- Debugger with small command set
- Adds U (Unassemble command)
- Commands
- Includes S record loader
- G C000 to run Extended BASIC
- Works
Performance
- TeraTerm settings
- Test software
10 FOR I =1 TO 10000 20 PRINT I 30 NEXT I
- Time ~52 secs
PCB Issues
Rev 2
- Fix Silkscreen on J3 (see above J3 FTDI cable section)
- Ordered 10 PCBs from JLCPCB
Rev 1
- Works
- Silkscreen J3 is wrong directions (TX/RX)