FUZIX.git
6 years agotime: change references to rtc_secs to platform_rtc_secs
Brett Gordon [Sun, 8 Apr 2018 23:07:50 +0000 (19:07 -0400)]
time: change references to rtc_secs to platform_rtc_secs

rtc_secs() has no prototype anymore, and errant results from an
implied call was speeding my clock up by 51 secs every RTC_INTERVAL.
change everyone over to new api.

6 years agococo3: redo drivewire time rtc / simplify.
Brett Gordon [Sun, 8 Apr 2018 22:28:27 +0000 (18:28 -0400)]
coco3: redo drivewire time rtc / simplify.

6 years agoz80: build gpt tools
Alan Cox [Sun, 8 Apr 2018 20:31:24 +0000 (21:31 +0100)]
z80: build gpt tools

6 years agoLibrary: fix builds on systems not using gcc
Alan Cox [Sun, 8 Apr 2018 20:30:55 +0000 (21:30 +0100)]
Library: fix builds on systems not using gcc

6 years agoMerge pull request #599 from beretta42/net
EtchedPixels [Sun, 8 Apr 2018 19:55:42 +0000 (20:55 +0100)]
Merge pull request #599 from beretta42/net

net_native: clear event upon unhooking.

6 years agoMerge pull request #600 from beretta42/apple
EtchedPixels [Sun, 8 Apr 2018 19:55:08 +0000 (20:55 +0100)]
Merge pull request #600 from beretta42/apple

lib: fix 6502 syscall generator

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 8 Apr 2018 19:54:06 +0000 (20:54 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agopdp11: commit makefile and crt0 code
Alan Cox [Sun, 8 Apr 2018 19:52:03 +0000 (20:52 +0100)]
pdp11: commit makefile and crt0 code

6 years agocrt0: Fix return propogation to exit
Alan Cox [Sun, 8 Apr 2018 19:51:21 +0000 (20:51 +0100)]
crt0: Fix return propogation to exit

Reported by David Given

6 years agoMerge pull request #604 from beretta42/tar
EtchedPixels [Sun, 8 Apr 2018 19:43:24 +0000 (20:43 +0100)]
Merge pull request #604 from beretta42/tar

tar: issue fixes

6 years agotar: truncate existing files.
Brett Gordon [Sun, 8 Apr 2018 16:42:12 +0000 (12:42 -0400)]
tar: truncate existing files.

6 years agotar: make parent directories
Brett Gordon [Sun, 8 Apr 2018 16:41:29 +0000 (12:41 -0400)]
tar: make parent directories

6 years agonet_native: clear event upon unhooking.
Brett Gordon [Sun, 8 Apr 2018 03:27:10 +0000 (23:27 -0400)]
net_native: clear event upon unhooking.

this prevents netdev_findevent() from continually reporting on a
dead socket, thus preventing any other socket/event from being
reported to the network daemon.

6 years agocromemco: first cut at the low level disk drivers for the 16FDC
Alan Cox [Sat, 7 Apr 2018 17:33:32 +0000 (18:33 +0100)]
cromemco: first cut at the low level disk drivers for the 16FDC

To fix:
- SD support
- SS support
- Do a head settle delay when changing side
- No support for the slow 8" disk option (PerSci disks ?)

and probably a ton of bugs as this is an initial commit and untested!

6 years agokernel: Pre-emption rate is supposed to be tick rate independent!
Alan Cox [Fri, 6 Apr 2018 18:38:01 +0000 (19:38 +0100)]
kernel: Pre-emption rate is supposed to be tick rate independent!

6 years agoz80pack: swap define
Alan Cox [Fri, 6 Apr 2018 18:37:04 +0000 (19:37 +0100)]
z80pack: swap define

6 years agoz80: allow fixedbank to used swapless
Alan Cox [Fri, 6 Apr 2018 18:36:46 +0000 (19:36 +0100)]
z80: allow fixedbank to used swapless

6 years agocromemco: initial draft port
Alan Cox [Fri, 6 Apr 2018 18:35:48 +0000 (19:35 +0100)]
cromemco: initial draft port

No floppy driver yet and boot blocks are untested

6 years agolib: fix 6502 syscall generator
Brett Gordon [Thu, 5 Apr 2018 16:15:58 +0000 (12:15 -0400)]
lib: fix 6502 syscall generator

was trying to use an unitialized index to array of syscall names.

6 years agosignals: fix signal leak by pushing back a pending signal when we recalc
Alan Cox [Mon, 2 Apr 2018 22:01:15 +0000 (23:01 +0100)]
signals: fix signal leak by pushing back a pending signal when we recalc

6 years agofilesys: fix errno 0 failure with overlong path
Alan Cox [Mon, 2 Apr 2018 22:01:02 +0000 (23:01 +0100)]
filesys: fix errno 0 failure with overlong path

6 years agomkfs: make it clearer how block free list is set up
Alan Cox [Mon, 2 Apr 2018 21:39:37 +0000 (22:39 +0100)]
mkfs: make it clearer how block free list is set up

6 years agonetd: Update for new protocol
Alan Cox [Fri, 30 Mar 2018 23:29:29 +0000 (00:29 +0100)]
netd: Update for new protocol

Align the headers
Honour a request for an unhook as soon as we can (immediately if the uIP link
is already dead)

6 years agonet_native: implement new callback behaviour
Alan Cox [Fri, 30 Mar 2018 23:27:03 +0000 (00:27 +0100)]
net_native: implement new callback behaviour

We sendd a new UNHOOK message to the netd stack and when it replies to say
it's done the job we tell the kernel it can recycle the socket.

6 years agosyscall_net: make close non blocking add a callback for reuse
Alan Cox [Fri, 30 Mar 2018 23:25:50 +0000 (00:25 +0100)]
syscall_net: make close non blocking add a callback for reuse

The new mode is close() sends a message to ask the stack to clean up. The
socket ends up dead until the stack calls ack into closed() to say that the
resources are now free.

6 years agoprocess: turn off some debug
Alan Cox [Fri, 30 Mar 2018 23:25:34 +0000 (00:25 +0100)]
process: turn off some debug

6 years agokernel: add pre-emption signal checks to assembly paths
Alan Cox [Fri, 30 Mar 2018 21:58:06 +0000 (22:58 +0100)]
kernel: add pre-emption signal checks to assembly paths

With these in place we appear to be good except for some kind of net
breakage that needs resolving.

6 years agoz80: fix stray switchout
Alan Cox [Fri, 30 Mar 2018 21:46:46 +0000 (22:46 +0100)]
z80: fix stray switchout

This gets us close to where need to be. All that is broken by all this changing
around now is signal handling on pre-emption

6 years agoprocess: make signal_parent reusable, and document
Alan Cox [Fri, 30 Mar 2018 21:40:22 +0000 (22:40 +0100)]
process: make signal_parent reusable, and document

6 years agoprocess: fix the various buglets in the scheduler changes
Alan Cox [Fri, 30 Mar 2018 21:31:42 +0000 (22:31 +0100)]
process: fix the various buglets in the scheduler changes

6 years agonet_native: test use for psleep_nosig
Alan Cox [Fri, 30 Mar 2018 21:24:45 +0000 (22:24 +0100)]
net_native: test use for psleep_nosig

6 years agokernel: pre-empt should now call the platform method directly
Alan Cox [Fri, 30 Mar 2018 21:24:20 +0000 (22:24 +0100)]
kernel: pre-empt should now call the platform method directly

6 years agotrap/platform rename: Make more consistent use of platform_ naming
Alan Cox [Fri, 30 Mar 2018 19:31:16 +0000 (20:31 +0100)]
trap/platform rename: Make more consistent use of platform_ naming

6 years agoplatform_switchout
Alan Cox [Thu, 29 Mar 2018 22:55:49 +0000 (23:55 +0100)]
platform_switchout

Updated everywhere that looks like it needs it

6 years agomsx1: update to platform_ version
Alan Cox [Thu, 29 Mar 2018 17:23:18 +0000 (18:23 +0100)]
msx1: update to platform_ version

6 years agomsx2: update to scheduler change
Alan Cox [Thu, 29 Mar 2018 14:57:13 +0000 (15:57 +0100)]
msx2: update to scheduler change

6 years agogpt/mbr: don't assume gcc isms are present
Alan Cox [Thu, 29 Mar 2018 14:56:54 +0000 (15:56 +0100)]
gpt/mbr: don't assume gcc isms are present

6 years agocpu.h: add __packed
Alan Cox [Thu, 29 Mar 2018 14:56:34 +0000 (15:56 +0100)]
cpu.h: add __packed

6 years agoprocess: move all the optimizations of switchout() into the C code
Alan Cox [Thu, 29 Mar 2018 14:42:24 +0000 (15:42 +0100)]
process: move all the optimizations of switchout() into the C code

This fixes a ton of duplication in the asm code, and in addition makes the
pre-emption cases faster as we know in those cases that the optimizations
never apply.

switchout() becomes a C fnction

platform_switchout() is now the required platform specific stub which shouldn't
need to do any optimizing beyond udata copy elimiations.

Merge a z80fixedbank example of the changes.

6 years agofilesys: add fields for extended superblock
Alan Cox [Thu, 29 Mar 2018 14:41:16 +0000 (15:41 +0100)]
filesys: add fields for extended superblock

Also add a platform_switchout define ready for the process.c changes

6 years agoinode: file system updates
Alan Cox [Thu, 29 Mar 2018 14:39:42 +0000 (15:39 +0100)]
inode: file system updates

Add a superblock index to inodes. It does cost us a byte per inode but it
also speeds things up somewhat. Also we will need it for big fs support.

Fix inode * errors as inoptr should be used

Set the basis for big file system support (nowhere near complete yet)

6 years agomkfs: fix printf reporting
Alan Cox [Thu, 29 Mar 2018 14:38:26 +0000 (15:38 +0100)]
mkfs: fix printf reporting

6 years agomkfs: first cut at supporting extended block sizes
Alan Cox [Thu, 29 Mar 2018 14:37:02 +0000 (15:37 +0100)]
mkfs: first cut at supporting extended block sizes

6 years agoproc.h: add new process state
Alan Cox [Mon, 26 Mar 2018 21:12:33 +0000 (22:12 +0100)]
proc.h: add new process state

6 years agosyscall: Fix open() panic introduced by lock change
Alan Cox [Mon, 26 Mar 2018 21:11:58 +0000 (22:11 +0100)]
syscall: Fix open() panic introduced by lock change

6 years agobinman: off by one
Alan Cox [Mon, 26 Mar 2018 21:11:41 +0000 (22:11 +0100)]
binman: off by one

6 years agosyscall_name: make const
Alan Cox [Mon, 26 Mar 2018 20:34:15 +0000 (21:34 +0100)]
syscall_name: make const

6 years agoprocess: fix build bugs
Alan Cox [Mon, 26 Mar 2018 19:59:35 +0000 (20:59 +0100)]
process: fix build bugs

6 years agoz80fixedbank: first updated platform code for I/O wait
Alan Cox [Mon, 26 Mar 2018 19:53:51 +0000 (20:53 +0100)]
z80fixedbank: first updated platform code for I/O wait

Other platforms need the smae logic to bounce out of sleep when a signal
is shown pending

6 years agoprocess: I/O wait support
Alan Cox [Mon, 26 Mar 2018 19:53:38 +0000 (20:53 +0100)]
process: I/O wait support

6 years agoiowait:introduce pieces for iowait, also other bits for inode sleep
Alan Cox [Mon, 26 Mar 2018 19:52:38 +0000 (20:52 +0100)]
iowait:introduce pieces for iowait, also other bits for inode sleep

6 years agoinode: draft code for sleeping file system support
Alan Cox [Mon, 26 Mar 2018 19:51:59 +0000 (20:51 +0100)]
inode: draft code for sleeping file system support

6 years agogames: Move startrek to integer
Alan Cox [Sun, 18 Mar 2018 19:40:23 +0000 (19:40 +0000)]
games: Move startrek to integer

We no longer use fp in it so we don't want to suck in the FP versions of
printf and friends.

6 years agostartrek: tidy up further
Alan Cox [Sun, 18 Mar 2018 19:39:26 +0000 (19:39 +0000)]
startrek: tidy up further

6 years agotrek: continue tidying up and shrinking down
Alan Cox [Sat, 17 Mar 2018 21:34:23 +0000 (21:34 +0000)]
trek: continue tidying up and shrinking down

6 years agotrek: keep tidying up globals
Alan Cox [Sat, 17 Mar 2018 20:27:49 +0000 (20:27 +0000)]
trek: keep tidying up globals

6 years agostartrek: integer trek seems to work
Alan Cox [Thu, 15 Mar 2018 21:54:44 +0000 (21:54 +0000)]
startrek: integer trek seems to work

Lots of debug to remove once we are sure

6 years agostartrek: tracking now seems to work still a few floats to zap
Alan Cox [Thu, 15 Mar 2018 21:45:29 +0000 (21:45 +0000)]
startrek: tracking now seems to work still a few floats to zap

6 years agostartrek: integerize
Alan Cox [Thu, 15 Mar 2018 19:44:30 +0000 (19:44 +0000)]
startrek: integerize

There are still some bugs notably the torp/base docking computer is wrong in
some cases.

6 years agostartrek: get rid of extra computer array and use a flag
Alan Cox [Wed, 14 Mar 2018 12:24:26 +0000 (12:24 +0000)]
startrek: get rid of extra computer array and use a flag

6 years agostartrek: further cleanup and defloating
Alan Cox [Wed, 14 Mar 2018 00:38:39 +0000 (00:38 +0000)]
startrek: further cleanup and defloating

Should be sanely playable again

6 years agokernel: sdcc version info
Alan Cox [Tue, 13 Mar 2018 21:59:49 +0000 (21:59 +0000)]
kernel: sdcc version info

6 years agostartrek: continue clean up
Alan Cox [Tue, 13 Mar 2018 21:39:09 +0000 (21:39 +0000)]
startrek: continue clean up

There are corner cases on the torpedo tracking and where the computer solution
is wrong. The whole positioning logic is a bit messed up and I think the
tracking corner cases are due to that. Also of course Klingons are in integer
positions whereas presumably they should be at 0.5/0.5 because they are
notionally in the middle of the square.

Would it make sense to just Bresenham the movement and torpedo logic ?

6 years agostartrek: add an input routine for x.yz fixed point co-ords
Alan Cox [Tue, 13 Mar 2018 13:06:26 +0000 (13:06 +0000)]
startrek: add an input routine for x.yz fixed point co-ords

6 years agostartrek: clean up in the input side
Alan Cox [Tue, 13 Mar 2018 12:59:08 +0000 (12:59 +0000)]
startrek: clean up in the input side

6 years agostartrek: further clean
Alan Cox [Mon, 12 Mar 2018 01:44:48 +0000 (01:44 +0000)]
startrek: further clean

Now done to 39995 bytes on Z80

6 years agostartrek: more cleaning/sizing
Alan Cox [Mon, 12 Mar 2018 00:37:55 +0000 (00:37 +0000)]
startrek: more cleaning/sizing

6 years agostartrek: make stardates fixed point
Alan Cox [Mon, 12 Mar 2018 00:11:12 +0000 (00:11 +0000)]
startrek: make stardates fixed point

6 years agostartrek:tidy up scratch string usage in device and quad names
Alan Cox [Sun, 11 Mar 2018 22:15:44 +0000 (22:15 +0000)]
startrek:tidy up scratch string usage in device and quad names

6 years agostartrek: chdir somewhere, make it all static and remove dead bits
Alan Cox [Sun, 11 Mar 2018 22:08:42 +0000 (22:08 +0000)]
startrek: chdir somewhere, make it all static and remove dead bits

6 years agostartrek: instructions
Alan Cox [Sun, 11 Mar 2018 21:57:51 +0000 (21:57 +0000)]
startrek: instructions

6 years agostartrek: some clean up first pass
Alan Cox [Sun, 11 Mar 2018 21:57:30 +0000 (21:57 +0000)]
startrek: some clean up first pass

6 years agostartrek: use time(NULL)
Alan Cox [Sun, 11 Mar 2018 20:57:49 +0000 (20:57 +0000)]
startrek: use time(NULL)

6 years agolimits: move RAND_MAX to the right spot
Alan Cox [Sun, 11 Mar 2018 20:57:21 +0000 (20:57 +0000)]
limits: move RAND_MAX to the right spot

6 years agoResolving merge
Alan Cox [Sun, 11 Mar 2018 17:26:39 +0000 (17:26 +0000)]
Resolving merge

6 years agoAllow building without IDE or SCSI support
Tormod Volden [Sun, 11 Mar 2018 15:00:58 +0000 (16:00 +0100)]
Allow building without IDE or SCSI support

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agococo3: Const'ify strcmp arguments
Tormod Volden [Sun, 11 Mar 2018 14:37:00 +0000 (15:37 +0100)]
coco3: Const'ify strcmp arguments

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoCommon DriveWire files for coco2/coco2cart/dragon-nx32
Tormod Volden [Sun, 11 Mar 2018 13:38:19 +0000 (14:38 +0100)]
Common DriveWire files for coco2/coco2cart/dragon-nx32

The coco2 and coco2cart platforms were missing the
low-level DriveWire drivers. They can use the same as
the dragon-nx32 platform, so make them common.

Now that coco2 and coco2cart build again, also add
the build memory map check while we are at it.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoflat: note bug
Alan Cox [Sun, 11 Mar 2018 14:12:07 +0000 (14:12 +0000)]
flat: note bug

6 years agostartrek: make sdcc happier
Alan Cox [Sun, 11 Mar 2018 14:02:40 +0000 (14:02 +0000)]
startrek: make sdcc happier

sdcc does weird stuff with static objects constructed inside a function. No
idea why - but it's best to keep them outside of it

6 years agofindsdcc: fix paths
Alan Cox [Sun, 11 Mar 2018 14:02:07 +0000 (14:02 +0000)]
findsdcc: fix paths

6 years agosyscall_exec16: Fix L2 build without locking
Alan Cox [Sun, 11 Mar 2018 14:01:21 +0000 (14:01 +0000)]
syscall_exec16: Fix L2 build without locking

6 years agostartrek: fix typo
Alan Cox [Sun, 11 Mar 2018 13:18:43 +0000 (13:18 +0000)]
startrek: fix typo

6 years agostartrek: feed through indent
Alan Cox [Sun, 11 Mar 2018 13:09:13 +0000 (13:09 +0000)]
startrek: feed through indent

No other changes

6 years agoMerge pull request #596 from beretta42/vile
EtchedPixels [Sun, 11 Mar 2018 12:59:50 +0000 (12:59 +0000)]
Merge pull request #596 from beretta42/vile

vile: add to package script

6 years agoMerge pull request #597 from beretta42/vile2
EtchedPixels [Sun, 11 Mar 2018 12:59:34 +0000 (12:59 +0000)]
Merge pull request #597 from beretta42/vile2

curses: tailor tty VMIN to FUZIX

6 years agoMerge pull request #595 from beretta42/strcmp
EtchedPixels [Sun, 11 Mar 2018 12:59:06 +0000 (12:59 +0000)]
Merge pull request #595 from beretta42/strcmp

coco3: fix strcmp definition

6 years agovile: add to package script
Brett Gordon [Sun, 11 Mar 2018 06:32:31 +0000 (01:32 -0500)]
vile: add to package script

6 years agocurses: tailor tty VMIN to FUZIX
Brett Gordon [Sun, 11 Mar 2018 06:24:07 +0000 (01:24 -0500)]
curses: tailor tty VMIN to FUZIX

VMIN and VEOF are unioned in FUZIX, so reset VMIN to 0 on raw(),
otherwise set it to EOF (4).

6 years agococo3: fix strcmp definition
Brett Gordon [Sun, 11 Mar 2018 04:04:25 +0000 (23:04 -0500)]
coco3: fix strcmp definition

6 years agodragon-nx32: Only init IDE or SD devices if set in config.h
Tormod Volden [Sat, 10 Mar 2018 22:40:47 +0000 (23:40 +0100)]
dragon-nx32: Only init IDE or SD devices if set in config.h

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Default to "real" DriveWire (bit-banger not Becker port)
Tormod Volden [Sat, 10 Mar 2018 22:17:10 +0000 (23:17 +0100)]
dragon-nx32: Default to "real" DriveWire (bit-banger not Becker port)

Pass on BECKER from Make environment instead, so that it can be defined
on the command line without changing the code:

make -C Kernel TARGET=dragon-nx32 BECKER=1

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: SPI fast sector read: Initiate bit shifting after FRX enable
Tormod Volden [Sat, 10 Mar 2018 22:17:09 +0000 (23:17 +0100)]
dragon-nx32: SPI fast sector read: Initiate bit shifting after FRX enable

In the fast receive mode (FRX) of the 65SPI interface a read of
the data register triggers reading in the next byte over SPI. So
after going into this mode the first read will return the value
that was already there, before shifting in of the new value ensues.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoRemove spurious control character in varargs.h
Tormod Volden [Sat, 10 Mar 2018 22:17:08 +0000 (23:17 +0100)]
Remove spurious control character in varargs.h

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodevsd_discard.c: Fix link to ChaN's flow chart
Tormod Volden [Tue, 27 Feb 2018 21:18:47 +0000 (22:18 +0100)]
devsd_discard.c: Fix link to ChaN's flow chart

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx-32: resolve Makefile merge failure in previous
Alan Cox [Sat, 10 Mar 2018 23:57:13 +0000 (23:57 +0000)]
dragon-nx-32: resolve Makefile merge failure in previous

6 years agoAdd GUID Partition Table support
Tormod Volden [Fri, 23 Feb 2018 21:31:26 +0000 (22:31 +0100)]
Add GUID Partition Table support

And enable it on dragon-nx32.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoAdd userspace GPT parser
Tormod Volden [Fri, 23 Feb 2018 21:31:28 +0000 (22:31 +0100)]
Add userspace GPT parser

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoAdd library header files for partition tables
Tormod Volden [Fri, 23 Feb 2018 21:31:27 +0000 (22:31 +0100)]
Add library header files for partition tables

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Add strcmp()
Tormod Volden [Fri, 23 Feb 2018 21:31:25 +0000 (22:31 +0100)]
dragon-nx32: Add strcmp()

Also add prototype to 6809 header file.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>