Close
0%
0%

STEbus 68B09E

68B09E processor board renovation

Similar projects worth following
Renovation of a tried and tested commercial design. Not my own design!

Fully working board with manual, and circuit diagram.

Running Microsoft BASIC from Grant Searle's minimal 6809 design.
This omits features the Searle board does not support, like graphics.

BBC BASIC is a future project, and will begin with Jonathan Harston's code for the Acorn 6809 board and his code for unofficial 6809 second processor projects.

68B09E or 63C09E running at 2 MHz

120ns 32K EEPROM

100ns 32K SRAM

Sys6809.src

Source code for Acorn System One 6809 board. Potential foundation for Acorn-based software projects, such as a 6809 second processor firmware and BBC BASIC.

x-wais-source - 42.33 kB - 09/22/2019 at 14:26

Download

6809_SINTB.s.txt

Buffered Interrupt-Driven Input/Output Using a 6850 ACIA. From Leventhal's 6809 Subroutines book.

plain - 11.19 kB - 09/13/2019 at 21:07

Download

Acorn_200_012_U4_works_commented_asm.src.a09

Source code for Acorn's System One 6809 board firmware. Acorn style MOS and monitor, with code to bootstrap from floppy disc.

a09 - 42.43 kB - 07/09/2019 at 22:19

Download

ExBasROM.asm.2019-06-01.zip

Extended BASIC for Grant Searle's Simple 6809 design, modified syntax so it can be assembled online. One-byte error corrected.

Zip Archive - 63.03 kB - 06/02/2019 at 16:13

Download

  • Project Log

    Keith09/28/2019 at 16:13 0 comments

    2019-05-30

    I'd been putting this project off for a while because it is very complicated to get fully working and I have no known-good firmware specifically for it. I considered porting a monitor but a BASIC interpreter would be more impressive. Grant Searle's minimalist 6809 design has Microsoft BASIC and the same 6850 ACIA serial chip. I would still need to reassemble the firmware source code with different addresses for this chip.

    Grant's source code uses Motorola style. Comments begin with an asterisk instead of a semicolon, or not at all if there is enough for the assembler to make valid instruction bytes already.

    The assembler I use (https://www.asm80.com) uses the most common syntax it can for all processors. So I had to do a lot of editing to get it to assemble, and it is still not generating a hexfile identical to the one from Grant's site.

    It occurred to me that I could program the GAL chips to put the memory map the same at Grant's design. I can then use Grant's ROM unmodified. Also, I don't have to get everything working at once. Just the CPU and serial port at first. Then the STEbus, which requires cycle stretching. The tricky bit is getting it back in sync with the ACIA and PTM chips, which require fixed cycle times.

    If that proves too difficult for me then I may replace them with chips that have independent clocks, such as a real-time clock that can interrupt the CPU every second (for OS/9 and Flex operating systems), and the Zilog SCC which is a far more powerful serial chip.

    Finally, I might also replace the serial chip with a USB module from FTDI. These have a really simple FIFO-like interface, and avoid the need for external RS323 to USB converter cables.

    2019-05-31

    Inserting jumper links, I notice the manual and circuit diagram are both version 1 issue 5, applying to version 1 issue 2 boards. I have a version 1 issue 1 board, lacking link areas J21 and J22. I can work around the differences.

    2019-06-01

    Finished porting Grant's code to use the online assembler syntax. Found one error, and other errors due to operator precedence which were fixed by brackets. Original source was all upper case, which make sense if the host machine only has upper case e.g. the 6809 CoCo and Dragon.

    2019-06-02

    Had a look at some other 6809 machines to see what their memory maps look like. E.g. the CoCo, Dragon, and Acorn 6809 card. Looks like operating systems really need a counter/timer to interrupt them at least once per second. The CoCo and Dragon don't have this but seem to manage without. The Arcom SC09 has a 6850 programmable timer module. The Acorn 6809 card has a 6522 which can generate interrupts and as a bonus provide parallel I/O for driving a printer.

    I think a proper real-time clock would be better, providing interrupts and a useful clock/calendar.

    2019-06-20

    Stage 1, first attempt at programmable logic tried. E and Q signals running at a quarter of master clock - correct. Address, data and control signals flapping away, indicating the CPU is running even if it is garbage. Nothing coming out the serial port, because the Timer chip needs to programming to drive the Tx/RX clock of the ACIA chip. Grant clocks his ACIA from the E signal, at 1.8432 MHz. My board has a 16 MHz crystal and 2 MHz E signal. I need either a separate baud rate clock or change the 16 MHz master crystal to a 14.7456 MHz crystal.

    2019-06-21

    14.7456 MHz crystal fitted. 6840 timer chip removed and E wired to TX/RX clock pins.  Still no sign-on message. Looks like I need to get the logic analyser out to see what the signals are actually doing.

    2019-06-26

    Logic probe showed the TX line was not valid TTL voltage. It was 0.9 volts. Dead buffer? Removed buffer, it raised to 5V. Replaced buffer, still 5V. Had it been in the wrong way round? Check the photo, yes it had. And my +/-12 source was dead.

    2019-06-28

    Read and Write signals modified. Memory system runs in "early write" mode, R/!W lines set up before data...

    Read more »

View project log

Enjoy this project?

Share

Discussions

frenchie68 wrote 08/07/2018 at 08:39 point

The SC09 board is apparently the reference platform described in the book "

Microprocessor System Design: A Practical Introduction" By Michael J. Spinks (1992).

  Are you sure? yes | no

Keith wrote 08/23/2018 at 01:28 point

It is. I have that book, though the PAL equations are not given there.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates