Difference between revisions of "SIMPLE-6809"

From Land Boards Wiki
Jump to navigation Jump to search
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[FILE:SIMPLE-6809_REV1_FRONT_(BLK).png]]
+
[[FILE:SIMPLE-6809_P1090253-720pxV.jpg]]
 +
 
 +
<video type="youtube">p5mwMwwM-R0</video>
  
 
== Features ==
 
== Features ==
Line 72: Line 74:
 
# N/C
 
# N/C
  
=== J2 / J5 -EPROM/EEPROM Select Jumpers ===
+
=== J2 / J5 - EPROM/EEPROM Select Jumpers ===
  
 
[[FILE:SIMPLE-6809_J2_J5.PNG]]
 
[[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
 
! 27512
 
! 27256
 
! 27256
 +
! 27SF256
 +
! 28C256
 
! 27128
 
! 27128
 
! 2764
 
! 2764
Line 88: Line 100:
 
! 28C64
 
! 28C64
 
! 27128
 
! 27128
 +
! 28C256
 +
! 27SF256
 
! 27256
 
! 27256
 
! 27512
 
! 27512
Line 93: Line 107:
 
| A15
 
| A15
 
| VPP
 
| VPP
 +
| VPP
 +
| A14
 
| VPP
 
| VPP
 
| VPP
 
| VPP
 
| N/C
 
| N/C
| 1 (J2)
+
| 1
 
|  
 
|  
 
| 28
 
| 28
 +
| VCC
 +
| VCC
 
| VCC
 
| VCC
 
| VCC
 
| VCC
Line 105: Line 123:
 
| VCC
 
| VCC
 
|-
 
|-
 +
| A12
 +
| A12
 
| A12
 
| A12
 
| A12
 
| A12
Line 112: Line 132:
 
| 2
 
| 2
 
|  
 
|  
| 27 (J5)
+
| 27
 
| PGM
 
| PGM
 
| WE*
 
| WE*
 
| PGM
 
| PGM
 +
| WE*
 +
| A14
 
| A14
 
| A14
 
| A14
 
| A14
 
|-
 
|-
 +
| A7
 +
| A7
 
| A7
 
| A7
 
| A7
 
| A7
Line 129: Line 153:
 
| A13
 
| A13
 
| N/C
 
| N/C
 +
| A13
 +
| A13
 
| A13
 
| A13
 
| A13
 
| A13
 
| A13
 
| A13
 
|-
 
|-
 +
| A6
 +
| A6
 
| A6
 
| A6
 
| A6
 
| A6
Line 143: Line 171:
 
| A8
 
| A8
 
| A8
 
| A8
|  
+
| A8
 +
| A8
 +
| A8
 
| A8
 
| A8
 
| A8
 
| A8
 
|-
 
|-
 +
| A5
 +
| A5
 
| A5
 
| A5
 
| A5
 
| A5
Line 157: Line 189:
 
| A9
 
| A9
 
| A9
 
| A9
|  
+
| A9
 +
| A9
 +
| A9
 
| A9
 
| A9
 
| A9
 
| A9
 
|-
 
|-
 +
| A4
 +
| A4
 
| A4
 
| A4
 
| A4
 
| A4
Line 171: Line 207:
 
| A11
 
| A11
 
| A11
 
| A11
|  
+
| A11
 +
| A11
 +
| A11
 
| A11
 
| A11
 
| A11
 
| A11
 
|-
 
|-
 +
| A3
 +
| A3
 
| A3
 
| A3
 
| A3
 
| A3
Line 185: Line 225:
 
| OE*
 
| OE*
 
| OE*
 
| OE*
|  
+
| OE*
 +
| OE*
 +
| OE*
 
| OE*
 
| OE*
 
| OE*
 
| OE*
 
|-
 
|-
 +
| A2
 +
| A2
 
| A2
 
| A2
 
| A2
 
| A2
Line 199: Line 243:
 
| A10
 
| A10
 
| A10
 
| A10
|  
+
| A10
 +
| A10
 +
| A10
 
| A10
 
| A10
 
| A10
 
| A10
 
|-
 
|-
 +
| A1
 +
| A1
 
| A1
 
| A1
 
| A1
 
| A1
Line 213: Line 261:
 
| CE*
 
| CE*
 
| CE*
 
| CE*
|  
+
| CE*
 +
| CE*
 +
| CE*
 
| CE*
 
| CE*
 
| CE*
 
| CE*
 
|-
 
|-
 +
| A0
 +
| A0
 
| A0
 
| A0
 
| A0
 
| A0
Line 227: Line 279:
 
| D7
 
| D7
 
| D7
 
| D7
|  
+
| D7
 +
| D7
 +
| D7
 
| D7
 
| D7
 
| D7
 
| D7
 
|-
 
|-
 +
| D0
 +
| D0
 
| D0
 
| D0
 
| D0
 
| D0
Line 241: Line 297:
 
| D6
 
| D6
 
| D6
 
| D6
|  
+
| D6
 +
| D6
 +
| D6
 
| D6
 
| D6
 
| D6
 
| D6
 
|-
 
|-
 +
| D1
 +
| D1
 
| D1
 
| D1
 
| D1
 
| D1
Line 255: Line 315:
 
| D5
 
| D5
 
| D5
 
| D5
|  
+
| D5
 +
| D5
 +
| D5
 
| D5
 
| D5
 
| D5
 
| D5
 
|-
 
|-
 +
| D2
 +
| D2
 
| D2
 
| D2
 
| D2
 
| D2
Line 269: Line 333:
 
| D4
 
| D4
 
| D4
 
| D4
|  
+
| D4
 +
| D4
 +
| D4
 
| D4
 
| D4
 
| D4
 
| D4
 
|-
 
|-
 +
| GND
 +
| GND
 
| GND
 
| GND
 
| GND
 
| GND
Line 283: Line 351:
 
| D3
 
| D3
 
| D3
 
| D3
|  
+
| D3
 +
| D3
 +
| D3
 
| D3
 
| D3
 
| D3
 
| D3
Line 290: Line 360:
  
 
=== J3 - FTDI / TTL Serial ===
 
=== J3 - FTDI / TTL Serial ===
 +
 +
* Requires a FTDI cross-over cable
 +
 +
[[FILE:SIMPLE-6809_J3_FTDI.PNG]]
 +
 +
* Rev 1 PCB silkscreen is wrong (both sides of the card)
 +
 +
[[file:SIMPLE-6809_J3.PNG]]
  
 
# GND
 
# GND
# RTS* (out)
+
# N/C
 
# +5V
 
# +5V
 +
# Transmit (out)
 
# Receive (in)
 
# Receive (in)
# Transmit (out)
 
 
# N/C
 
# N/C
  
Line 303: Line 381:
  
 
== First Unit Checkout ==
 
== First Unit Checkout ==
 +
 +
[[FILE:SIMPLE-6809_P1090174-720PX.jpg]]
  
 
=== Install Sockets ===
 
=== Install Sockets ===
  
 
* Machined pin sockets
 
* Machined pin sockets
 +
 +
[[FILE:SIMPLE-6809_P1090171-720PX.jpg]]
  
 
=== Install Passives ===
 
=== Install Passives ===
Line 319: Line 401:
  
 
* Install Clock parts
 
* Install Clock parts
** Install CPU at U5
 
 
** Install 7.3728 MHz crystal
 
** Install 7.3728 MHz crystal
 
** Install C5, C6
 
** Install C5, C6
 +
 +
[[file:SIMPLE-6809_P1090189-720px.jpg]]
 +
 +
* Install CPU at U5
  
 
=== Reset ===
 
=== Reset ===
Line 367: Line 452:
 
* Device programmed/verified
 
* Device programmed/verified
  
=== Test Serial ===
+
=== 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
 
* Wire FTDI J3 to [[FTDI-49MM]] card
** GNDs together
+
** [[FTDI-49MM]] GND pin 1 to J3-1 RX on card
** VCCs together
+
** [[FTDI-49MM]] VCC pin 3 to J3-3 RX on card
** TX on [[FTDI-49MM]] to RX on card
+
** [[FTDI-49MM]] TX pin 4 on to J3-5 RX on card
** RX on [[FTDI-49MM]] to TX 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 ==
 
== Software ==
 +
 +
* [https://github.com/land-boards/lb-boards/blob/master/RetroCPUs/SIMPLE-6809/SOFTWARE/ExBasROM.hex ExBasROM.hex] - ROM file
 +
 +
=== ROM BASIC assembly listing ===
 +
 +
* 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 (see link later on this page) 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)
 +
 +
== 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
  
 
== Mechanicals ==
 
== Mechanicals ==
Line 383: Line 534:
 
== Assembly Sheet ==
 
== Assembly Sheet ==
  
[[SIMPLE-6809 Rev 1 Assembly Sheet]]
+
* [http://land-boards.com/SIMPLE-6809/SIMPLE-6809_REV2_ibom.html SIMPLE-6809 Rev 2 Interactive BOM]
 +
* [[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 15:57, 19 March 2023

SIMPLE-6809 P1090253-720pxV.jpg

Features

Memory Map

  • 0x0000-0x7FFF 32KB SRAM
  • 0x8000-0x9FFF Free Space (8KB)
  • 0xA000-0xBFFF Serial (ACIA)
  • 0xC000-0xCFFF 16KB EPROM

Chipset

Design

  • CPU

SIMPLE-6809 U5 CPU.PNG

  • EEPROM

SIMPLE-6809 U4 EEPROM.PNG

  • SRAM

SIMPLE-6809 U2 SRAM.PNG

  • Logic

SIMPLE-6809 U6 LOGIC.PNG

  • ACIA

SIMPLE-6809 U3 ACIA.PNG

Headers / Connectors

SIMPLE-6809 REV1 CAD.PNG

J1 - RS-232 Serial

  • DB-9 Male
  • Pinout
  1. N/C
  2. Receive
  3. Transmit
  4. Loop to pin 6
  5. GND
  6. Loop to pin 4
  7. RTS
  8. N/C
  9. N/C

J2 / J5 - EPROM/EEPROM Select Jumpers

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

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

SIMPLE-6809 J3 FTDI.PNG

  • Rev 1 PCB silkscreen is wrong (both sides of the card)

SIMPLE-6809 J3.PNG

  1. GND
  2. N/C
  3. +5V
  4. Transmit (out)
  5. Receive (in)
  6. N/C

J4 - 5V Power

  • 2x4 header

First Unit Checkout

SIMPLE-6809 P1090174-720PX.jpg

Install Sockets

  • Machined pin sockets

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

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


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

SIMPLE-6809 Programmer Offsets.PNG

  • Memory Buffer should look like

SIMPLE-6809 Programmer BufferContents.PNG

  • Got Device ID error
  • Turn off ID check

SIMPLE-6502 TL866Plus Program.png

  • Device programmed/verified

Install CPU, ROM, RAM, ACIA

  • Do not install MAX232 yet

Test FTDI Serial

  • Silkscreen swapped for TX, RX

SIMPLE-6809 J3.PNG

SIMPLE-6809 BASIC DISPLAY.PNG

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 DCE P1090192-720PXV.jpg

  • Works

Software

ROM BASIC assembly listing

  • 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 (see link later on this page) 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)

Performance

  • TeraTerm settings

SIMPLE-6809 TeraTerm Setup.PNG

  • Test software
10 FOR I =1 TO 10000
20 PRINT I
30 NEXT I

  • Time ~52 secs

Mechanicals

SIMPLE-6809 REV1 MECHS.PNG

Assembly Sheet