Close

Taking this project further

A project log for Single Chip AVR BASIC Computer

A computer running the BASIC programming language, generating composite video and reading PS/2 keyboard input using a single AVR.

danDan 07/14/2014 at 18:523 Comments

I would like to take this project further by adding more features to the computer and would like to get the communities opinion on the sort of features which should be included in a future version. Adding more features most likely means moving away from a single AVR chip so the computer would have to be called something else. I was thinking about changing the language which is run on the computer to Bitlash (rather than TinyBASIC) as Bitlash allows custom commands to be added fairly easily and hence makes it easy to add additional hardware. The following list shows the possible features which could be added so if anyone has time to let me know what they think (should they be included or not etc), I would appreciate it:

A) running Bitlash instead of TinyBASIC as it seems much easier to extend Bitlash compared to TinyBASIC

B) expanding SRAM of the computer by adding a 23LC1024 (128KB) SPI SRAM IC - the entire SRAM IC would be available to the user for storing bytes (not for storing programs created with BASIC or Bitlash). May even be possible to add a SIMM memory socket (such as via another 1284P, a 328P or IO expander).

C) expanding program storage using an EEPROM IC / SD card (downside with the SD card is soldering a surface mount socket at home and the addition of the extra hardware including a 3.3V regulator, level shifting and the socket)

D) some form of networking such as Ethernet (using an ENC28J60), RS485 or RS422

E) moving video generation to a separate 1284P to give the main 1284P maximum SRAM for writing programs (offloading the video buffer to a separate AVR). I would like to stick with TVout as the hardware is simple and the library is easy to use (I was looking into Nick Gammons VGA video generation sketch for the Arduino but the resolution is too low - if this could be increased it would be something to consider).

Thanks in advance for any comments.

Discussions

Jeff Dombach wrote 03/23/2023 at 22:51 point

I would like one that uses the serial in and out for the console. Also, can the program be stored in the flash space above the program? 2nd 485 serial port to interconnect multiple PCBs. 

  Are you sure? yes | no

Dan wrote 07/15/2014 at 20:36 point
For 640×480 Color VGA try http://hackaday.com/2014/06/10/640x480-vga-on-an-arduino/

For the other add ons I suggest that you look at a modular system with a bus and group the features to pair with an AVR. Multiple AVR boards that can function on their own but join together to become a more powerful system would be neat and not just a copy of what other products do.

Others have ganged AVRs togeher, http://hackaday.com/2013/06/24/16-core-computer-made-of-atmegas/

  Are you sure? yes | no

skyem123 wrote 07/14/2014 at 20:35 point
I think that you should move the video generation to the cheapest chip that can support it. Or, if you can, make the second chip do as mutch as possible to leave more room for the BASIC program on the main chip (I think that is similar to how the EPSON HX-20 works).

Just my suggestions!
(I'm hoping to be able to set one of these computers up on a breadboard soon.)

  Are you sure? yes | no