FUZIX.git
9 years agocurses: we don't actually have a curses yet but use termios not sgtty
Alan Cox [Fri, 2 Jan 2015 10:49:00 +0000 (10:49 +0000)]
curses: we don't actually have a curses yet but use termios not sgtty

9 years agolibs/Makefile: build the syscalls
Alan Cox [Fri, 2 Jan 2015 10:48:45 +0000 (10:48 +0000)]
libs/Makefile: build the syscalls

9 years agofuzix.h: remove old stale file
Alan Cox [Fri, 2 Jan 2015 10:37:14 +0000 (10:37 +0000)]
fuzix.h: remove old stale file

9 years agops.c: Update code to build with FUZIX userland
Alan Cox [Fri, 2 Jan 2015 10:35:30 +0000 (10:35 +0000)]
ps.c: Update code to build with FUZIX userland
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

(Removed fuzix.h: Alan Cox)

FIXME:
The proc size depends upon a kernel only define
Should resize the proctab properly not hard code a max size
(or print as it reads)

9 years agotypes: Add clock_t into sys/types.h, and include the types.h in proc.h
Alan Cox [Fri, 2 Jan 2015 10:35:05 +0000 (10:35 +0000)]
types: Add clock_t into sys/types.h, and include the types.h in proc.h

9 years agoincludes: Add proc.h with process related definitions
Alan Cox [Fri, 2 Jan 2015 10:30:38 +0000 (10:30 +0000)]
includes: Add proc.h with process related definitions
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agosys/stat.h: fix S_ISBLK macro
Alan Cox [Fri, 2 Jan 2015 10:24:01 +0000 (10:24 +0000)]
sys/stat.h: fix S_ISBLK macro

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agotime.h: clock should return clock_t
Alan Cox [Fri, 2 Jan 2015 10:22:57 +0000 (10:22 +0000)]
time.h: clock should return clock_t
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agoinit: sighandler argument is signed int.
Alan Cox [Fri, 2 Jan 2015 10:22:19 +0000 (10:22 +0000)]
init: sighandler argument is signed int.
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agodf.c: Add explicit cast to char * for fsys
Alan Cox [Fri, 2 Jan 2015 10:21:36 +0000 (10:21 +0000)]
df.c: Add explicit cast to char * for fsys
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agostring.h: fix bzero declaration.
Alan Cox [Fri, 2 Jan 2015 10:20:26 +0000 (10:20 +0000)]
string.h: fix bzero declaration.
From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agosyscalls: _getfsys takes a uint16_t not an int.
Alan Cox [Fri, 2 Jan 2015 10:17:08 +0000 (10:17 +0000)]
syscalls: _getfsys takes a uint16_t not an int.

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agoutils: don't try and build termcap using code yet (we have no libtermcap)
Alan Cox [Fri, 2 Jan 2015 10:16:03 +0000 (10:16 +0000)]
utils: don't try and build termcap using code yet (we have no libtermcap)

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agosgtty: stale UZI file - remove
Alan Cox [Fri, 2 Jan 2015 10:15:14 +0000 (10:15 +0000)]
sgtty: stale UZI file - remove

FUZIX has termios

9 years agosys/wait.h: remove stray ^Z
Alan Cox [Fri, 2 Jan 2015 10:12:06 +0000 (10:12 +0000)]
sys/wait.h: remove stray ^Z

9 years agotimes: correct returned type to be clock_t
Alan Cox [Fri, 2 Jan 2015 10:09:18 +0000 (10:09 +0000)]
times: correct returned type to be clock_t

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agosignal: correct handler prototype, removed bogus SIG_HOLD
Alan Cox [Fri, 2 Jan 2015 10:06:18 +0000 (10:06 +0000)]
signal: correct handler prototype, removed bogus SIG_HOLD

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agolibclean: Search for SDCC in the same places as kernel/Makefile
Alan Cox [Fri, 2 Jan 2015 10:03:27 +0000 (10:03 +0000)]
libclean: Search for SDCC in the same places as kernel/Makefile

From: Sergio L. Pascual <https://github.com/slp/FUZIX>

9 years agoz80pack: createdrives should use mktemp
Alan Cox [Fri, 2 Jan 2015 09:41:28 +0000 (09:41 +0000)]
z80pack: createdrives should use mktemp

9 years agoMerge pull request #40 from slp/noninteractive_ucp
EtchedPixels [Fri, 2 Jan 2015 09:21:11 +0000 (09:21 +0000)]
Merge pull request #40 from slp/noninteractive_ucp

Noninteractive UCP

9 years agocreatedrives: delete drives if already exist.
Sergio L. Pascual [Fri, 2 Jan 2015 01:28:52 +0000 (02:28 +0100)]
createdrives: delete drives if already exist.

9 years agocreatedrives: add a script to automatically generate z80pack drives.
Sergio L. Pascual [Fri, 2 Jan 2015 01:02:19 +0000 (02:02 +0100)]
createdrives: add a script to automatically generate z80pack drives.

9 years agoucp.c: implement a non-interactive mode.
Sergio L. Pascual [Fri, 2 Jan 2015 00:55:35 +0000 (01:55 +0100)]
ucp.c: implement a non-interactive mode.

It's now possible to specify up to two commands as the second argument
on the command line (i.e: ./ucp drivea.cpm "cd /bin ; bget ssh").

9 years agoMerge pull request #38 from willsowerbutts/fixstartup
EtchedPixels [Thu, 1 Jan 2015 21:32:56 +0000 (21:32 +0000)]
Merge pull request #38 from willsowerbutts/fixstartup

Kernel: Fix Z180 startup code

9 years agoMerge pull request #37 from willsowerbutts/rtc
EtchedPixels [Thu, 1 Jan 2015 21:32:21 +0000 (21:32 +0000)]
Merge pull request #37 from willsowerbutts/rtc

DS1302/DS1202 RTC driver

9 years agoSDCCBanking: Explanatory note for the bits so far
Alan Cox [Thu, 1 Jan 2015 21:30:09 +0000 (21:30 +0000)]
SDCCBanking: Explanatory note for the bits so far

9 years agozx128: Preparatory work for banked kernel
Alan Cox [Thu, 1 Jan 2015 21:25:15 +0000 (21:25 +0000)]
zx128: Preparatory work for banked kernel

The goal is to use this as the debug base for getting a bankable kernel
image running.

9 years agobanker: allow -r flag to indicate banking
Alan Cox [Thu, 1 Jan 2015 21:24:24 +0000 (21:24 +0000)]
banker: allow -r flag to indicate banking

9 years agotrs80: fix silly bug
Alan Cox [Thu, 1 Jan 2015 21:23:58 +0000 (21:23 +0000)]
trs80: fix silly bug

9 years agobinmunge: allow an _BOOT
Alan Cox [Thu, 1 Jan 2015 21:23:42 +0000 (21:23 +0000)]
binmunge: allow an _BOOT

9 years agodevide: the altstatus/control is optional, make it so
Alan Cox [Thu, 1 Jan 2015 21:20:57 +0000 (21:20 +0000)]
devide: the altstatus/control is optional, make it so

9 years agoMerge branch 'master' of github.com:EtchedPixels/FUZIX into rtc
Will Sowerbutts [Thu, 1 Jan 2015 18:19:23 +0000 (18:19 +0000)]
Merge branch 'master' of github.com:EtchedPixels/FUZIX into rtc

9 years agostart: lose debug
Alan Cox [Thu, 1 Jan 2015 16:47:34 +0000 (16:47 +0000)]
start: lose debug

9 years agoKernel: Fix Z180 startup code for platforms where RAM does not start at physical...
Will Sowerbutts [Thu, 1 Jan 2015 15:56:36 +0000 (15:56 +0000)]
Kernel: Fix Z180 startup code for platforms where RAM does not start at physical address 0

9 years agoMakefile: analyzer has moved into the binprep path
Alan Cox [Thu, 1 Jan 2015 14:56:34 +0000 (14:56 +0000)]
Makefile: analyzer has moved into the binprep path

9 years agosdldz80: only bank the code if the -r option is used
Alan Cox [Thu, 1 Jan 2015 14:55:50 +0000 (14:55 +0000)]
sdldz80: only bank the code if the -r option is used

This allows life to continue as normal for most platforms

9 years agobinprep: hook the binmunge extensions up, move the analyzer into the other path
Alan Cox [Thu, 1 Jan 2015 14:54:55 +0000 (14:54 +0000)]
binprep: hook the binmunge extensions up, move the analyzer into the other path

Needless to say the analyzer gets completely confused when facing a banked
binary

9 years agobinmunge: pass the _STUBS addresses into the program
Alan Cox [Thu, 1 Jan 2015 14:54:11 +0000 (14:54 +0000)]
binmunge: pass the _STUBS addresses into the program

The helper scripts will identify the _STUBS segment in the map file and
the linker will then fill this in.

9 years agoKernel: Optionally call rtc_secs() less frequently
Will Sowerbutts [Thu, 1 Jan 2015 14:37:48 +0000 (14:37 +0000)]
Kernel: Optionally call rtc_secs() less frequently

9 years agoKernel: Bug fix ds1302 driver, leave clk line low after reading.
Will Sowerbutts [Thu, 1 Jan 2015 14:33:16 +0000 (14:33 +0000)]
Kernel: Bug fix ds1302 driver, leave clk line low after reading.

9 years agoKernel: RTC driver for DS1202 on platform-p112
Will Sowerbutts [Thu, 1 Jan 2015 14:01:52 +0000 (14:01 +0000)]
Kernel: RTC driver for DS1202 on platform-p112

9 years agoKernel: RTC driver for DS1302 on platform-n8vem-mark4
Will Sowerbutts [Thu, 1 Jan 2015 14:01:22 +0000 (14:01 +0000)]
Kernel: RTC driver for DS1302 on platform-n8vem-mark4

9 years agoKernel: Add generic DS1202/DS1302 Serial Real Time Clock driver
Will Sowerbutts [Thu, 1 Jan 2015 13:58:49 +0000 (13:58 +0000)]
Kernel: Add generic DS1202/DS1302 Serial Real Time Clock driver

9 years agoKernel: Add mnemonics for Z80182 parallel port registers
Will Sowerbutts [Thu, 1 Jan 2015 13:57:10 +0000 (13:57 +0000)]
Kernel: Add mnemonics for Z80182 parallel port registers

9 years agoMakefile: use our new linker and tool setup
Alan Cox [Thu, 1 Jan 2015 14:36:16 +0000 (14:36 +0000)]
Makefile: use our new linker and tool setup

9 years agobinprep: build the right binary
Alan Cox [Thu, 1 Jan 2015 14:33:54 +0000 (14:33 +0000)]
binprep: build the right binary

For the moment we keep the old build method for old style binaries
(no _STUBS area), but for banked ones we expect the platform specific
make Image to do something intelligent. Given that the banking is pretty
much platform specific magic it has to be this way.

9 years agozx128: fix remaining escaped "uzi"
Alan Cox [Thu, 1 Jan 2015 14:33:36 +0000 (14:33 +0000)]
zx128: fix remaining escaped "uzi"

9 years agoKernel: remove remaining uzi references
Alan Cox [Thu, 1 Jan 2015 14:03:46 +0000 (14:03 +0000)]
Kernel: remove remaining uzi references

In particular we don't want any escaped UZI defines floating around in case
we try and create any shared tools/libs with UZI180 or similar.

9 years agokdata: UZI_SYSCALL_COUNT -> FUZIX_SYSCALL_COUNT
Alan Cox [Thu, 1 Jan 2015 13:38:44 +0000 (13:38 +0000)]
kdata: UZI_SYSCALL_COUNT -> FUZIX_SYSCALL_COUNT

Start pulling out the legacy UZI_ values. We don't want them confusing things
when we've got toolchains that support both UZI and FUZIX.

9 years agobankld: initial hackery to create a banking sdldz80
Alan Cox [Wed, 31 Dec 2014 22:30:15 +0000 (22:30 +0000)]
bankld: initial hackery to create a banking sdldz80

The modifications here are

- emit a modified ihx file format giving the bank identifier, so that we can
  split the .ihx files and generate a set of bin files for the overlaid areas.

- spot and output extra inter-bank relocation entries into the modified ihx
  file that can be read and processed by binmunge.

The follow basically is

Link with modified sdldz80
Run bihx

This produces
relocs.dat - relocation between banks
common.ihx - ihx file for the common bank
bank[123].ihx - relocation for the banks

and then reprocesses the ihx files into .bin versions using makebin

binmunge the reads the relocs.dat and patches the resulting binary data
to use RST in place of CALL and stubs for the rest

9 years agobinmunge, bihx: SDCC banking hacks
Alan Cox [Wed, 31 Dec 2014 22:01:43 +0000 (22:01 +0000)]
binmunge, bihx: SDCC banking hacks

These two tools are the first parts of the hacks to make SDCC generate banked
binaries. It's not a full automatic banker but it's a first step.

sdldz80 is modified to spit out a bihx format, which is a file that contains
lines of the format

XX:Intel IHX - Intel ihex from the : for bank XX
:Intel IHX  - Intel ihex for all the banks used
Bxxxx - Inter bank relocation record

Currently it is hard coded to understand the following segments

CODE "bank 1" - banked code
CODE2 "bank 2" - banked code
CODE3 "bank 3" - banked code
VIDEO "bank 3" - banked code
FONT "bank 3" - data
INITIALIZER common  - data
DATA common  - data
CONST common  - data
COMMONMEM common  - code
DISCARD "bank 3" - banked (discard) code

calls are patched from CD xx xx to use RST8/16/24 xx xx according to the
bank in question. References to banked objects that are made from data
areas or are JP rather than call instructions are fixed up by changing the
vector to point to a 4 byte stub for each problem case that is of the form
RST xx xx RET.

This generates more stubs than we really need right now. Most of them will go
away if the system call table is moved into its own file and we add some
kind of 'DATA2' segment.

9 years agoselect: further filling out .. not there yet
Alan Cox [Tue, 30 Dec 2014 23:13:34 +0000 (23:13 +0000)]
select: further filling out .. not there yet

Pipe bugs need fixing before we can really do select

9 years agozx128: vt and kbd ioctls
Alan Cox [Tue, 30 Dec 2014 19:06:59 +0000 (19:06 +0000)]
zx128: vt and kbd ioctls

9 years agotrs80: kbd and vt ioctls
Alan Cox [Tue, 30 Dec 2014 19:06:45 +0000 (19:06 +0000)]
trs80: kbd and vt ioctls

9 years agopcw8256: vt and kbd ioctls
Alan Cox [Tue, 30 Dec 2014 19:06:29 +0000 (19:06 +0000)]
pcw8256: vt and kbd ioctls

9 years agonc100: add vt/kbd ioctls
Alan Cox [Tue, 30 Dec 2014 19:06:10 +0000 (19:06 +0000)]
nc100: add vt/kbd ioctls

9 years agomtx: add keyboard/vt ioctls
Alan Cox [Tue, 30 Dec 2014 19:05:50 +0000 (19:05 +0000)]
mtx: add keyboard/vt ioctls

9 years agomsx2: add vt/kbd ioctls
Alan Cox [Tue, 30 Dec 2014 19:05:27 +0000 (19:05 +0000)]
msx2: add vt/kbd ioctls

9 years agodragon: vt/kbd ioctl support
Alan Cox [Tue, 30 Dec 2014 19:04:59 +0000 (19:04 +0000)]
dragon: vt/kbd ioctl support

9 years agotty: add ioctl numbers for vt/kbd ops
Alan Cox [Tue, 30 Dec 2014 19:04:34 +0000 (19:04 +0000)]
tty: add ioctl numbers for vt/kbd ops

9 years agovt: add the framework for reporting the keyboard map and VT size
Alan Cox [Tue, 30 Dec 2014 19:04:17 +0000 (19:04 +0000)]
vt: add the framework for reporting the keyboard map and VT size

9 years agoexecve: fix build with CP/M emulator enabled
Alan Cox [Tue, 30 Dec 2014 19:03:27 +0000 (19:03 +0000)]
execve: fix build with CP/M emulator enabled

9 years ago6809: remove dead timer reference
Alan Cox [Tue, 30 Dec 2014 19:03:19 +0000 (19:03 +0000)]
6809: remove dead timer reference

9 years agoutils: Make mkfs hopefully work and build a Fuzix fs
Alan Cox [Tue, 30 Dec 2014 17:34:55 +0000 (17:34 +0000)]
utils: Make mkfs hopefully work and build a Fuzix fs

9 years agosysexits.h: BSD provides this and some BSDlike apps want to use it
Alan Cox [Tue, 30 Dec 2014 16:54:01 +0000 (16:54 +0000)]
sysexits.h: BSD provides this and some BSDlike apps want to use it

Import directly.

9 years agoutils; add pagesize
Alan Cox [Tue, 30 Dec 2014 16:30:57 +0000 (16:30 +0000)]
utils; add pagesize

9 years agotrs80: fix bogus static
Alan Cox [Tue, 30 Dec 2014 15:11:56 +0000 (15:11 +0000)]
trs80: fix bogus static

9 years agodosread: add the DOS tools.
Alan Cox [Tue, 30 Dec 2014 14:17:13 +0000 (14:17 +0000)]
dosread: add the DOS tools.

These need SDCC 3.4.1 snapshots to build. At 25K it's also a bit tight on space
for a box with 32K binaries, but fine on a bigger setup

9 years agoxitoa: fix internal _itoa
Alan Cox [Tue, 30 Dec 2014 14:10:21 +0000 (14:10 +0000)]
xitoa: fix internal _itoa

9 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Tue, 30 Dec 2014 12:05:33 +0000 (12:05 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

Merge together utils work and upstream github merges

9 years agoutils: Add who from ELKS
Alan Cox [Tue, 30 Dec 2014 11:43:12 +0000 (11:43 +0000)]
utils: Add who from ELKS

9 years agofcntl.h: pull in sys/types.h
Alan Cox [Tue, 30 Dec 2014 11:42:30 +0000 (11:42 +0000)]
fcntl.h: pull in sys/types.h

9 years agoutils: add write from ELKS
Alan Cox [Tue, 30 Dec 2014 11:39:49 +0000 (11:39 +0000)]
utils: add write from ELKS

9 years agoutils: Add xargs from ELKS
Alan Cox [Tue, 30 Dec 2014 11:39:05 +0000 (11:39 +0000)]
utils: Add xargs from ELKS

9 years agoutils: Import yes from ELKS sh-utils and ANSIfy
Alan Cox [Tue, 30 Dec 2014 11:37:22 +0000 (11:37 +0000)]
utils: Import yes from ELKS sh-utils and ANSIfy

9 years agoutils: Add stty
Alan Cox [Tue, 30 Dec 2014 11:33:47 +0000 (11:33 +0000)]
utils: Add stty

9 years agotty: correct NOFLUSH to NOFLSH
Alan Cox [Tue, 30 Dec 2014 11:33:10 +0000 (11:33 +0000)]
tty: correct NOFLUSH to NOFLSH

9 years agotermios: correct NOFLUSH to NOFLSH and add _POSIX_VDISABLE
Alan Cox [Tue, 30 Dec 2014 11:32:27 +0000 (11:32 +0000)]
termios: correct NOFLUSH to NOFLSH and add _POSIX_VDISABLE

9 years agoutils: Add logname
Alan Cox [Tue, 30 Dec 2014 11:09:59 +0000 (11:09 +0000)]
utils: Add logname

9 years agoutils: from minixspace this time
Alan Cox [Mon, 29 Dec 2014 23:33:31 +0000 (23:33 +0000)]
utils: from minixspace this time

Note: sed gives sdcc the shits. Build send with 100 not 20000 or you'll be
waiting all week

9 years agoMerge pull request #34 from geijoenr/master
EtchedPixels [Mon, 29 Dec 2014 23:13:26 +0000 (23:13 +0000)]
Merge pull request #34 from geijoenr/master

msx2: fix rom bootstrap

9 years agoMerge pull request #35 from willsowerbutts/toupstream
EtchedPixels [Mon, 29 Dec 2014 23:08:58 +0000 (23:08 +0000)]
Merge pull request #35 from willsowerbutts/toupstream

n8vem-mark4: Optimise SD SPI routines to be faster, smaller

9 years agoMerge pull request #36 from willsowerbutts/toupstream2
EtchedPixels [Mon, 29 Dec 2014 23:08:20 +0000 (23:08 +0000)]
Merge pull request #36 from willsowerbutts/toupstream2

Minor improvements to prompting for boot device number

9 years agoutils: add head
Alan Cox [Mon, 29 Dec 2014 22:51:20 +0000 (22:51 +0000)]
utils: add head

9 years agostat.h: mkfifo prototype
Alan Cox [Mon, 29 Dec 2014 22:51:01 +0000 (22:51 +0000)]
stat.h: mkfifo prototype

9 years agosyscall_fs2: set nproc in the sysinfo
Alan Cox [Mon, 29 Dec 2014 22:50:41 +0000 (22:50 +0000)]
syscall_fs2: set nproc in the sysinfo

9 years agoman: add basic man util
Alan Cox [Mon, 29 Dec 2014 22:39:22 +0000 (22:39 +0000)]
man: add basic man util

9 years agoutils: Add sum
Alan Cox [Mon, 29 Dec 2014 22:31:59 +0000 (22:31 +0000)]
utils: Add sum

9 years agogrep: replace minimal grep with a full implementation
Alan Cox [Mon, 29 Dec 2014 22:28:58 +0000 (22:28 +0000)]
grep: replace minimal grep with a full implementation

9 years agoutils: add fgrep
Alan Cox [Mon, 29 Dec 2014 22:23:24 +0000 (22:23 +0000)]
utils: add fgrep

9 years agodecomp16: decompress 16bit LZ
Alan Cox [Mon, 29 Dec 2014 22:18:37 +0000 (22:18 +0000)]
decomp16: decompress 16bit LZ

This is going to give most Z80 boxes a bit of a battering if it works at all.
Committing this more because it'll be an excellent way to test pipes and
abuse the system for stress testing.

9 years agocksum: add checksum utility
Alan Cox [Mon, 29 Dec 2014 22:13:40 +0000 (22:13 +0000)]
cksum: add checksum utility

9 years agoutils; Add banner, cmp and mkfifo
Alan Cox [Mon, 29 Dec 2014 22:10:47 +0000 (22:10 +0000)]
utils; Add banner, cmp and mkfifo

9 years agovfprintf: fix confusion about ltoa and ltostr
Alan Cox [Mon, 29 Dec 2014 21:55:51 +0000 (21:55 +0000)]
vfprintf: fix confusion about ltoa and ltostr

9 years agomsx2: fix rom bootstrap
geijoenr [Mon, 29 Dec 2014 21:52:58 +0000 (22:52 +0100)]
msx2: fix rom bootstrap

9 years agoKernel: Minor improvements to prompting for boot device number, no
Will Sowerbutts [Mon, 29 Dec 2014 21:43:11 +0000 (21:43 +0000)]
Kernel: Minor improvements to prompting for boot device number, no
longer tries to parse junk left in the command line buffer at 0x0081.

9 years agoKernel: n8vem-mark4: Optimise SD SPI routines to run faster, and drop
Will Sowerbutts [Mon, 29 Dec 2014 20:58:35 +0000 (20:58 +0000)]
Kernel: n8vem-mark4: Optimise SD SPI routines to run faster, and drop
the large precomputed table. Rename block send/receive routines with
clearer names.

9 years agoinode: Note bug in pipe handling
Alan Cox [Mon, 29 Dec 2014 16:41:59 +0000 (16:41 +0000)]
inode: Note bug in pipe handling

9 years agoselect: now we know where to hide the selmaps for free add some more code
Alan Cox [Mon, 29 Dec 2014 16:41:29 +0000 (16:41 +0000)]
select: now we know where to hide the selmaps for free add some more code

Still fleshing this out - it's not yet complete

9 years agoREADME.md: Will's SD merged, so update the README
Alan Cox [Mon, 29 Dec 2014 01:38:30 +0000 (01:38 +0000)]
README.md: Will's SD merged, so update the README