Alan Cox [Wed, 20 May 2015 21:32:23 +0000 (22:32 +0100)]
head: replace the Minix head with a custom one
This takes it down from over 9500 bytes to a bit of 3500
Alan Cox [Wed, 20 May 2015 21:04:34 +0000 (22:04 +0100)]
Applications/util: generate a list of sizes
Alan Cox [Wed, 20 May 2015 21:04:00 +0000 (22:04 +0100)]
ucp-mini-script: trim further - we want this to fit a 180-200K disc
Alan Cox [Wed, 20 May 2015 21:03:21 +0000 (22:03 +0100)]
pcw8256: sort out the floppy driver
Reading at least now works with these fixes and bodges. Lots more debug to
do.
Alan Cox [Wed, 20 May 2015 21:02:52 +0000 (22:02 +0100)]
lowlevel-z80-banked: delete duplicate globl here too
Alan Cox [Wed, 20 May 2015 21:02:17 +0000 (22:02 +0100)]
lowlevel-z80: remove dead symbol
Alan Cox [Wed, 20 May 2015 13:11:41 +0000 (14:11 +0100)]
libc: remove 3 clause BSD code and replace from dLibs 1.20
Alan Cox [Wed, 20 May 2015 13:10:37 +0000 (14:10 +0100)]
error.c: better strerror for size
Remove all the funky parsing and use a binary error list for strerror. That
saves us about 500 bytes in many applications.
Alan Cox [Tue, 19 May 2015 22:51:14 +0000 (23:51 +0100)]
pcw8256: build fix
Alan Cox [Tue, 19 May 2015 22:25:03 +0000 (23:25 +0100)]
syscalls.h: add uadmin defines
Alan Cox [Tue, 19 May 2015 22:19:38 +0000 (23:19 +0100)]
ucp-script: add reboot
Alan Cox [Tue, 19 May 2015 22:18:59 +0000 (23:18 +0100)]
reboot; add command
Alan Cox [Tue, 19 May 2015 22:18:34 +0000 (23:18 +0100)]
syscall_other: correct uadmin permission check
Alan Cox [Tue, 19 May 2015 22:18:06 +0000 (23:18 +0100)]
cpu-68000: provide a way to spot 32bit pointers
SDCC can't hack # if sizeof()
Alan Cox [Tue, 19 May 2015 21:27:43 +0000 (22:27 +0100)]
PORTING; update some of the out of date bits
Alan Cox [Tue, 19 May 2015 21:20:42 +0000 (22:20 +0100)]
process: update comments on reviewed FIXME
Alan Cox [Tue, 19 May 2015 21:18:27 +0000 (22:18 +0100)]
tty: note some items to review
Alan Cox [Tue, 19 May 2015 17:54:09 +0000 (18:54 +0100)]
mtx: fix function key switcher
Alan Cox [Tue, 19 May 2015 17:53:52 +0000 (18:53 +0100)]
kernel:clarify syscall fields
Alan Cox [Tue, 19 May 2015 17:28:58 +0000 (18:28 +0100)]
kernel.h: kill dead field
Alan Cox [Mon, 18 May 2015 22:18:03 +0000 (23:18 +0100)]
sgrpsig: correct sign
This was inherited from code that used negatives to indicate process groups
but is called by methods that pass the pgrp.
Alan Cox [Mon, 18 May 2015 22:12:13 +0000 (23:12 +0100)]
proc: allow kill to accept all 32 signals
Alan Cox [Mon, 18 May 2015 22:11:50 +0000 (23:11 +0100)]
process: don't wake zombies, it ends badly even if you have a shotgun
Tormod Volden [Sun, 17 May 2015 23:19:17 +0000 (01:19 +0200)]
dragon-nx32: Implement swapping in of processes
Also fix up swap parameters in config.h
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sun, 17 May 2015 16:38:34 +0000 (18:38 +0200)]
lowlevel-6809: Do not clobber CC on syscall SWI exit
In particular the interrupt masks were overwritten and in some
cases interrupts were disabled after returning from a syscall.
Rewrite the SWI interface to only report error through D and X.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sun, 17 May 2015 22:35:00 +0000 (23:35 +0100)]
6809test: get it building again just for some size measurements
Alan Cox [Sun, 17 May 2015 22:11:05 +0000 (23:11 +0100)]
bank16: fix another swap issue
Alan Cox [Sun, 17 May 2015 22:03:36 +0000 (23:03 +0100)]
trs80: fix typo
Alan Cox [Sun, 17 May 2015 16:44:48 +0000 (17:44 +0100)]
README: update
Tormod Volden [Sun, 17 May 2015 08:55:24 +0000 (10:55 +0200)]
dragon-nx32: Swap out over DriveWire
However, swapping in again still needs some work...
Note that config.h sets DriveWire disk 1 for swap,
change at will.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sun, 17 May 2015 08:55:22 +0000 (10:55 +0200)]
dragon: Set up SAM vector for kernel too
Otherwise SAM_SAVE will read a bogus value when on the kernel
page and SAM_RESTORE will fail to return to it.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sun, 17 May 2015 15:23:52 +0000 (16:23 +0100)]
libc: use the SDCC setjmp not one we inherited from somewhere
The SDCC one saves the bits SDCC needs and so actually works with SDCC. It's
also way smaller, cleaner and only uses legal instructions
Alan Cox [Sun, 17 May 2015 15:21:51 +0000 (16:21 +0100)]
sh: alignment
V7 happens to word pack binaries so that the low bit of the first address
beyond the end of the program is clear. We don't. This causes sh to get
a bit upset 50% of the time you fiddle with it. Instead check the sbrk
value when we start up and sbrk ourselves a byte if needed.
The sh allocator providing it is started on an even address will stay even.
Alan Cox [Sat, 16 May 2015 20:39:04 +0000 (21:39 +0100)]
sh: correct end and use sbrk() rather than v7 linkages
With this change the v7 Bourne shell now runs, even on 32K userspace boxes.
Later she added quite a few things (see
http://heirloom.cvs.sourceforge.net/heirloom/heirloom-sh/) however most of
those are memory expensive.
Probably we should add the use of '#' as a comment character as this is
nowdays considered normal.
Of the other features - an external test suits our memory size better,
while the later builtins aren't that useful and again have size issues. Only
unset cannot be external and might be useful.
Of the late features it might be nice to get 8bit clean
-
Alan Cox [Sat, 16 May 2015 19:10:23 +0000 (20:10 +0100)]
setbrk: but don't wipe shrinks of the stack!
Alan Cox [Sat, 16 May 2015 19:09:04 +0000 (20:09 +0100)]
setbrk: possible paranoia for the moment
ensure our new sbrk space is clean
Alan Cox [Sat, 16 May 2015 19:08:03 +0000 (20:08 +0100)]
sh: sdcc miscompiles (foo = bar)->x = 1 so avoid
It's a strange syntax anyway !
With this applied internal commands sort of work but executing external
commands fails and "set" likewise shows there is some kind of variable space
corruption problem to pin down first
Alan Cox [Sat, 16 May 2015 15:46:18 +0000 (16:46 +0100)]
getfsys: propogate EFAULT errors
Alan Cox [Sat, 16 May 2015 15:46:00 +0000 (16:46 +0100)]
stat: propogate EFAULT errors
Alan Cox [Sat, 16 May 2015 15:45:31 +0000 (16:45 +0100)]
trs80: don't leave PROFIL experimental bits on
Alan Cox [Sat, 16 May 2015 15:44:26 +0000 (16:44 +0100)]
df: fix multiple bugs
- sizeof(number) is not number but 1 or 2
- check strtok return rather than trying to play with NULL
Not clear with is the root cause of the trs80 df crash but at least it works
now
Alan Cox [Sat, 16 May 2015 11:01:04 +0000 (12:01 +0100)]
read/write: A zero byte read or write is a no-op not an error
Tormod Volden [Fri, 15 May 2015 19:47:36 +0000 (21:47 +0200)]
dragon-nx32: Update status in README
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sat, 16 May 2015 00:32:22 +0000 (01:32 +0100)]
TODO: R/O mounts was dealt with differently
Alan Cox [Sat, 16 May 2015 00:30:51 +0000 (01:30 +0100)]
trs80: fix swapping - bug in devhd handling of cylinder boundaries
Alan Cox [Fri, 15 May 2015 23:47:58 +0000 (00:47 +0100)]
devio: Fix the long standing buffer flushing FIXME
We now drop buffers on the final close of a device. This makes mounting
different floppy disks work reliably.
Alan Cox [Fri, 15 May 2015 23:33:52 +0000 (00:33 +0100)]
trs80: swap hd and fd over
Somewhere along the line convention appears to have ended up that the block
generics are device 0 (in effect hd and sd devices). Make trs80 follow the
pattern. Conveniently this also means hitting return boots off hd which is
nice.
Alan Cox [Fri, 15 May 2015 23:32:24 +0000 (00:32 +0100)]
trs80: fix hard disk problems
- Sector offset was wrong so it didn't interoperate
- User mode fetched only half the sectors so execve broke on hd
- Tools replicated hd offset bug
With these fixed you can partition and run FUZIX on the hard disk device even
if set up directly or under another OS.
Swap still blows up but this doesn't appear to be an hd bug at this point
Alan Cox [Fri, 15 May 2015 23:31:38 +0000 (00:31 +0100)]
devio: d_flush of a flush incapable device is not an error
Fixes mount, mkdir and other odd failures
Alan Cox [Fri, 15 May 2015 21:39:04 +0000 (22:39 +0100)]
sh: lower fds used for internal processing
Otherwise we exceed the number allocated on many ports. This gets us to a
shell prompt but things then go downhill
Alan Cox [Fri, 15 May 2015 21:38:30 +0000 (22:38 +0100)]
sh: tidy ups for main.c
Alan Cox [Fri, 15 May 2015 21:38:08 +0000 (22:38 +0100)]
sh: removed dup header so remove the Makefile dependancy
Alan Cox [Fri, 15 May 2015 21:37:11 +0000 (22:37 +0100)]
sbrk: A negative sbrk is permissible, in fact /bin/sh uses it
Alan Cox [Fri, 15 May 2015 21:35:17 +0000 (22:35 +0100)]
trs80: fix crash on boot when we zap the stack
Alan Cox [Fri, 15 May 2015 00:15:18 +0000 (01:15 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
EtchedPixels [Fri, 15 May 2015 00:14:58 +0000 (01:14 +0100)]
Merge pull request #178 from willsowerbutts/binman
n8vem-mark4, p112, zeta-v2: Update to new binman packing
Will Sowerbutts [Thu, 14 May 2015 23:23:42 +0000 (00:23 +0100)]
n8vem-mark4, p112, zeta-v2: Update to new binman packing
Alan Cox [Thu, 14 May 2015 22:53:30 +0000 (23:53 +0100)]
strsignal: correct types in signal.h
Alan Cox [Thu, 14 May 2015 22:51:04 +0000 (23:51 +0100)]
strsignal: signal name conversion
Alan Cox [Thu, 14 May 2015 20:26:27 +0000 (21:26 +0100)]
nc100: turn on direct I/O and remove legacy EXEC
This speeds things up a ton by removing excess copies. As our I/O subsystem is
PCMCIA SRAM the disk speed is basically CPU speed so the excess caching is not
at all helpful!
Alan
Alan Cox [Thu, 14 May 2015 20:22:25 +0000 (21:22 +0100)]
socz80: update to new binman packing
Alan Cox [Thu, 14 May 2015 20:22:07 +0000 (21:22 +0100)]
z80pack,plus3: update to new binman packing
Alan Cox [Thu, 14 May 2015 20:21:40 +0000 (21:21 +0100)]
mtx, pcw8256: update to new binman
Alan Cox [Thu, 14 May 2015 20:21:20 +0000 (21:21 +0100)]
msx: update to new binman
Alan Cox [Thu, 14 May 2015 20:13:05 +0000 (21:13 +0100)]
binman: Change the boot and packing (*THIS WILL AFFECT MOST PORTS*)
We now copy intializer to initialized and then pack common, fonts, discard etc
over data. That has two impacts
- your crt0.s needs to copy from s__DATA now
- your crt0.s ordering needs to put DATA last in the main block
It also saves us about 8K and neatly avoids any issues with overlapping memory
areas. That makes it worth the pain.
Alan Cox [Thu, 14 May 2015 20:12:41 +0000 (21:12 +0100)]
nc100: rework ram disc logic so we can get rid of legacy stuff
Alan Cox [Thu, 14 May 2015 19:49:12 +0000 (20:49 +0100)]
nc100: Fix packing order
We need to put initializer after initialized and before data, otherwise we end
up packing 8K of zeroes. We really can't afford to be doing that!
Tormod Volden [Thu, 14 May 2015 09:05:17 +0000 (11:05 +0200)]
dragon-nx32: Enable CONFIG_LARGE_IO_DIRECT and drop CONFIG_LEGACY_EXEC
Now that both floppy and drivewire support raw i/o.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 14 May 2015 09:05:16 +0000 (11:05 +0200)]
dragon-nx32: Make build instructions copy-pasteable
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 14 May 2015 09:05:15 +0000 (11:05 +0200)]
sh: Missing object in Makefile.6809 clean target
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Wed, 13 May 2015 23:26:35 +0000 (00:26 +0100)]
dragon-nx32: initial patch for floppy support of user/kernel
Tormod Volden [Tue, 12 May 2015 21:09:39 +0000 (23:09 +0200)]
dragon-nx32: Raw support on DriveWire (limited to blocks)
CONFIG_LEGACY_EXEC is still left in place until floppy
driver also gets raw support.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Tue, 12 May 2015 21:09:38 +0000 (23:09 +0200)]
dragon ports: Proper return values from _uput* and _uget*
Thanks to Brett Gordon who found that the bogus
_uget return value was causing lseek() to fail.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Tue, 12 May 2015 23:04:44 +0000 (00:04 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
EtchedPixels [Tue, 12 May 2015 22:50:40 +0000 (23:50 +0100)]
Merge pull request #177 from willsowerbutts/zetaboot
zeta-v2: Fix boot from kernel in ROM
Will Sowerbutts [Sun, 10 May 2015 14:07:02 +0000 (15:07 +0100)]
zeta-v2: Fix boot from kernel in ROM. Do not change tty1 UART parameters unless booting from ROM.
Alan Cox [Mon, 11 May 2015 21:36:24 +0000 (22:36 +0100)]
sh: remove stale v7ism
Alan Cox [Mon, 11 May 2015 21:31:35 +0000 (22:31 +0100)]
sh: start trying to sort out signals
Alan Cox [Mon, 11 May 2015 21:31:21 +0000 (22:31 +0100)]
sh: remove a FIXME
Alan Cox [Mon, 11 May 2015 21:31:04 +0000 (22:31 +0100)]
sh: prt uses clock_t for time
Alan Cox [Mon, 11 May 2015 21:24:01 +0000 (22:24 +0100)]
expand: use FUZIX low level readdir functionality
Alan Cox [Mon, 11 May 2015 21:18:43 +0000 (22:18 +0100)]
sh: times syscall nowadays takes a struct, update accordingly
Alan Cox [Mon, 11 May 2015 20:35:34 +0000 (21:35 +0100)]
tmpfile: return NULL not randomness on error
Alan Cox [Mon, 11 May 2015 20:32:26 +0000 (21:32 +0100)]
sh: finish ansifying and fix up for other compilers
There are still a fair number of FIXMEs to address and probably
it would be worth looking at later versions of sh (2.11BSD etc)
for any fixes there.
Running size (not that it's exactly runnable yet) is about 28K on
Z80 and 6809, and a bit more (33K or so) on 6502.
Alan Cox [Sun, 10 May 2015 23:26:08 +0000 (00:26 +0100)]
sh: ANSIfy main.c
Alan Cox [Sun, 10 May 2015 23:14:47 +0000 (00:14 +0100)]
sh: service and related fixes for ANSIfication
Alan Cox [Sun, 10 May 2015 22:50:50 +0000 (23:50 +0100)]
sh: ANSIfy printing
Alan Cox [Sun, 10 May 2015 22:45:10 +0000 (23:45 +0100)]
sh: ansify stak.c
Alan Cox [Sun, 10 May 2015 22:41:41 +0000 (23:41 +0100)]
sh: ansify string.c
(most of this wants swapping for ANSI C string funcs later)
Alan Cox [Sun, 10 May 2015 22:37:16 +0000 (23:37 +0100)]
sh: ansify error.c
Alan Cox [Sun, 10 May 2015 22:33:15 +0000 (23:33 +0100)]
sh: const in ctypes
Alan Cox [Sun, 10 May 2015 22:32:28 +0000 (23:32 +0100)]
sh: ansify cmd.c
Alan Cox [Sun, 10 May 2015 22:19:51 +0000 (23:19 +0100)]
sh: ANSIfy builtins.c
Alan Cox [Sun, 10 May 2015 21:48:09 +0000 (22:48 +0100)]
blok: ansify
Alan Cox [Sun, 10 May 2015 21:46:41 +0000 (22:46 +0100)]
sh: args, ansify
Alan Cox [Sun, 10 May 2015 21:43:26 +0000 (22:43 +0100)]
sh: kill off INT
Alan Cox [Sun, 10 May 2015 21:38:21 +0000 (22:38 +0100)]
sh: ident the code so it turns back into C
Alan Cox [Sun, 10 May 2015 21:36:49 +0000 (22:36 +0100)]
sh: kill off more macro bits
Alan Cox [Sun, 10 May 2015 21:33:39 +0000 (22:33 +0100)]
sh: kill off REG
Alan Cox [Sun, 10 May 2015 21:29:53 +0000 (22:29 +0100)]
sh: kill off OD/DO