HomePage | RecentChanges | Preferences | My Website home page

Doug's Wiki

Welcome to my wiki. Here were a few thoughts and scribbles. This page contains random thoughts not fully thought out.

My Web Site:


My github: https://github.com/doug-h-rice


This page is powered by http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki/Download

Help can be found at http://www.usemod.com/cgi-bin/wiki.pl?TextFormattingRules



thoughts and scribbles

Here were a few other thoughts and scribbles. This page contains some random thoughts not fully thought out.

thoughts and scribbles

Webpages and JavaScript simulations - using Webpages for simulations.

ADSL Home Hub NAT Sessions - Using an R Pi as a WAP.

AutoType Using an Arduino Leonardo and DigiSpark as a keyboard and type.

AT Commands - Serial Using Web Browser - Cloud based IDE still need to upload firmware to devices. Web Browser support serial devices.

Signalling - After a visit or two to the local heritage railways.

Wet String Theory - essential thoughts and Array of JavaScript Objects

WetString - brainstorm ideas about Peer to Peer

Newer Microcontrollers, Arduino and Raspberry Pi dabbles

Newer Microcontrollers - Arduino IDE supports many chips

Pic Microcontrollers - I used MPLAB since the PIC16F84 was popular in 1998.

Raspsberry Pi - Super learning Platform

Old Computer projects and dabbles

Some of this work is like doing a Jigsaw, putting the bits together and ending up with a picture or successful build, is the motivation.


I used to have a Science of Cambridge MK14 and a NASCOM 2. Here are some notes.

MK14 notes

MK14 KarenOrton pictures - site with good documentation.

My attempt to get a javaScript version running in a web browser, with lots of cheats:-


https://github.com/doug-h-rice My git hub has MK14 emulators that used SDL for the screen and keyboard. There is also a java version. Also a PC version that builds using Tiny C.


My second computer was the NASCOM 2. When I brought it the 8K RAM chips could not be sourced, so it came with a dymanic RAM board. I piggy backed a set of RAM chips on top to double the RAM. I had at least 32K RAM.

I also used a second hand 8 inch floppy brought from Display Electronics and WD1771 floppy disk controller chip. It could only read 80% of the tracks, but once you had command to read write multiple sectors, it was better than a tape. The DOS was a bit of Paper. Later on it was on the disk. I added a 6116 2K memory chip and NiCad Battery to save the code.

I bought a Golfball printer. It could be controlled using the PIO chip. It was controlled using a 2 x 7 solenoids and a busy output. These needed 50 volts. I needed a big thick bit of sorbo rubber to stop the vibrations being heard all around the hall of residence! It took 4 minutes to type a page of A4.

Nascom 2 Notes - more notes about Nascom2 and using SDCC

nascom 2 emulations using JavaScript

https://peterjensen.github.io/virtual-nascom/virtual-nascom.html - a good JavaScript version but cannot load code I compiled with SDCC.

http://www.dougrice.plus.com/nascom2/JavaScriptNascom2/jsnascom.html - Tommy Thorn wrote a JavaScript version that can load intel hex files from SDCC.

nascom 2 emulation on Raspberry Pi with SDL


https://github.com/doug-h-rice/virtual-multicomp - Grant Searle's six chip z80 board virtualized.

Multicomp minimal component microprocessors

Grant Searle has published some designs for minimal component microprocessor boards that run Microsoft BASIC.


Minimal component Z80,6502,6809 boards are popular. He has an FPGA version.

My Minimal component Z80 emulator system based on Grant's multicomp. https://github.com/doug-h-rice/virtual-multicomp

Multicomp reworks and Tribute sites

Grant's website havs spawned many projects


This one is useful. Doug has ported Grants code to many FPGA boards.

It seems to be under a tidy up ( April 2020 )

6809 - Grant Searle's Multicomp FPGA

I remember somebody at the Coventry computer club being enthusiastic about the 6809 in 1979. Here are some notes about getting some assembler code into an FPGA

My Notes on 6809

The emulated CPU communicates with the host using the UART.

This is summarised as a TX and RX register and two flags TxEmpty and RxFull.

Emulated CPU - UART:-

  A write to TX resets TxEmpty.
  A read from RX resets RxFull.

UART - Host:-

  A read from TX sets TxEmpty.
  A write to RX sets RxFull.

If you have a FIFO then there need to be changes.

 TxEmpty may need to be TxSpaceAvailable 
 RxFull becomes RxAvailable

I have a JavaScript page that explores this: http://www.dougrice.plus.com/dev/DigiSpark/text0.html

 example Z80 code

 GUART:  IN      A,(UARTS)       ; Get UART status
        RLA                     ; Any data ready?
        JP      NC,GUART        ; No - wait until there is
        IN      A,(UARTD)       ; Get data from UART

 UARTOT: OUT     (UARTD),A       ; Send data to UART
 URTOLP: IN      A,(UARTS)       ; Get status
        ADD     A,A             ; Byte sent?
        RET     M               ; Yes - Return
        JP      URTOLP          ; Keep waiting
 Port 2	UARTS - 6402
  7	Data received
  6	Transmit buffer empty
  5	NC
  4	NC
  3	Frame error
  2	Parity error
  1	Overrun error
  0 	NC 

https://github.com/doug-h-rice/virtual-multicomp/blob/master/8kbasic.asm - modified BASIC

RC2014 Z80 SBC

Spencer Owen's Z80 system similar to multicomp. https://rc2014.co.uk/

Small Computer Monitor by Stephen C Cousins ( www.scc.me.uk ) Version 1.0.0 configuration R1 for Z80 based RC2014 systems


Version 1.0.0 configuration R1 for Z80 based RC2014 systems


In passing I found these. Raspberry Pi Bare Metal

https://ultibo.org/ https://ultibo.org/make/

Running CP/M on a Raspberry Pi Bare Metal.

This is good for old models of the PI that are slow with the later RPi builds.



8051 CY7C68013 EZ-USB FX2 USB 2.0 Development Kit Ebay suggested I buy one of these. I was looking for a microprocessor that did not boot from internal FLASH memory!



http://www.dougrice.plus.com/dev/cypress/i2c.c tries to write to the IIC 24LC128. The link may need moving to enable writing to the ROM.

This chip is uses in the logic analysers available from eBay

They can be used with pulseview: https://sigrok.org/wiki/PulseView and https://sigrok.org/wiki/Main_Page


I was given one of these: https://www.futurlec.com/USBDevBoard.shtml

It has been a challenge to get it to work.


 Getting FLIP to work is troublesome. 
 To put chip into boot mode, use this sequence.
 press reset, PSEN and release reset when PSEN pressed, then turn on USB switch.

 rem compile doug_at.c and uses dfu-programmer to program the chip.
 rem https://sourceforge.net/projects/dfu-programmer/

 sdcc -mmcs51 --std-c99  doug_at.c

use lsusb to see if in bootmode.


 You may need to use sudo otherwise you get device not present

 sudo dfu-programmer at89c5131 get
 sudo dfu-programmer at89c5131 erase
 sudo dfu-programmer at89c5131 flash doug_at.ihx
 sudo dfu-programmer at89c5131 launch

dhr.asm - first ATTTiny2313 program

Some Maplin kits used an Atmel Tiny 2313.

It is possible to add it to the Arduino IDE.

http://www.dougrice.plus.com/dev/dhr_avr/ has some pre Arduino tries.

Elector had an Avrdude example using a serial port and resistors.

Cosmac Elf

The COSMAC emulation was fun as well.

See this http://www.donnelly-house.net/programming/cdp1802/simelf/ for a really good emulator.

In the summer of 1977 I studied the COSMAC and have the handbook purchased from Henry's radio.

Until now I have never been able to run any code.

It does not have a subroutine call stack.

The COSMAC ELF website is worth a visit see - http://www.elf-emulation.com

http://www.elf-emulation.com/rcasm.html - see: https://github.com/doug-h-rice/RcAsm

Paul Robson has some 1802 emulators on his github: https://github.com/paulscottrobson?tab=repositories

https://groups.io/g/cosmacelf -

http://www.mccrash-racing.co.uk/philg/ - Phil_G's website



https://github.com/doug-h-rice/RcAsm - Found on http://www.elf-emulation.com/ and it is easy to code new def files.

System Actions

The UseModWiki Actions, presented so that it's easy to copy to your own site. Each of these is implemented using "Local:" InterWiki interwiki links. (InterWiki links that start with "Local:" always point to the current wiki. See InterWikiDocumentation for more information on InterWiki links.






(The following links use this page for example, but id can equal any page. )


Don't forget the batteries

HomePage | RecentChanges | Preferences | My Website home page
This page is read-only | View other revisions
Last edited January 4, 2023 7:45 am by dougrice.plus.com