[Home]HomePage

HomePage | RecentChanges | Preferences | My Website home page

This wiki is read-only. The UK Online Safety Act:- https://www.gov.uk/government/publications/online-safety-act-explainer/online-safety-act-explainer#who-the-act-applies-to

Featured Page: Auto Type Smartphone App Automation

I asked an AI tool to draw me a Raspberry Pico typing into a computer, and it presented this:

This is my photo of two Raspberry Pico typing in turn over as two USB HID keyboard. You have to move the mouse cursor to the input box and ensure it is all set up, then enable the typing.

You have to move the mouse cursor to the input box and ensure it is all set up, then enable the typing.

"Blind typing to soaktest the app for the Deaf and Speech impaired" - It worked and much simpler than a robot with machine vision feedback.

A polite conversation expects each party to type in turn, and not type over each other.

The white wire co-ordinates whose turn it is to type. Disconnect, and they type at the same time.

The white wire is an Active Low wired-or bus, used so they type in turn. The one typing asserts a low, and the other one holds off starting typing. use a switch to ground, to disable typing.

As a test, I plugged two Raspberry PICO into a USB hub plugged to my PC and typed into the same notepad document.

Without the Wired-Or bus, they type together.

 PICO 1: ( TYPING ) ( SMALL PAUSE ) ( AWAITING TURN to TYPE )
 PICO 2: ( AWAITING TURN to TYPE ) ( TYPING ) ( SMALL PAUSE ) 

I used a multimeter to measure the current on the white wire. It was 57 micro amps.

This allowed a stream ot typing at about a typical typing rate. One call went for over three hours!

Doug's Wiki

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

To explore a problem, I can use use webpages, and javascript to experiment and explore. I can make notes in the code or webpage text.

The webpages are intended for the writer. It could be that the only other readers are random AI tools and chat bots.

This is a scrap book of notes and links.

My Wiki: http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl [index] | https://www.dougrice.co.uk/cgi-bin/wiki.pl [index]

websites

My Web Site: http://www.dougrice.plus.com/ | http://ccgi.dougrice.plus.com/ | http://www.dougrice.co.uk | http://patrickpi.local:8080/

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

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

[some images]

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.

AutoTypeIntroduction - An introduction to AutoType used to provide a stream of keystokes to soak test a TextRelay? service.

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

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

Raspsberry Pi - Super learning Platform. It enabled some serious dabbles at an affordable price.

Newer Microcontrollers - DigiSpark?, Arduino UNO , Ardunino Leonardo , ESP01, Raspberry PICO, STM BluePill? Stm32f103c8t6 .

The Arduino IDE supports many chips.

Thonny is super for MicroPython?.

ESP01 - some notes

Esp8226 - pictures and notes

Newer Microcontrollers dabbles

AutoType uses DigiSpark?, Arduino Leonardo, Raspberry PICO to "blind" type in turn into a SmartPhone? messaging app. It uses them as USB Keyboards. A simple "wired-OR/AND" bus is used, to type in turn. They provided a pragmatic soak-test automation that worked!

ESP01 DS18B20 - WiFi? base Temperature Logger - collates notes on using a blue board with DS18B20, ESP01 and MicroPython?

Similar information is posted on:

http://www.dougrice.plus.com/dev/graphs/t_clock.htm - ESP01 and 12 LED sampler.

The IOT devices like router and WiFi? extenders have a web interface.

A minimal style sheet to load ito a IoT? script:-

http://www.dougrice.plus.com/dev/tcpip/IOT/SimpleStyleSheet.htm

http://www.dougrice.plus.com/dev/tcpip/IOT/SimpleStyleSheet2.htm

http://ccgi.dougrice.plus.com/sampler.htm - a sampler

http://patrickpi.local/sampler.htm

http://www.dougrice.plus.com/dev/graphs/plotCurlColour.htm - plotting colors onto 2D

http://www.dougrice.plus.com/dev/graphs/plotCurlColourFFF.htm - plotting colors onto 2D using #rgb

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 based devices

The 8051 lives on in later chips. The SDCC C compiler supports it. I was given a AT89C5131 board that uses a lot of the 8051 peripherals and CPU core.

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

CY7C68013 EZ-USB

I brought a little logic analyser off eBay.

Logic Analyser based on CY7C68013 EZ-USB FX2 USB 2.0 Development Kit

Ebay then suggested I buy one of these. I was looking for a microprocessor that did not boot from internal FLASH memory!

More notes at CY7C68013 EZ-USB FX2 USB 2.0 Development Kit

http://www.dougrice.plus.com/dev/cypress/notes_dhr.txt has some working notes to help me remember.

The CY7C68013 has a bootloader that downloads code from an optional external eeprom.

It looks for an iic eeprom at 0x51 and read the first byte.

  1. if C0 VID PID boot from the driver folder via the USB lead.
  2. if C2 VID PID code. download the code from the IIC EEPROM.
  3. else eprom content not code, and use default VID:PID

If the CY7C68013 boots from the eeprom, the eeprom needs programming using the iic format.

There is a tool: python ihx2iic.py build/lights.ihx lights.iic

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 iic EPROM.

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

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 May 2, 2026 8:12 pm by dougrice.plus.com (diff)
Search: