FUZIX.git
5 years agosc114: make loader use generic filo parts
Alan Cox [Sat, 5 Jan 2019 21:55:58 +0000 (21:55 +0000)]
sc114: make loader use generic filo parts

5 years agofilo: first pieces of a generic Z80 loader
Alan Cox [Sat, 5 Jan 2019 21:55:28 +0000 (21:55 +0000)]
filo: first pieces of a generic Z80 loader

5 years agosc114: more minor tweaks and README fixups
Alan Cox [Sat, 5 Jan 2019 21:30:09 +0000 (21:30 +0000)]
sc114: more minor tweaks and README fixups

5 years agosc108: fix typo
Alan Cox [Sat, 5 Jan 2019 21:20:47 +0000 (21:20 +0000)]
sc108: fix typo

5 years agosc114: get it building
Alan Cox [Sat, 5 Jan 2019 21:19:15 +0000 (21:19 +0000)]
sc114: get it building

5 years agoscm_monitor: interface glue
Alan Cox [Sat, 5 Jan 2019 21:18:54 +0000 (21:18 +0000)]
scm_monitor: interface glue

5 years agosc114: initial draft of an SC114 port using SCM monitor as much as possible
Alan Cox [Sat, 5 Jan 2019 21:06:25 +0000 (21:06 +0000)]
sc114: initial draft of an SC114 port using SCM monitor as much as possible

It's also designed to work on the SC108, except we don't have a suitable bank
aware monitor yet.

5 years agosc114: first draft of a real boot loader for Fuzix
Alan Cox [Sat, 5 Jan 2019 21:05:24 +0000 (21:05 +0000)]
sc114: first draft of a real boot loader for Fuzix

5 years agorc2014: update notes and documentation
Alan Cox [Fri, 4 Jan 2019 20:10:54 +0000 (20:10 +0000)]
rc2014: update notes and documentation

5 years agotbblue: add UART minor loader fix
Alan Cox [Fri, 4 Jan 2019 19:30:43 +0000 (19:30 +0000)]
tbblue: add UART minor loader fix

Still working over the code and reviewing, not yet ready for testing

(need to sort a different 8K paged platform first to test the core 8K code
better)

5 years agomnakfile: update v65 status to dead for now
Alan Cox [Fri, 4 Jan 2019 13:51:16 +0000 (13:51 +0000)]
mnakfile: update v65 status to dead for now

5 years agonascom: notes update
Alan Cox [Fri, 4 Jan 2019 13:50:47 +0000 (13:50 +0000)]
nascom: notes update

5 years agocromemco: trivial optimization
Alan Cox [Thu, 3 Jan 2019 19:13:31 +0000 (19:13 +0000)]
cromemco: trivial optimization

5 years agocromemco: first cut at a fast fork() interbank copier
Alan Cox [Thu, 3 Jan 2019 19:12:14 +0000 (19:12 +0000)]
cromemco: first cut at a fast fork() interbank copier

17 clocks/byte but we can't use quite the same technique for the other paths
we need to optimize (notably udata and disk block copies)

5 years agoman2: further updates and new pages
Alan Cox [Sun, 23 Dec 2018 12:42:06 +0000 (12:42 +0000)]
man2: further updates and new pages

5 years agosyscall_proc: implement POSIX _POSIX_SAVED_IDS behaviour
Alan Cox [Sun, 23 Dec 2018 12:35:29 +0000 (12:35 +0000)]
syscall_proc: implement POSIX _POSIX_SAVED_IDS behaviour

The current behaviour is a weird mix of old Unixisms

5 years agoman2: add getpid and getppid
Alan Cox [Sat, 22 Dec 2018 11:33:47 +0000 (11:33 +0000)]
man2: add getpid and getppid

5 years agoman2: assorted small formatting fixups
Alan Cox [Sat, 22 Dec 2018 11:33:31 +0000 (11:33 +0000)]
man2: assorted small formatting fixups

5 years agodup2: Fix two bugs
Alan Cox [Sat, 22 Dec 2018 11:17:38 +0000 (11:17 +0000)]
dup2: Fix two bugs

1. dup2(x,x) corrupted all the counts we closed the object then referenced
it

2. dup2() returns the new file handle not 0 on success

5 years agodup/dup2: manual page
Alan Cox [Sat, 22 Dec 2018 11:17:09 +0000 (11:17 +0000)]
dup/dup2: manual page

5 years agofchown/fchmod: redirect to chown/chmod.2
Alan Cox [Sat, 22 Dec 2018 10:58:03 +0000 (10:58 +0000)]
fchown/fchmod: redirect to chown/chmod.2

5 years agochown.2: unistd.h is the right header not stat.h
Alan Cox [Sat, 22 Dec 2018 10:56:24 +0000 (10:56 +0000)]
chown.2: unistd.h is the right header not stat.h

5 years agosyscall_fs2: fix the chown logic to match modern Unix
Alan Cox [Sat, 22 Dec 2018 10:55:19 +0000 (10:55 +0000)]
syscall_fs2: fix the chown logic to match modern Unix

5 years agochown.2: add manual page
Alan Cox [Sat, 22 Dec 2018 10:55:09 +0000 (10:55 +0000)]
chown.2: add manual page

5 years agochmod.2: Man page fixes
Alan Cox [Sat, 22 Dec 2018 10:54:59 +0000 (10:54 +0000)]
chmod.2: Man page fixes

5 years agochmod.2L correct values
Alan Cox [Fri, 21 Dec 2018 21:41:52 +0000 (21:41 +0000)]
chmod.2L correct values

5 years agoman2: add more pages, fix some bits
Alan Cox [Wed, 19 Dec 2018 14:47:22 +0000 (14:47 +0000)]
man2: add more pages, fix some bits

5 years agosbcv2: Fix msr mode
Alan Cox [Wed, 19 Dec 2018 12:28:10 +0000 (12:28 +0000)]
sbcv2: Fix msr mode

In timer tick mode the timer only works after you've configured the serial
port. If you keep the existing configuration (eg a single user boot) or don't
use that port (eg PropIO) it never turns the needed interrupt on

5 years agotimes: document limitations on tickless systems
Alan Cox [Wed, 19 Dec 2018 12:26:16 +0000 (12:26 +0000)]
times: document limitations on tickless systems

5 years agotime: remove stdio usage, fix 60HZ assumptions
Alan Cox [Wed, 19 Dec 2018 12:12:27 +0000 (12:12 +0000)]
time: remove stdio usage, fix 60HZ assumptions

Now smaller, prints faster and reports the right data

5 years agosbcv2: Fix the external DSR timer support
Alan Cox [Wed, 19 Dec 2018 11:23:05 +0000 (11:23 +0000)]
sbcv2: Fix the external DSR timer support

5 years agofuzix: adjust package lists for mini fs
Alan Cox [Tue, 11 Dec 2018 22:36:37 +0000 (22:36 +0000)]
fuzix: adjust package lists for mini fs

5 years agocromemco: very slow but working
Alan Cox [Tue, 11 Dec 2018 22:35:29 +0000 (22:35 +0000)]
cromemco: very slow but working

Lots of optimizations needed and the small matter of having no hard disk
emulation

5 years agozxdiv: fix missing newline
Alan Cox [Tue, 11 Dec 2018 22:28:48 +0000 (22:28 +0000)]
zxdiv: fix missing newline

5 years agokernel: lower default task switch rate
Alan Cox [Tue, 11 Dec 2018 22:28:13 +0000 (22:28 +0000)]
kernel: lower default task switch rate

5 years agocromemco: get the task switching logic working right
Alan Cox [Tue, 11 Dec 2018 18:06:59 +0000 (18:06 +0000)]
cromemco: get the task switching logic working right

5 years agocromemco: fix floppy user v kernel handling bug
Alan Cox [Tue, 11 Dec 2018 18:06:41 +0000 (18:06 +0000)]
cromemco: fix floppy user v kernel handling bug

5 years agothunked: fix stack handling bug in the pre-emption path
Alan Cox [Tue, 11 Dec 2018 18:06:08 +0000 (18:06 +0000)]
thunked: fix stack handling bug in the pre-emption path

5 years agocromemco: devfd assorted fixes and facepalm removals
Alan Cox [Mon, 10 Dec 2018 21:19:50 +0000 (21:19 +0000)]
cromemco: devfd assorted fixes and facepalm removals

With this sorted we now load init and get as far as fork, whereupon we seem
to go boom

5 years agocromemco: program_vectors code, and also fix a silly fdc bug
Alan Cox [Mon, 10 Dec 2018 21:19:09 +0000 (21:19 +0000)]
cromemco: program_vectors code, and also fix a silly fdc bug

5 years agocromemco: put fd in the right major
Alan Cox [Mon, 10 Dec 2018 21:18:59 +0000 (21:18 +0000)]
cromemco: put fd in the right major

5 years agocromemco: further updates - gets us to the boot prompt
Alan Cox [Mon, 10 Dec 2018 15:26:51 +0000 (15:26 +0000)]
cromemco: further updates - gets us to the boot prompt

The tty interfacing via IM2 mode is a bit hackish for now. Unfortunately because
the emulation of the tu-art in Z80pack is currently extremely buggy we are
basically forced to use IM2.

Eventually we want to do IM2 properly anyway. The entire system is built around
a design that has proper interrupt handling.

With these changes sorted interrupts now work, and you can fail to find a root
file system. Next task is getting the fdc and root fs working.

5 years agocromemco: This gets our boot disk to the bootdev: prompt
Alan Cox [Sun, 9 Dec 2018 15:43:48 +0000 (15:43 +0000)]
cromemco: This gets our boot disk to the bootdev: prompt

Unfortunately we don't seem to have any interrupts or tty activity on reading
so this needs some further research.

5 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 9 Dec 2018 14:04:16 +0000 (14:04 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

5 years agorc2014: another attempt at SIO autodetection
Alan Cox [Sun, 9 Dec 2018 14:02:39 +0000 (14:02 +0000)]
rc2014: another attempt at SIO autodetection

5 years agoMerge pull request #679 from c32ff0/master
EtchedPixels [Sun, 9 Dec 2018 11:55:42 +0000 (11:55 +0000)]
Merge pull request #679 from c32ff0/master

rc2014: fixed missing functions when ppide enabled

5 years agorc2014: fixed missing functions when ppide enabled
c32ff0 [Sun, 9 Dec 2018 10:57:13 +0000 (10:57 +0000)]
rc2014: fixed missing functions when ppide enabled
ppide_rbc.c has #ifdef CONFIG_PPIDE so we don't add useless code if PPIDE isn't configured

5 years agotravis: don't build the incomplete 68k banked port
Alan Cox [Sun, 9 Dec 2018 00:57:12 +0000 (00:57 +0000)]
travis: don't build the incomplete 68k banked port

5 years agofsck: make buffer static to keep cc65 happy
Alan Cox [Sun, 9 Dec 2018 00:56:09 +0000 (00:56 +0000)]
fsck: make buffer static to keep cc65 happy

5 years agozxdiv: fix stale esx loader comment
Alan Cox [Sun, 9 Dec 2018 00:52:53 +0000 (00:52 +0000)]
zxdiv: fix stale esx loader comment

5 years agosc108: note a bug
Alan Cox [Sun, 9 Dec 2018 00:52:45 +0000 (00:52 +0000)]
sc108: note a bug

5 years agonascom: fix make clean
Alan Cox [Sun, 9 Dec 2018 00:52:27 +0000 (00:52 +0000)]
nascom: fix make clean

5 years agobank8k: some build fixes
Alan Cox [Sun, 9 Dec 2018 00:52:12 +0000 (00:52 +0000)]
bank8k: some build fixes

5 years agocromemco: tricks fixup
Alan Cox [Sun, 9 Dec 2018 00:52:00 +0000 (00:52 +0000)]
cromemco: tricks fixup

5 years agocromemco: further pass over the Cromemco code
Alan Cox [Sun, 9 Dec 2018 00:49:33 +0000 (00:49 +0000)]
cromemco: further pass over the Cromemco code

Hopefully now we have thunked mappings this becomes a bit more viable

5 years agotbblue: first cut at tbblue support
Alan Cox [Sat, 8 Dec 2018 17:29:44 +0000 (17:29 +0000)]
tbblue: first cut at tbblue support

Really more of a way to try and debug the bank8k code than anything else.
Right now this is very very basic - an outline to get booting and work from.

5 years agogenie-eg64: tune for new parent first swap only
Alan Cox [Sat, 8 Dec 2018 01:23:54 +0000 (01:23 +0000)]
genie-eg64: tune for new parent first swap only

5 years agosc108: tune for new parent first swap only
Alan Cox [Sat, 8 Dec 2018 01:22:40 +0000 (01:22 +0000)]
sc108: tune for new parent first swap only

5 years agozxdiv: update tricks to use makeproc, also turn on interrupts in swap
Alan Cox [Sat, 8 Dec 2018 01:20:37 +0000 (01:20 +0000)]
zxdiv: update tricks to use makeproc, also turn on interrupts in swap

This may be a little bit exciting - it needs a lot more testing yet

5 years agosocz80:use makeproc
Alan Cox [Sat, 8 Dec 2018 01:19:59 +0000 (01:19 +0000)]
socz80:use makeproc

5 years agov68: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:19:48 +0000 (01:19 +0000)]
v68: use makeproc

5 years agosam: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:19:34 +0000 (01:19 +0000)]
sam: use makeproc

5 years agov65; fix some bit rotted stuff - not complete
Alan Cox [Sat, 8 Dec 2018 01:19:16 +0000 (01:19 +0000)]
v65; fix some bit rotted stuff - not complete

5 years agotc2068: tune for new parent first single model
Alan Cox [Sat, 8 Dec 2018 01:19:02 +0000 (01:19 +0000)]
tc2068: tune for new parent first single model

5 years agomulticomp09: use new makeproc
Alan Cox [Sat, 8 Dec 2018 01:18:43 +0000 (01:18 +0000)]
multicomp09: use new makeproc

5 years agorc2014-tiny: use new single parent first model and add map_buffers
Alan Cox [Sat, 8 Dec 2018 01:18:09 +0000 (01:18 +0000)]
rc2014-tiny: use new single parent first model and add map_buffers

5 years agodragon-nx32: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:17:39 +0000 (01:17 +0000)]
dragon-nx32: use makeproc

5 years agococo2: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:17:28 +0000 (01:17 +0000)]
coco2: use makeproc

5 years agozxdiv: use slower switch rate due to expensive task switch
Alan Cox [Sat, 8 Dec 2018 01:17:07 +0000 (01:17 +0000)]
zxdiv: use slower switch rate due to expensive task switch

5 years agozeta-v2: switch to using makeproc
Alan Cox [Sat, 8 Dec 2018 01:16:51 +0000 (01:16 +0000)]
zeta-v2: switch to using makeproc

5 years agozeta: provide needed map_buffers
Alan Cox [Sat, 8 Dec 2018 01:16:30 +0000 (01:16 +0000)]
zeta: provide needed map_buffers

As we don't have a buffer bank it's just map_kernel

5 years agorc2014: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:16:14 +0000 (01:16 +0000)]
rc2014: use makeproc

5 years agomsx2: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:15:59 +0000 (01:15 +0000)]
msx2: use makeproc

5 years agomsx1: switch to parent first and new style single process
Alan Cox [Sat, 8 Dec 2018 01:15:40 +0000 (01:15 +0000)]
msx1: switch to parent first and new style single process

5 years agococo2cart: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:15:21 +0000 (01:15 +0000)]
coco2cart: use makeproc

5 years agococo2cart: fix tty build
Alan Cox [Sat, 8 Dec 2018 01:15:14 +0000 (01:15 +0000)]
coco2cart: fix tty build

5 years agoamstradnc: use makeproc
Alan Cox [Sat, 8 Dec 2018 01:15:01 +0000 (01:15 +0000)]
amstradnc: use makeproc

5 years ago65c816: update to use makeproc
Alan Cox [Sat, 8 Dec 2018 01:14:38 +0000 (01:14 +0000)]
65c816: update to use makeproc

5 years agoz180: update to use makeproc
Alan Cox [Sat, 8 Dec 2018 01:14:25 +0000 (01:14 +0000)]
z180: update to use makeproc

5 years agokernel: Major rework of the single process in memory model
Alan Cox [Sat, 8 Dec 2018 00:09:28 +0000 (00:09 +0000)]
kernel: Major rework of the single process in memory model

- Support 'parent runs first' in fork. We will also need this for flat memory
  models like 68000 to work nicely. In our case we write the child to swap but
  for flat models we'd duplicate the update and write a short stub stack to
  the child

- Introduce a makeproc to replace newproc. Different arguments so deliberately
  break all the old code

- Fix some interestingly bad scheduling corner cases where we have a process
  running for a long time with nothing else that then causes fork to thrash

- Make tmpfree always a function. Useful for debug and also avoids icky asm
  dependencies

- Fix the Z80 single process model to use the new features

- Fix the Z80 banked process model to pass the new arguments

- Also adjust the switching rate on the Plus 3 as our test platform for the
  single process in memory tunings

Takes our boot time down about 33% !

5 years agofsck: shortcut the usual case of fsck -a of a volume that is marked clean
Alan Cox [Sat, 8 Dec 2018 00:07:26 +0000 (00:07 +0000)]
fsck: shortcut the usual case of fsck -a of a volume that is marked clean

Cheating slightly but saves time

5 years agomount: avoid null pointer deref
Alan Cox [Mon, 3 Dec 2018 23:24:45 +0000 (23:24 +0000)]
mount: avoid null pointer deref

5 years agoMakefile: update and add +3
Alan Cox [Mon, 3 Dec 2018 15:00:15 +0000 (15:00 +0000)]
Makefile: update and add +3

5 years agographics.h: Add Amstrad interleaved modes
Alan Cox [Mon, 3 Dec 2018 14:59:09 +0000 (14:59 +0000)]
graphics.h: Add Amstrad interleaved modes

5 years agoreboot: print command name too
Alan Cox [Mon, 3 Dec 2018 14:58:22 +0000 (14:58 +0000)]
reboot: print command name too

5 years agofdc765, zx+3: Now working on the +3
Alan Cox [Mon, 3 Dec 2018 14:57:19 +0000 (14:57 +0000)]
fdc765, zx+3: Now working on the +3

- Fix assorted bugs
- Add drive B support
- Hack for single sided media for now (need to address properly with disk
  ioctls)

5 years agozx+3: update README
Alan Cox [Sun, 2 Dec 2018 23:47:26 +0000 (23:47 +0000)]
zx+3: update README

5 years agotrs80m1: fix keyboard repeat
Alan Cox [Sun, 2 Dec 2018 23:47:13 +0000 (23:47 +0000)]
trs80m1: fix keyboard repeat

5 years agotc2068: update docs, Makefile
Alan Cox [Sun, 2 Dec 2018 23:46:40 +0000 (23:46 +0000)]
tc2068: update docs, Makefile

5 years agofdc765: fix reporting
Alan Cox [Sun, 2 Dec 2018 23:46:00 +0000 (23:46 +0000)]
fdc765: fix reporting

5 years agoswap: set inswap flag on swapping out
Alan Cox [Sun, 2 Dec 2018 23:45:08 +0000 (23:45 +0000)]
swap: set inswap flag on swapping out

5 years agozxdiv: Spectrum 128K + DivIDE or DivMMC ESXDOS boot support
Alan Cox [Sun, 2 Dec 2018 23:16:05 +0000 (23:16 +0000)]
zxdiv: Spectrum 128K + DivIDE or DivMMC ESXDOS boot support

Build a suitable image to load via ESXDOS 0.8.6 on DivMMC or DivIDE (same
image for both)

5 years agozxkeyboard: set default repeat values
Alan Cox [Sat, 1 Dec 2018 21:32:25 +0000 (21:32 +0000)]
zxkeyboard: set default repeat values

5 years agozx+3: more FDC work - not quite there yet but close
Alan Cox [Sat, 1 Dec 2018 15:12:31 +0000 (15:12 +0000)]
zx+3: more FDC work - not quite there yet but close

5 years agogames: Fix startrek install
Alan Cox [Sat, 1 Dec 2018 11:49:25 +0000 (11:49 +0000)]
games: Fix startrek install

5 years agoplus3,fdc765: don't do a motor wait if the motor is running
Alan Cox [Fri, 30 Nov 2018 22:38:59 +0000 (22:38 +0000)]
plus3,fdc765: don't do a motor wait if the motor is running

5 years agozxdiv: we now handle 2 SD cards so fix config
Alan Cox [Fri, 30 Nov 2018 22:38:47 +0000 (22:38 +0000)]
zxdiv: we now handle 2 SD cards so fix config

5 years agoamstradnc: fix bug in devfd reporting
Alan Cox [Fri, 30 Nov 2018 22:38:30 +0000 (22:38 +0000)]
amstradnc: fix bug in devfd reporting

5 years agozx+3: Quic pass over the code to fix the obvious bugs
Alan Cox [Fri, 30 Nov 2018 22:33:28 +0000 (22:33 +0000)]
zx+3: Quic pass over the code to fix the obvious bugs

With that done we boot to a shell but the floppy driver doesn't appear to want
to be friends yet.

5 years agoraw2dsk: make a raw image into a 40 track Amstrad / Spectrum image
Alan Cox [Fri, 30 Nov 2018 22:31:22 +0000 (22:31 +0000)]
raw2dsk: make a raw image into a 40 track Amstrad / Spectrum image