[Home]HomePage

HomePage | RecentChanges | Preferences | My Website home page

Revision 30 not available (showing current revision instead)

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:

 http://www.dougrice.plus.com/ 
 http://ccgi.dougrice.plus.com/ 
 http://www.dougrice.co.uk

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

Info

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

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

tools

OnlineTools

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.

MK14

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

MK14 notes

MK14 KarenOrton pictures

http://81.174.146.201/acorn/Acorn%20System%20Computers/MK14/mk14.html - site with good documentation.

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

http://www.dougrice.plus.com/mk14/seg_mk14.htm

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.

NASCOM2

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-nascom2-dhr

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

6502 BASIC on Arduino and ported to C

Run 6502 code in a C program.

http://www.dougrice.plus.com/dev/6502/cpu6502.c

https://github.com/doug-h-rice/virtual-multicomp has virtual6502 with tools.

 * cpu6502arduino.c - loads the Enhanced Basic
 * cpu6502rom.c - loads ROM.HEX from Grant's site, and can be patched to load code compiled with the SDCC small devices c compiler.

Emulator for 6502 CPU running BASIC

Ported by Doug Rice 18/02/2024

Ported from emulator found on Arduino Forum. Modified to run in command box

https://forum.arduino.cc/t/arduino-6502-emulator-basic-interpreter/188328

It does not seem to be using Grant Searle's port of BASIC

Using Basic found at:- http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/

https://github.com/Klaus2m5/6502_EhBASIC_V2.22

Modified to run in command box and compiled by Tiny C on Windows 10.

 rem
 ..\tcc.exe    cpu6502.c
 pause

usage:

 cpu6502.exe
 exit

Multicomp minimal component microprocessors

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

http://searle.wales/

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

My Minimal component Z80 emulator system based on Grant's multicomp, now has 6809 and 6502 versions.

https://github.com/doug-h-rice/virtual-multicomp

Multicomp reworks and Tribute sites

Grant's website havs spawned many projects

https://github.com/douggilliland

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

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


 ==========================
 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
        RET

 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 
 ==========================

C code

int putchar( int c ){
  while( !(uartStatus & 0x02) );
  uartData = ( char ) c;
  return c;
}

int getchar( void ){
  // wait 
  while( !( uartStatus & 0x01 ) );
  return ( int )uartData;
}

Some micro controllers have serial ports, and the SBC uses the 68B50 UART/ASCI chip at various addresses.

So putchar() and getchar() need to be written for the device being used.

https://github.com/doug-h-rice/virtual-multicomp/blob/master/bare.c has some examples.

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

https://smallcomputercentral.wordpress.com/small-computer-monitor/small-computer-monitor-v1-0/

Version 1.0.0 configuration R1 for Z80 based RC2014 systems

Z80

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.

http://www.projekte.daleske.de/prog/11_EMUZ80_RPI/prog_EMUZ80_RPI_en.htm

8051

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/notes_dhr.txt

http://www.dougrice.plus.com/dev/cypress

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

AT89C5131

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

It has been a challenge to get it to work.

http://www.dougrice.plus.com/dev/AT89C5131/

 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
 rem compile doug_at.c and uses dfu-programmer to program the chip.
 rem https://sourceforge.net/projects/dfu-programmer/
 rem

 sdcc -mmcs51 --std-c99  doug_at.c
 pause

use lsusb to see if in bootmode.

 lsusb

 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
 pause

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

http://www.cosmacelf.com/

https://awsh.org/cosmac-elf/

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.

Info

User

Maintenance

Admin-only

Page

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

Search

Don't forget the batteries


HomePage | RecentChanges | Preferences | My Website home page
This page is read-only | View other revisions
Last edited March 3, 2024 8:34 am by dougrice.plus.com
Search: