Close
0%
0%

Micro8085

Intel 8085 development board with TinyBASIC. Additional hardware for GPIO, Timer, UART, SPI bus, e2mem, ADC, DAC, PWM and comparator.

Similar projects worth following

Micro8085 Development Board with Tiny BASIC

So, what’s this? The Micro8085, an embedded development board with the Intel 8085 CPU, running Palo Alto Tiny BASIC. And with hardware support for GPIO, Timer, UART, SPI bus, e2mem, ADC, DAC, PWM and comparator input.

Why?

Because it’s fun! The Intel 8085 was the first CPU I learnt to program (early 80’s), and I had a bunch of chips and old projects lying around which would be great if I could make some use of. And I wanted to show that a CPU from 1976(!) with some basic peripheral circuits will still have decent performance.

But perhaps the most important and strongest driving force for this project comes from a notion I have accumulated over several years in my profession as an embedded hardware and software engineer: It’s not easy to find junior developers with a fling for the un-fanciness of binary theory, designing algorithms, handling of arithmetic and logical problems, low level programming, etc. What if this particular board could inspire just one kid with a budding interest in programming, to go deeper into the world of embedded systems? It would be worth a try.

Palo Alto Tiny BASIC

As a platform for the board functionality, and to have some sort of “operating system”, I selected the Palo Alto Tiny BASIC. I guess there is plenty of information on the Internet about Tiny BASIC, but it especially attracted my interest since it’s considered to be the first ever free software/open source project. It originates from a counter movement to the commercial Altair BASIC, developed early 1975 as the first product of the by then newly founded Microsoft company. Altair BASIC sold for $150, a price that inspired hobbyists as well as computer scientists to want to do something of their own.

The Palo Alto Tiny BASIC is one of several versions of a community driven development of a BASIC interpreter that ran on the microprocessors available in the mid 70’s: Intel 8080, MOS Technology 6502 and Motorola 6800, to name the most common ones. Dr. Li-Chen Wang wrote the interpreter source, and the original mnemonics was translated to Intel assembler by Roger Rauskolb. It was originally published in Dr. Dobb’s Journal, May 1976. In the source code, Dr. Wang included the now quite famous copyright statement with a peculiar twist: “@COPYLEFT ALL WRONGS RESERVED”.

Additions to the interpreter

Line editor

I decided that the interpreter should be able to run over a USB/serial port and connect to a terminal emulator program on a PC. So the line input functions of the original code needed a big overhaul in order to accept left and right arrow for moving the cursor, backspace and delete key for error correction, and the ability to insert new characters anywhere in the buffer. Already typed program lines also needed a way to be able to get edited (so you don’t have to retype the whole line, if you realize you made a typo error), and therefore I added the direct command EDIT linenum.

Non-volatile memory

When you’re working with a project on a board like this, I thought it would be very convenient to be able to store and restore BASIC programs to and from a non-volatile memory. Then you could work with your programming ideas, store the program, and don’t have to worry about not turning off power to the board. Next time you just restore the program and continue working. So the board has a 32kB EEPROM memory connected via a SPI (Serial Peripheral Interface) bus, and it is accessible using the added direct commands SAVE and LOAD.

Depending on your choice of terminal emulator, it is of course also possible to just execute the LIST command, then select and copy the lines of your program that you want to save, paste them into an empty document of a plain text editor, and save it as a text file. The n to restore the program, look for a “Send text file...” command in your terminal emulator, open the file containing your program,...

Read more »

micro8085_pcba.zip

PCB assembly rev 1.1; cam/gerber, schematic and pcba bom including bugfix for dac output swing and uart pullup. See previous documentation for reference. Please note: no support, no guarantees, etc.

x-zip-compressed - 1.66 MB - 03/13/2023 at 21:29

Download

TinyBASIC_micro8085_manual.pdf

Manual text as shown on terminal when executing command MAN but formatted and printed to a pdf doc.

Adobe Portable Document Format - 14.51 kB - 01/06/2021 at 23:39

Preview
Download

micro8085v1_1_sch.pdf

Board schematics

Adobe Portable Document Format - 171.84 kB - 01/03/2021 at 22:17

Preview
Download

micro8085v1_pcb.pdf

First PCB version (ver 1) layers as pdf. Gerbers will not be released due to pending modification. Please read project description for further information.

Adobe Portable Document Format - 892.38 kB - 01/03/2021 at 22:13

Preview
Download

micro8085v1_1_bom.pdf

Bill of material including approximate cost. Note currency SEK

Adobe Portable Document Format - 87.90 kB - 01/03/2021 at 22:12

Preview
Download

View all 10 files

  • PCBA documents uploaded

    Anders Hjelm03/13/2023 at 21:41 0 comments

    PCB assembly rev 1.1; cam/gerber, schematic and pcba bom including bugfix for dac output swing and uart pullup. See previous documentation for reference. Please note: no support available, no guarantees, etc.

  • C language support via z88dk.org

    Anders Hjelm01/06/2022 at 15:31 0 comments

    Board now has C programming language support via the Z88 Development Kit (z88dk.org). Download latest nightly build and you will find board support (micro8085) in the package. Any C firmware obsoletes the built-in Tiny Basic Interpreter.

  • Initial upload

    Anders Hjelm01/03/2021 at 23:02 0 comments

    Micro8085 development board with Tiny BASIC. Finalizing initial upload of project content. Project status still listed as "ongoing", but at this point it probably enters a pause awaiting inspiration for what will be next step. 2021-01-04 / Anders Hjelm

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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