Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sst-6809:top [2024/10/25 19:47] – [JP3] robert | sst-6809:top [2025/05/10 09:40] (current) – add sub page link for microFORTH robert | ||
---|---|---|---|
Line 6: | Line 6: | ||
[[https:// | [[https:// | ||
- | ^ V2.0 Part ^ Integrated Circuit | + | * The [[Parts List]] |
- | | U1 | Motorola MC68B09 or Hitachi HD63C09 MPU | | + | * The [[Memory Map]] |
- | | U2 | Texas Instruments SN74HCT273N Octal Flip-Flop with Reset | | + | * [[56K NVRAM]] |
- | | U3 | Alliance AS6C4008-55PCN 4Mbit / 512KB SRAM | | + | * [[Main Bus Select |
- | | U4 | | + | * [[Main Bus Select 1 1K]] |
- | | U5 | Dallas Semiconductor DS1813 EconoReset | + | * [[ACIA Select 256b]] |
- | | U6 | Phillips 74HCT02N Quad 2-Input NOR | | + | * [[Memory Latch Select 256b]] |
- | | U7 | Dallas Semiconductor DS1210 Nonvolatile Controller | + | * [[EEPROM 4K]] |
- | | | + | |
- | | U9 | Atmel At28C256 256Kbit | + | * [[JP2]] |
- | | U10 | Motorola MC74HCT138AN 3-to-8 Line Decoder / Demultiplexer | + | * [[JP3]] |
- | | U11 | Dallas Semiconductor DS1233 EconoReset | + | * [[JP5]] - Boot ROM Select |
- | | | + | * [[J4]] - Main Serial Signals |
- | | | + | * [[J5]] - Addtional 6x09 Signals |
+ | * [[J6]] - Secondary Battery and Additional Serial Signals | ||
+ | * The [[SBC Reset Circuit]] | ||
+ | | ||
+ | * [[M8 Motorino Game Board]] | ||
+ | * [[M8 6809 Mezzanine Board]] | ||
+ | * [[M8 6522 Prototyping Board]] | ||
+ | * [[M8 Blinkenlights]] | ||
+ | * Motorola | ||
+ | * [[Getting Started]] | ||
+ | * [[Hexadecimal Loader]] | ||
+ | * [[Load Motorola S-Records]] | ||
+ | * Ported Software | ||
+ | * [[TinyBASIC]] by Tom Pittman, Holger Veit, and Doug Gilliland | ||
+ | * [[TSC BASIC]] by TSC, Brian L. Stuart, and Doug Gilliland | ||
+ | * [[PSYMON]] 1.20B by Percom Data Systems | ||
+ | * [[BUGGY]] 1.01 by Lennart Benschop | ||
+ | * [[microFORTH]] 1.0 by Mike Pashea, ported by Ken Willmott | ||
+ | | ||
+ | * The [[http:// | ||
+ | * The [[http:// | ||
+ | | ||
+ | * :?: Flex 6809 | ||
+ | * :?: CP/M | ||
+ | * :?: NitrOS-9 Level 1 | ||
+ | * :?: NitrOS-9 Level 2 | ||
+ | * :?: Fuzix | ||
+ | | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Lost Wizard Assembler [[http:// | ||
+ | * MacroAssembler AS [[http:// | ||
- | The [[Memory Map]] and Bank Switching. | ||
- | |||
- | ===== Jumpers ===== | ||
- | |||
- | ==== JP2 ==== | ||
- | |||
- | JP2 connects to on-board 3.0V coin cell to the backup circuit. | ||
- | |||
- | The purpose is to provide an easy way to clear the NVRAM contents on the V2.1 SBC. | ||
- | |||
- | ==== JP3 ==== | ||
- | |||
- | ^ JP3 ^ Selects | ||
- | | 1-2 | External 5V from screw terminals | ||
- | | 2-3 | 5V Comes from USB serial adapter | ||
- | |||
- | Some boards like the [[#M8 Game Board]] use too much power for the USB port to supply. | ||
- | |||
- | In that case, external regulated 5V should be connect to the screw terminals, and the jumper on JP3 should be moved to pins 1-2. | ||
- | |||
- | Otherwise, it should join pins 2-3 for USB power. | ||
- | |||
- | This is done to prevent 5V board power from backfeeding into the USB port. | ||
- | |||
- | ==== JP5 ==== | ||
- | |||
- | ^ JP5 ^ SBC V2.1 Boot ROM Select ((SBC V2.0 has two jumpers for ROM select.)) ^ | ||
- | | 1-2 | normal | | ||
- | | 2-3 | ROM A14 inverted | | ||
- | |||
- | In the normal position, the system boots from the top of the 32K EEPROM | ||
- | |||
- | In the inverted position, it boots from code at the top of the lower 16K of the same EEPROM. | ||
- | |||
- | This control bit originates from the latch, so it can be changed by writing the latch, regardless of position. | ||
- | |||
- | ==== J4 ==== | ||
- | |||
- | ^ J4 ^ Main Serial Connector ^ | ||
- | | 1 | Ground | | ||
- | | 2 | VCC (5V) | | ||
- | | 3 | Transmit Data (TXD) | | ||
- | | 4 | Receive Data (RXD) | | ||
- | | 5 | Data Terminal Ready (DTR) - Not Connected | | ||
- | | 6 | 3V3 - Not Connected | | ||
- | |||
- | ==== J5 ==== | ||
- | |||
- | J5 exposes some 6x09 signals that do not appear on [[#The M8 Bus]] | ||
- | |||
- | ^ Pin ^ Signal ^ | ||
- | | 1 | 6x09 Bus Status (BS) | | ||
- | | 2 | NVBAT | | ||
- | | 3 | 6x09 /FIRQ " | ||
- | | 4 | 6x09 /RESET Reset Interrupt Request | | ||
- | | 5 | M8 Bus Select 1 (BSEL1) | | ||
- | | 6 | Ground | | ||
- | |||
- | The NVBAT pin on J5 has two possible uses. | ||
- | |||
- | It is connected directly to the on board battery. | ||
- | |||
- | So it can either be used to replace the on board with an external battery, or can convey backup power to additional circuits such as, for example, an RTC. | ||
- | |||
- | ==== J6 ==== | ||
- | |||
- | J6 Access to the secondary battery connection and additional serial signals. | ||
- | |||
- | The DS1210 NVRAM controller supports two backup batteries. | ||
- | |||
- | J6 provides access to the secondary battery. | ||
- | |||
- | This should have a jumper between pin 1 and 2 to ground BAT2 if it's not in use. | ||
- | |||
- | It makes it possible to use an external battery. | ||
- | |||
- | One important purpose of the BAT2 connection, is that the on board battery may be removed for replacement without incurring memory loss, provided that a second battery is temporarily connected to GND and BAT2 on J6. | ||
- | |||
- | ^ Pin ^ Purpose ^ | ||
- | | 1 | Ground | | ||
- | | 2 | Battery 2 | | ||
- | | 3 | Serial Ready To Send (RTS) | | ||
- | | 4 | Serial Data Terminal Ready (DTR) | | ||
- | |||
- | ===== SBC Reset Circuit ===== | ||
- | |||
- | There are three footprints for a reset circuit on the board. | ||
- | |||
- | Only one should be populated for use. | ||
- | |||
- | The basic RC does work but some future devices may not tolerate the slow rise time. | ||
- | |||
- | There is a footprint for a DS1813 or for a DS1233 - these are obsolete parts but better than the RC reset solution if they are available. | ||
- | |||
- | ===== The M8 Bus ===== | ||
- | |||
- | The M8 bus design allows using the most advanced ICs that were available at the time, without regard to brand and fully supports DMA with the 6809 as well. | ||
- | |||
- | Note: The board decodes two bus select signals BSEL0 and BSEL1, only BSEL0 is routed to the M8 bus. | ||
- | |||
- | The additional decode could be routed to circuits on peripheral cards, using fly wire jumpers, for development purposes. | ||
- | |||
- | ===== M8 Game Board ===== | ||
- | |||
- | The M8 Game Board combines a TMS9918A Video Display Processor (VDP), dual Phillips SAA1099 sound synthesizers, | ||
- | |||
- | [[https:// | ||
- | |||
- | M8 Game Board Wiki:\\ | ||
- | [[https:// | ||
- | |||
- | ^ I/O Memory Map ^ R/W ^ IC ^ | ||
- | | 00-07 | R/W | TMS9918A | ||
- | | 08-0F | R | HCT541 | ||
- | | ::: | W | SAA1099P A | | ||
- | | 18-1F | R | HCT541 | ||
- | | ::: | W | SAA1099P B | | ||
- | |||
- | Bit 0 of each HCT541 is a read of the corresponding synth' | ||
- | |||
- | ===== M8 6809 Mezzanine Board ===== | ||
- | |||
- | M8-bus 6809 Mezzanine adds a timer IC, parallel I/O IC, two UARTs for serial communication to the SST-6809 SBC. | ||
- | |||
- | One UART is dedicated to an ESP32 module for wifi and bluetooth communications. | ||
- | |||
- | [[https:// | ||
- | |||
- | ===== M8 6522 Proto ===== | ||
- | |||
- | M8-bus compatible card which combines a 6522 VIA multi-IO chip with a prototyping area and some I/O connector footprints. | ||
- | |||
- | [[https:// | ||
- | |||
- | ===== Software ===== | ||
- | |||
- | {{sst-6809-green.png? | ||
- | |||
- | * [[ASSIST09]] | ||
- | |||
- | ==== Getting Started ==== | ||
- | Plug in USB-C power from a serial port on a Debian GNU/Linux machine. | ||
- | |||
- | Install minicom if you haven' | ||
- | sudo aptitude install minicom | ||
- | |||
- | Hunt down your USB device pathlist: | ||
- | ls /dev/tty* | ||
- | |||
- | Start minicom with the path to your USB device (-D pathlist): | ||
- | minicom -D / | ||
- | |||
- | Configure minicom terminal timings for 1ms per character and line ending delays: | ||
- | [CTRL]+[A] [T] | ||
- | [D] [1] [ENTER] | ||
- | [F] [1] [ENTER] | ||
- | | ||
- | Press RESET on the SST-6809 and you should see: | ||
- | ASSIST09 | ||
- | > | ||
- | |||
- | ==== Hexadecimal Loader ==== | ||
- | |||
- | You can use ASSIST09 to load data and code as a hexadecimal loader with these three starting commands: | ||
- | |||
- | Dump out a memory range | ||
- | >D 0000 0100 | ||
- | |||
- | Display/ | ||
- | >M 0000 | ||
- | 00- | ||
- | |||
- | Simply pick a memory address and start typing in hex codes as 2 digits, and then hit space to go to the next byte | ||
- | |||
- | "Go To" an address to start running code: | ||
- | >G 1000 | ||
- | |||
- | ==== Load Motorola S-Records ==== | ||
- | |||
- | You can also load assembled code as S-record files: | ||
- | >L | ||
- | |||
- | You can load S19 records using copy and paste into the terminal emulator window, or use minicom' | ||
- | [CTRL]+[A] [Y] | ||
- | Choose a file name | ||
- | |||
- | Be patient, larger loads may take some time. | ||
- | |||
- | If the load succeeds, you will see: | ||
- | >00 | ||
- | |||
- | If the load fails, you will see: | ||
- | ? | ||
- | > | ||
- | |||
- | Once loaded, use the "Call subroutine" | ||
- | |||
- | ===== TinyBASIC ===== | ||
- | |||
- | TinyBASIC from [[https:// | ||
- | |||
- | Then, start TinyBASIC with: | ||
- | >G 020D | ||
- | : | ||
- | |||
- | ===== TSC BASIC ===== | ||
- | |||
- | TSC BASIC from [[https:// | ||
- | |||
- | Then, start TSC BASIC with: | ||
- | >G 1000 | ||
- | ! | ||
- | |||
- | ===== Additional Software ===== | ||
- | |||
- | The [[http:// | ||
- | |||
- | With it, I have also adapted the following to execute: | ||
- | * [[PSYMON]] 1.20B by Percom Data Systems | ||
- | * [[BUGGY]] 1.01 by Lennart Benschop | ||
- | |||
- | ===== Future ... ===== | ||
- | |||
- | With the addition of DriveWire or other access to storage, loading full 6809 operating systems may become possible: | ||
- | |||
- | * Flex 6809? | ||
- | * CP/M? | ||
- | * NitrOS-9 Level 1? | ||
- | * NitrOS-9 Level 2? | ||
- | * Fuzix? | ||
- | |||
- | ===== Additional Resources ===== | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ===== RTS ===== | ||
Return to [[:top]] | Return to [[:top]] |