Jonathan at the Wakefield Show
    Jonathan Harston 
  jgh@mdfs.net

Coding and Commenting Examples

I have a natural talent and aptitude for writing I/O and device drivers.
  • 2024 PDP11 ProgTips number display routines.
  • 1994, 2024 M7PLOT MODE 7 teletext PLOT code.
  • 2024 SoftMDFS Updated file server with 32-bit extensions
  • 2024 65MiniKernel Added 6551 driver
  • 2024 6551 ACIA driver code documenting hardware oddities
  • 2024 RegTools MkReg tweeked for new register format
  • 2024 BBC BASIC Working on spawning RT11 commands
  • 1987,2023 SpecIO Tidied up ZX Spectrum I/O libraries
  • 2023 RISCV Refining RISC-V kernel API
  • 2000,2023 CPMZip Updated Zip/UnZip for CP/M
  • 1989-2023 BBC BASIC PDP11 BBC BASIC
  • 2018-2023 AnsiKBD.mac PDP11 ANSI keycode parser
  • 2018-2023 AnsiParse ANSI keycode parsing
  • 2021-2022 Apple II Apple II keyboard and VDU character I/O
  • 1985-2022 BLib BBC BASIC programming libraries
  • 2021 PDP11 tty Bugfixed and updated emulated TTY
  • 2015-2020 WebBasic BBC BASIC detokeniser and highlighter
  • 2016-2019 EhBasic Updated 6502 EhBasic OS interfaces
  • 2005-2019 AsmPDP PDP11 assembler
  • 2000-2019 SoftMDFS Software MDFS file server
  • 1997-2019 console.c console and ANSI I/O library
  • 1994-2019 Filers Filers for AFS0, CPM, SJ, Unix disks
  • 2016-2019 Plus1/AP6 Updated Electron Plus 1 control ROM
  • 2012,2017,2019 DiskUSB BBC USB disk tools
  • 2008,2017,2019 Tube09.src 6809 Tube client
  • 1993-2003,2018,2019 cZ80Tube Z80 Emulator in 'C'
  • 2004-2018 PDPTube PDP11 Tube emulator
  • 2018 Brandy Brandy Basic updated keyboard drivers
  • 1990-2018 System/C 'C' programming libraries
  • 2017-2018 BBC/USB BBC USB Keyboard driver
  • 2000-2018 BBCZip Zip/UnZip for BBC/Master computers
  • 2005,2018 Serial65.src 6502 Serial Tube client
  • 2018 6502 PS2 keyboard driver
  • 2017 LDPIC Updated LDPIC to use 12-bit palette
  • 1989,2005-2017 Tube11.src PDP11 Tube client
  • 2008,2017 Serial09.src 6809 Serial Tube client
  • 2008,2017 Serial12.asm 6812 Serial Tube client
  • 2016,2017 BeebEm Added VDFS emulator traps to BeebEm
  • 2016 FastROMFS Fast ROMFS builder
  • 2004,2016 VirtualDFS Updated VDFS
  • 2011-2016 yard.php Whitby Maps PHP browser (src)
  • 2006,2015 Tube65.src Updated 6502/65C102 Tube client
  • BBC/Master/Electron Tube host
  • 1985,2004,2012,2015 Harston/Patch.src JGH Spectrum ROM
  • 2014 6809Tube 6809 Tube emulator
  • 2014 Brandy Brandy Basic OS interface
  • 2013-2014 BBCBasic/C64 Commodore 64 BBC BASIC
  • 2011,2013 CRC16.htm Sample CRC-16 calculation code
  • 2011,2013 CRC32.htm Sample CRC-32 calculation code
  • 2012 OswFFv3.src (L) Updated OSWORD &FF Tube transfer code
  • 2012 map.php PHP map browser (src)
  • 2011 403.php 403 error PHP directory index page (src)
  • 2011 index.php Simple PHP directory listing (src)
  • 1989-2012 HADFS Source HADFS filing system
  • 2010 BeebEm Updated IDE interface in BeebEm
  • 2010 Tube/Serial Serial Tube client and filing system
  • 2010 HDBIOS Hard Drive BIOS for Acorn CP/M
  • 1989,2010 MIDI BBC MIDI driver
  • 1989-2009 Z80CONV (L) Z80 BBC BASIC for BBC I/O
  • 1992-2008 Z80Tube Z80 Tube emulator
  • 2008 InfoZip recommended -pp option for ZIP
  • 2008 CUBE/EURO414.src Updated CUBE EuroBeeb host
  • 2007 OswFFv2.src (L) Updated OSWORD &FF Tube transfer code
  • 1984-2003,2007 DefRoom Jet Set Willy room editor
  • 2006 65Tube/Code064.src (L) 65C12 65Tube client
  • 2006 SmallSYS/BIOS.ASM Small ROMable CP/M BIOS
  • 2004 Spectrum/Printer.s (L) Emulated Spectrum printer
  • 1984,2004 ExtCat.src Spectrum extended catalogue
  • 1985-2004 DefChar BBC font editor
  • 1985,2003 TALK *TALK network messenger
  • 2002 Spectrum/ROMBox.s (L) Emulated Spectrum ROMBox
  • 2002 BBCBasic/Host40.src Spectrum BBC BASIC
  • 1983,1998 Teletext ABZ Teletext suite
  • 1995 SerNet.s Econet serial Networking driver
  • 1995 SerZ80.src (L) Z80 Serial Tube client
  • 1989,1993 Mouse BBC mouse driver
  • 1992 SoundSup RISC OS SOUND/OSWORD 7 support
  • 1992 Flash Chat Chinese update to Flash Chat
  • 1992 ZNOS/SJCCP.SRC Replacement CP/M CCP
  • 1992 banner.c
  • 1992 Stock Market Terminal timeout patch
  • 1992 Updated RISC OS MailMan
  • 1992 Updated RiscIX mailman backend
  • 1992 SoftRTC soft real-time clock
  • 1990,1992 fdump.c, fdump.c
  • 1991 LCD LCD display driver
  • 1985-1990 CharROM BBC font ROM and utilities
  • 1990 disp.c
  • 1990 TubeZ80.src Z80 Tube client
  • 1989 BBC user port keyboard driver
  • 1988 JGH/FREE.SRC (L) CP/M FREE command
  • 1988 FontStyle font effects
  • 1988 editor.htm Spectrum full screen line editor
  • 1986-1988 TTXT.s Spectrum teletext display
  • 1987 Stock dBase stock control project
  • 1987 device.htm Spectrum device filenames
  • 1985,1987 MUGINS Multi-user networking adventure
  • 1986,1987 SAVE.s Spectrum blocked SAVE command
  • 1986 LOAD.s Spectrum blocked LOAD command
  • 1986 lineedit Spectrum simple line editor
  • 1986 Family.tap Spectrum family tree database
  • 1986 ThickChr.s Spectrum thick characters command
  • 1986 CharMake.s Spectrum thick characters (docs)
  • 1986 RamDisk.s Spectrum RAMDISK (docs)
  • 1986 Buffer.s Spectrum buffered load and save
  • 1986 Blocks.s Spectrum blocked load and save
  • 1986 CAT.s Spectrum extended catalogue
  • 1985 ExtndKbd.src ASCII keyboard driver
  • 1985 genskeys.s ASCII keyboard driver
  • 1985 AscKbd.s ASCII keyboard driver
  • 1985-1986 PrintOut Windowed, multisized Spectrum Screen Printout
  • 1985-1986 DefChar Spectrum font editor
  • 1985 BeebMail BBC Econet email program.
  • 1985 Sampler Low-speed continuous trace printer
  • 1985 Printout Fast Spectrum Screen Print code
  • 1985 Printer.s Spectrum printer driver
  • 1985 Spectrum/Info.src Microdrive file info
  • 1985 TapeBlk.s Blocked Spectrum tape formatter
  • 1984 JSWPRINT.s Display JSW screen
  • Display GCQ map
  • Disassembly Examples

  • 2024 OswFE.src (L) OSWORD &FE MFM disk code
  • 2019 Acn6809.src System 6809 monitor
  • 2019 6502 24-bit 6502 TurboTube client
  • 2019 6502 Electron E2P client
  • 2019 COS System COS
  • 2018 DOS System 5 DOS
  • 2016-2018 MOS Acorn Atom ROMs
  • 1989-2018 MOS BBC and Master MOS
  • 2007 BBC/Host230.lst BBC Tube host
  • 2005 M128/Host.lst Master128 Tube host
  • 2007 Z80/OswFF.src (L) OSWORD &FF Tube transfer code
  • 1998 BBC/Host100.lst BBC Tube host
  • 1985 JSW48.asm Jet Set Willy
  • Circuit Diagrams

  • 1986,2010 1MbMem.gif Z80 1M Memory Management Unit
  • 2008 emr.gif EMR BBC MIDI interface
  • 2007 notes1.gif Notes for a 6809 CoProcessor
  • 2005 28to32.gif 28-pin to 32-pin ROM adaptor
  • 2005 chameleon.gif Corrected BBC Chameleon interface
  • 2004 wdv4.gif BBC IDE wiring diagram
  • 2004 pcbv4.gif BBC IDE interface PCB
  • 2004 cdv4.gif BBC IDE interface
  • 1989,2004 jgh.gif JGH BBC MIDI interface
  • 1986,2003 ROMs.gif Z80 ROMs
  • 1986,2003 ROM4.gif 4-bank External Spectrum ROM
  • 1986,2003 ROM1.gif 1-bank External Spectrum ROM
  • 1992 Joy2IC.gif Spectrum joystick interface
  • 1992 Joy1IC.gif Spectrum joystick interface
  • 1991 cdv1b.gif BBC Border Colour Module
  • 1989 UserPort BBC user port keyboard
  • 1987 IF1.gif Spectrum Interface 1
  • 1986 ExtrnKbd.gif External Spectrum keyboard
  • 1985 kbdmtx.gif Spectrum matrix keyboard
  • 1985 Shift.htm Additional Spectrum shifted keys
  • 1985 KbdJoy.gif Spectrum ASCII keyboard/joystick interface
  • 1985 Printer.gif Spectrum Centronics printer interface
  • 1985,1987 Backplane Spectrum backplane
  • 1985,1987 Ctrl2.gif Spectrum backplane
  • Documentation Examples

  • 2024 Documented NetFS file server 32-bit extensions.
  • 2002-2022 Census Transcribed Whitby Census data
  • 1985-2022 BLib/Docs BBC BASIC libraries
  • 2018-2020 ANSIParse Parsing ANSI keycode sequences
  • 2018-2020 ANSI ANSI console keycode sequences
  • 2018-2020 ANSI ANSI console output sequences
  • 2014 6809CoPro 6809 CoProcessor Technical Reference
  • 2000-2010 BeebWiki BBC Computer Wiki
  • 2008 PDP11CoPro PDP11 CoProcessor Technical Reference
  • 1990-2005 C/Lib C libraries
  • 1992 HADFSMan HADFS Reference Manual
  • Comp Various computer documentation
  • BBC FAQ BBC Computer documentation
  • Maps and Mapping

  • 2017 Scarborough Ward Review
  • 2017 A64east Option to dual A64 between Barton and Malton
  • 2016 A64dual Option to dual A64 between York and Barton
  • 2016 Sherburn Proposed A64 Sherburn bypass
  • 2016 Pickering A proposed A170 Pickering bypass
  • 2016 Yorkshire Parliamentary Review
  • 2014 Sheffield Ward Boundary Review Submission
  • 2012 Rillington Proposed A64 Rillington bypass
  • 2011 Sheffield Parliamentary Boundary Review Submission
  • 2011 SouthRdShops2011.gif South Road Shops 2011
  • 1995-2010 CityMaps Sheffield Election Maps
  • 1989-2009 YofWhitby Yards of Whitby
  • 2008 Rockall Rockall
  • 2008 SouthRdShops2008.gif South Road Shops 2008
  • 2008 HighStones.gif High Stones Round Walk
  • 2006 Bridge2.gif Claywheels Lane Bridge Layout
  • 2006 Bridge.gif Claywheels Lane Bridge
  • 2006 Bypass.gif Claywheels Lane Bypass
  • 2005 Hills Seven Hills of Sheffield
  • 2005 Borders Sheffield Borders
  • 2005 Cuthbert50k.gif Cuthbert Bank
  • 2005 Cuthbert.gif Cuthbert Bank
  • 2005 Enquiry on the Sheffield Parliamentary Boundary Review
  • 2005 stony.htm Stony Walk
  • 2005 SouthRdCentre.gif South Road
  • 2005 SecondarySm.gif Sheffield Secondary Schools
  • 2004 ParlReview Sheffield Parliamentary Review
  • 2004 Sheffield Parliamentary Boundary Review Submission
  • 2004 ParlReview Sheffield Parliamentary Review
  • 2003 Comments on the Sheffield Ward Boundary Review
  • 2002 Sheffield Ward Boundary Review Submission
  • 2002 WardReview Sheffield Ward Review
  • 2002 WardReview Sheffield Ward Review
  • 2000 SouthRd110.gif South Road version 1.10
  • 1996 SouthRd100.gif South Road version 1.00
  • 1985 Inner/50k.gif Inner Ring Road North Section
  • 1985 Inner/10k.gif Inner Ring Road North Section
  • 1985 North3.gif Inner Ring Road North Section
  • 1985 North2.gif Inner Ring Road North Section
  • 1985 North1.gif Inner Ring Road North Section
  • 1985 North.gif Inner Ring Road North Section
  • OSGrid OSGB Grid Maps
  • ChanIsles Channel Islands
  • DonValley Don Valley Railway
  • maps Sheffield Ward Maps
  • Plans

  • 2023 15NorrisRd.gif 15 Norris Road
  • 2010 2a-1f.gif 2A Grape Lane
  • 2010 TheElmsGF.gif The Elms
  • 2010 TheElms1F.gif The Elms
  • 2009 CammSt/70a.gif 70A Camm Street
  • 2009 CammSt/70.gif 70 Camm Street
  • 2009 183gard.gif 183 Freedom Road
  • 2008 356b.gif 356B South Road
  • 2008 356a.gif 356A South Road
  • 2008 358shop.gif 358 South Road
  • 2007 358s07.gif 358 South Road
  • 2004 187base.gif 187 Freedom Road
  • 2000 356c00.gif 356C South Road
  • 1999 356c99.gif 356C South Road
  • 1999 356a99.gif 356A South Road
  • 1986,1988 162-2f.gif 162 Church Street
  • 1986,1988 162-1f.gif 162 Church Street
  • 1986,1988 162-gf.gif 162 Church Street
  • Other Publications

  • 2013 Registration.doc Electoral registration study
  • 2008 Appeal163.doc Planning Appeal, 163 Church Street, Whitby
  • 2007 1er mai 1707: Qui s'en souvient?, Genista Informations
  • 1992 Automata Life in the Fast Lane, Acorn User
  • 1991 GetPages Climb aboard the Carousel, Micro User
  • 1990 VLIST Suss out the Symbols, Micro User
  • 1990 PRLIST Program Lister, Micro User
  • 1989 MDUMP Inside Story, Micro User
  • 1988 The Treaty of Union of the Kingdoms of Scotland and England
  • Citations

  • 2018 Copy Protection in Jet Set Willy: developing a methodology for retrogame archaeology, Aycock & Reinhard
  • 1993 A History of Whitby, Andrew White