FUZIX.git
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

5 years agozxvideo: for the unbanked version also support video map/unmap
Alan Cox [Fri, 30 Nov 2018 22:30:50 +0000 (22:30 +0000)]
zxvideo: for the unbanked version also support video map/unmap

5 years agozxmmc: much like the divmmc but different ports
Alan Cox [Fri, 30 Nov 2018 22:28:33 +0000 (22:28 +0000)]
zxmmc: much like the divmmc but different ports

5 years agodivmmc: fix silly bug
Alan Cox [Fri, 30 Nov 2018 22:28:13 +0000 (22:28 +0000)]
divmmc: fix silly bug

5 years agozx+3: ZX spectrum plus 3 port based on the TC2068 and 128K work
Alan Cox [Fri, 30 Nov 2018 00:36:59 +0000 (00:36 +0000)]
zx+3: ZX spectrum plus 3 port based on the TC2068 and 128K work

Not yet working

5 years agoplus3: remove old dead plus3 port work
Alan Cox [Fri, 30 Nov 2018 00:36:45 +0000 (00:36 +0000)]
plus3: remove old dead plus3 port work

5 years agodevfdc765: extract core of NC200 driver for general use
Alan Cox [Fri, 30 Nov 2018 00:31:21 +0000 (00:31 +0000)]
devfdc765: extract core of NC200 driver for general use

5 years agotc2068: commit video support
Alan Cox [Fri, 30 Nov 2018 00:30:38 +0000 (00:30 +0000)]
tc2068: commit video support

5 years agoplus3boot: simple tool to checksum a plus3 boot block and make it bootable
Alan Cox [Fri, 30 Nov 2018 00:29:54 +0000 (00:29 +0000)]
plus3boot: simple tool to checksum a plus3 boot block and make it bootable

5 years agozxdiv: split video.s into video and video-banked
Alan Cox [Wed, 28 Nov 2018 22:35:22 +0000 (22:35 +0000)]
zxdiv: split video.s into video and video-banked

The existing one is banked, but we will want an unbanked variant of it for
some platforms.

5 years agoMakefile: add more ports to the general list
Alan Cox [Wed, 28 Nov 2018 22:31:43 +0000 (22:31 +0000)]
Makefile: add more ports to the general list

5 years agozxkeyboard: Fix autorepeat broken by previous optimization
Alan Cox [Wed, 28 Nov 2018 22:27:18 +0000 (22:27 +0000)]
zxkeyboard: Fix autorepeat broken by previous optimization

5 years agotc2068: turn on dynamic buffers
Alan Cox [Wed, 28 Nov 2018 22:25:50 +0000 (22:25 +0000)]
tc2068: turn on dynamic buffers

We might need to tweak this a bit - we don't really need anything like the
number we have room for.

5 years agoadv/myst: fix build error
Alan Cox [Wed, 28 Nov 2018 22:25:29 +0000 (22:25 +0000)]
adv/myst: fix build error

5 years agokernel: add an 4 pixel wide 8 pixel high font
Alan Cox [Wed, 28 Nov 2018 14:13:28 +0000 (14:13 +0000)]
kernel: add an 4 pixel wide 8 pixel high font

Like 4x6 it's got the bytes doubled for easy rendering.

5 years agotc2068: use 64 column mode
Alan Cox [Tue, 27 Nov 2018 20:53:17 +0000 (20:53 +0000)]
tc2068: use 64 column mode