FUZIX.git
9 years agodragon-nx-32: 6847 mangle routine is now unused
Alan Cox [Thu, 28 May 2015 22:08:28 +0000 (23:08 +0100)]
dragon-nx-32: 6847 mangle routine is now unused

9 years agodragon-nx-32: 256x192 bitmapped mode
Alan Cox [Thu, 28 May 2015 00:11:09 +0000 (01:11 +0100)]
dragon-nx-32: 256x192 bitmapped mode

We might want to use 40 char or 64 char but possibly not on composite video 8)

Must figure out how to set the border black.

9 years agodragon-nx-32: commit initial bits of video development work
Alan Cox [Wed, 27 May 2015 21:56:32 +0000 (22:56 +0100)]
dragon-nx-32: commit initial bits of video development work

Not yet tested

9 years agoinit: typedef fix gcc caught
Alan Cox [Wed, 27 May 2015 21:55:57 +0000 (22:55 +0100)]
init: typedef fix gcc caught

Still some const confusions to fix up but they are warnings

9 years agoopendir/readdir/closedir: partial rewrite, fix errors, block cache
Alan Cox [Tue, 26 May 2015 23:06:58 +0000 (00:06 +0100)]
opendir/readdir/closedir: partial rewrite, fix errors, block cache

We now pull a sector at a time and hand it out an entry at a time. This makes
life a lot quicker. In addition we now use one allocation not two and the
code correctly handles the corner case of the directory being fd 0

9 years agotty; fix a race
Alan Cox [Tue, 26 May 2015 23:06:40 +0000 (00:06 +0100)]
tty; fix a race

9 years agoinit: massive rewrite to support SYS5 inittab
Alan Cox [Mon, 25 May 2015 22:45:57 +0000 (23:45 +0100)]
init: massive rewrite to support SYS5 inittab

Need to add telinit support to it yet.

May also make sense to extend the built in getty to understand some
basic modem setting and perhaps integrate cron as an internal.

You will now need an inittab, somethng like

id:3:initdefault:
si::sysinit:/bin/sh
is:s:respawn:/bin/sh
rc::bootwait:/etc/rc
01:3:respawn:getty /dev/tty1
02:3:respawn:getty /dev/tty2
03:3:off:getty /dev/tty3

Other things to look at that fall from this are init arguments on the boot
line

9 years agogetpass: now we have a /dev/tty use it and also correct some behaviour
Alan Cox [Sun, 24 May 2015 22:30:52 +0000 (23:30 +0100)]
getpass: now we have a /dev/tty use it and also correct some behaviour

With this sorted su and passwd now work exactly as expected

9 years agops: Use "asleep" not "sleeping" so it fits
Alan Cox [Sun, 24 May 2015 21:56:34 +0000 (22:56 +0100)]
ps: Use "asleep" not "sleeping" so it fits

This will do for now until it gets rewritten to provide the expected sys5
layout

9 years agoTODO: update
Alan Cox [Sun, 24 May 2015 21:48:31 +0000 (22:48 +0100)]
TODO: update

9 years agouptime: use the libc API for load averages
Alan Cox [Sun, 24 May 2015 21:46:29 +0000 (22:46 +0100)]
uptime: use the libc API for load averages

9 years agolibc: add the getloadavg() interface from 2BSD
Alan Cox [Sun, 24 May 2015 21:46:04 +0000 (22:46 +0100)]
libc: add the getloadavg() interface from 2BSD

9 years agoprocess: enable uptime support
Alan Cox [Sun, 24 May 2015 21:45:11 +0000 (22:45 +0100)]
process: enable uptime support

9 years agofuzix ssh bugfix
Brett Gordon [Sun, 24 May 2015 15:23:28 +0000 (11:23 -0400)]
fuzix ssh bugfix

I've improved "ssh" for now until "sh" is working for the 6809
platforms.

This patch for "ssh" fixed two things:
  *  cd to user's home directory on login invocation
  *  a cd without arguments works

9 years ago6809: Implement setjmp/longjmp
Tormod Volden [Sat, 23 May 2015 18:07:30 +0000 (20:07 +0200)]
6809: Implement setjmp/longjmp

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agoDon't signal dead processes in doexit()
Tormod Volden [Sat, 23 May 2015 10:58:42 +0000 (12:58 +0200)]
Don't signal dead processes in doexit()

ssig() checks for this later but better check it here
before doing anything else.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agouptime: tidy up types
Alan Cox [Sat, 23 May 2015 13:00:38 +0000 (14:00 +0100)]
uptime: tidy up types

9 years agosyscall_proc: fix the CLOCK_MONOTONIC timer
Alan Cox [Sat, 23 May 2015 12:53:57 +0000 (13:53 +0100)]
syscall_proc: fix the CLOCK_MONOTONIC timer

9 years agouptime: add an initial version of uptime
Alan Cox [Sat, 23 May 2015 12:53:29 +0000 (13:53 +0100)]
uptime: add an initial version of uptime

Now the load average code can be debugged..

9 years agopagesize: Fix broken output
Alan Cox [Sat, 23 May 2015 11:16:46 +0000 (12:16 +0100)]
pagesize: Fix broken output

_itoa(32768U) broke horribly. Use _uitoa() and fix the sign bug in uitoa.

9 years agoFix const warning in memcpy and strcspn
Tormod Volden [Sat, 23 May 2015 07:35:39 +0000 (09:35 +0200)]
Fix const warning in memcpy and strcspn

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agoprocess: forks should inherit parents name
Alan Cox [Fri, 22 May 2015 23:36:58 +0000 (00:36 +0100)]
process: forks should inherit parents name

This fixes the cases where forks show up oddly in ps with a blank name

9 years agoclock_gettime: don't leak internal function symbols
Alan Cox [Fri, 22 May 2015 23:12:49 +0000 (00:12 +0100)]
clock_gettime: don't leak internal function symbols

9 years agotrs80: still trying to fix tty switch
Alan Cox [Fri, 22 May 2015 23:12:25 +0000 (00:12 +0100)]
trs80: still trying to fix tty switch

9 years agoutsname: fix reporting strings
Alan Cox [Fri, 22 May 2015 23:11:46 +0000 (00:11 +0100)]
utsname: fix reporting strings

They were not getting packed as we wanted due to being const

9 years agoutsname: small fixes
Alan Cox [Fri, 22 May 2015 23:11:32 +0000 (00:11 +0100)]
utsname: small fixes

9 years agoutil: swap the old ucp etc 'sd' 32MB shifts for a simple bias
Alan Cox [Fri, 22 May 2015 22:24:27 +0000 (23:24 +0100)]
util: swap the old ucp etc 'sd' 32MB shifts for a simple bias

We don't use the SocZ80 UZI 32MB block scheme, so repurpose it for general
use

9 years agozx128: fix keyboard polling
Alan Cox [Fri, 22 May 2015 22:09:37 +0000 (23:09 +0100)]
zx128: fix keyboard polling

The NMOS di/irq_restore bug is now fixed so we can go back to polling here

9 years agoincludes: resync proc.h
Alan Cox [Fri, 22 May 2015 21:29:07 +0000 (22:29 +0100)]
includes: resync proc.h

9 years agoRemove unneeded NUL keyboard input check on various platforms
Tormod Volden [Fri, 22 May 2015 20:20:19 +0000 (22:20 +0200)]
Remove unneeded NUL keyboard input check on various platforms

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agodragon-nx32: Cruft removal and some cosmetics in tricks.s
Tormod Volden [Fri, 22 May 2015 20:20:18 +0000 (22:20 +0200)]
dragon-nx32: Cruft removal and some cosmetics in tricks.s

We don't need to preserve Y because it is properly stacked.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agoutils: Add size report to Makefile.6809
Tormod Volden [Fri, 22 May 2015 20:20:17 +0000 (22:20 +0200)]
utils: Add size report to Makefile.6809

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agoFix memmove breakage
Tormod Volden [Fri, 22 May 2015 20:20:16 +0000 (22:20 +0200)]
Fix memmove breakage

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
9 years agotrs80: Add support for two consoles (shift-F1 and shift-F2)
Alan Cox [Fri, 22 May 2015 21:21:24 +0000 (22:21 +0100)]
trs80: Add support for two consoles (shift-F1 and shift-F2)

Useful for debugging work and testing interactions.

The TRS80 cannot as far as I understand move the physical video base, so
we exchange the memory banks and do some additional pointer flipping and
the like to get it to work.

Cursor handling is still not quite right and needs debugging.

9 years agofilesys: turn i_ref into a #define
Alan Cox [Fri, 22 May 2015 14:38:19 +0000 (15:38 +0100)]
filesys: turn i_ref into a #define

This saves us 67 bytes!

9 years agosyscall_fs2: kill redundant itmp
Alan Cox [Fri, 22 May 2015 14:29:19 +0000 (15:29 +0100)]
syscall_fs2: kill redundant itmp

9 years agoenv: add missing app
Alan Cox [Fri, 22 May 2015 13:24:09 +0000 (14:24 +0100)]
env: add missing app

9 years agoREADME.md: devtty done
Alan Cox [Fri, 22 May 2015 10:37:16 +0000 (11:37 +0100)]
README.md: devtty done

9 years agomtx: note bug to fix
Alan Cox [Fri, 22 May 2015 10:36:45 +0000 (11:36 +0100)]
mtx: note bug to fix

9 years agotty: Implement /dev/tty and fix some open() bugs
Alan Cox [Fri, 22 May 2015 10:35:54 +0000 (11:35 +0100)]
tty: Implement /dev/tty and fix some open() bugs

Some rough edges to fix
Fix various existing crashes on open() - explains the df bug I think
Return correct error codes from device open fails

9 years agoinode: add a helper for opening devices
Alan Cox [Fri, 22 May 2015 10:34:42 +0000 (11:34 +0100)]
inode: add a helper for opening devices

We keep the inode stuff clear of devices (might be very size costly otherwise)
but do the fixups here. Not perfect... may need to size a few options and
see what the payoffs are

9 years agovt: this will go away in a moment
Alan Cox [Fri, 22 May 2015 10:34:25 +0000 (11:34 +0100)]
vt: this will go away in a moment

9 years agofilesystem: add /dev/tty node
Alan Cox [Fri, 22 May 2015 10:34:09 +0000 (11:34 +0100)]
filesystem: add /dev/tty node

9 years agodevio: handle error reporting in the right place
Alan Cox [Fri, 22 May 2015 10:27:49 +0000 (11:27 +0100)]
devio: handle error reporting in the right place

Then we can fix the error reporting on device opens in open()

9 years agodevtty: update for close semantics
Alan Cox [Thu, 21 May 2015 23:02:15 +0000 (00:02 +0100)]
devtty: update for close semantics

9 years agotty: handle close better
Alan Cox [Thu, 21 May 2015 22:58:49 +0000 (23:58 +0100)]
tty: handle close better

9 years agodevmdv: fix open/close handling
Alan Cox [Thu, 21 May 2015 22:48:17 +0000 (23:48 +0100)]
devmdv: fix open/close handling

9 years agoinode: correct close behaviour for devices (note: impacts some drivers!)
Alan Cox [Thu, 21 May 2015 22:44:38 +0000 (23:44 +0100)]
inode: correct close behaviour for devices (note: impacts some drivers!)

We should call _close for each close matching the final close of an open.
This is a slight change in semantics but it's what we actually need to sort
must things out.

Yes it breaks some devices..diddums 8)

9 years agoutils/Makefile: Assorted changes
Alan Cox [Thu, 21 May 2015 22:38:44 +0000 (23:38 +0100)]
utils/Makefile: Assorted changes

- Fix dependency rules a bit
- Support building some stuff with --no-stdio
- Minor fixes
- Build uname

9 years agowhoami: remove stdio
Alan Cox [Thu, 21 May 2015 22:38:33 +0000 (23:38 +0100)]
whoami: remove stdio

9 years agowhich: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:38:18 +0000 (23:38 +0100)]
which: fix buffer length checking

9 years agouud/uue: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:38:02 +0000 (23:38 +0100)]
uud/uue: fix buffer length checking

9 years agotee: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:50 +0000 (23:37 +0100)]
tee: remove stdio

9 years agosum: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:45 +0000 (23:37 +0100)]
sum: remove stdio

9 years agormdir: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:32 +0000 (23:37 +0100)]
rmdir: remove stdio

9 years agorm: fix error reporting
Alan Cox [Thu, 21 May 2015 22:37:22 +0000 (23:37 +0100)]
rm: fix error reporting

9 years agopwd: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:12 +0000 (23:37 +0100)]
pwd: remove stdio

9 years agoprtroot: "fuzix" not "uzi"
Alan Cox [Thu, 21 May 2015 22:36:55 +0000 (23:36 +0100)]
prtroot: "fuzix" not "uzi"

9 years agoprintenv: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:41 +0000 (23:36 +0100)]
printenv: remove stdio

9 years agopagesize: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:34 +0000 (23:36 +0100)]
pagesize: remove stdio

9 years agomv: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:36:22 +0000 (23:36 +0100)]
mv: note removal of stdio

9 years agomknod: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:10 +0000 (23:36 +0100)]
mknod: remove stdio

9 years agomkfifo: fix error code on exit
Alan Cox [Thu, 21 May 2015 22:35:32 +0000 (23:35 +0100)]
mkfifo: fix error code on exit

9 years agomkdir: remove stdio, better errors
Alan Cox [Thu, 21 May 2015 22:35:17 +0000 (23:35 +0100)]
mkdir: remove stdio, better errors

9 years agols: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:59 +0000 (23:34 +0100)]
ls: fix buffer length checks

9 years agoln: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:34:47 +0000 (23:34 +0100)]
ln: note removal of stdio

9 years agoll: buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:31 +0000 (23:34 +0100)]
ll: buffer length checks

9 years agoinit: enable process groups
Alan Cox [Thu, 21 May 2015 22:34:17 +0000 (23:34 +0100)]
init: enable process groups

9 years agokill: remove stdio
Alan Cox [Thu, 21 May 2015 22:34:03 +0000 (23:34 +0100)]
kill: remove stdio

9 years agodate: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:39 +0000 (23:33 +0100)]
date: remove stdio

9 years agocut: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:33:28 +0000 (23:33 +0100)]
cut: fix buffer length checks

9 years agocp: note stdio removal
Alan Cox [Thu, 21 May 2015 22:33:18 +0000 (23:33 +0100)]
cp: note stdio removal

9 years agochown.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:01 +0000 (23:33 +0100)]
chown.c: remove stdio

9 years agochmod.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:50 +0000 (23:32 +0100)]
chmod.c: remove stdio

9 years agochgrp: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:40 +0000 (23:32 +0100)]
chgrp: remove stdio

9 years agossh: fix dumb bugs introduced in semi-mechanical translation from stdio
Alan Cox [Thu, 21 May 2015 22:10:45 +0000 (23:10 +0100)]
ssh: fix dumb bugs introduced in semi-mechanical translation from stdio

9 years agofcc: add --nostdio, correct -pedantic to --pedantic
Alan Cox [Thu, 21 May 2015 22:09:44 +0000 (23:09 +0100)]
fcc: add --nostdio, correct -pedantic to --pedantic

9 years agoliberror: new format file
Alan Cox [Thu, 21 May 2015 22:09:29 +0000 (23:09 +0100)]
liberror: new format file

9 years agoMakefile: add a "nostdio" crt0
Alan Cox [Thu, 21 May 2015 22:09:07 +0000 (23:09 +0100)]
Makefile: add a "nostdio" crt0

9 years agoopendir: standard says O_CLOEXEC
Alan Cox [Thu, 21 May 2015 22:08:47 +0000 (23:08 +0100)]
opendir: standard says O_CLOEXEC

9 years agogetent: switch to non malloc using version
Alan Cox [Thu, 21 May 2015 22:08:29 +0000 (23:08 +0100)]
getent: switch to non malloc using version

Saves a ton of space

9 years agoinitgroups: remove duplicated config file
Alan Cox [Thu, 21 May 2015 22:08:14 +0000 (23:08 +0100)]
initgroups: remove duplicated config file

9 years agoerror: fixed up low space version
Alan Cox [Thu, 21 May 2015 22:07:52 +0000 (23:07 +0100)]
error: fixed up low space version

9 years agoexecv: pedantic corrections to prototypes
Alan Cox [Thu, 21 May 2015 22:05:57 +0000 (23:05 +0100)]
execv: pedantic corrections to prototypes

9 years agolibc: add a tool to make the new liberror.txt
Alan Cox [Thu, 21 May 2015 22:04:56 +0000 (23:04 +0100)]
libc: add a tool to make the new liberror.txt

9 years agoutil: remove escaped file
Alan Cox [Thu, 21 May 2015 22:03:52 +0000 (23:03 +0100)]
util: remove escaped file

9 years agotty: implement system 5 style process groups
Alan Cox [Thu, 21 May 2015 22:03:05 +0000 (23:03 +0100)]
tty: implement system 5 style process groups

This completes (I think) the sketched out implementation in the code.

9 years agotrs80,devtty: make clearer
Alan Cox [Thu, 21 May 2015 21:56:51 +0000 (22:56 +0100)]
trs80,devtty: make clearer

9 years agopcw8256,devfd: Fix typo
Alan Cox [Thu, 21 May 2015 21:56:35 +0000 (22:56 +0100)]
pcw8256,devfd: Fix typo

9 years agotrs80: update README
Alan Cox [Thu, 21 May 2015 21:56:01 +0000 (22:56 +0100)]
trs80: update README

9 years agoswap: introduce swapping onto IDE, add the needed ZX128 bits
Alan Cox [Thu, 21 May 2015 08:33:30 +0000 (09:33 +0100)]
swap: introduce swapping onto IDE, add the needed ZX128 bits

The concept is:

swap_map(x) turns x into an address that will hold the data to be
written out.
swap_page holds the "page" which is a cookie passed from the bank
manager to the swapper and on to the drivers.
map_for_swap takes the cookie and puts the page in the required space
map_kernel_{restore} then goes back to kernel mappings

The bank manager is responsible for not queuing a single I/O that spans two
"pages"

This then allows for swapping support, including banked memory from bank16k and
the like to use a generic shared driver without platform specifics leaking into
the driver layer code.

9 years agoxitoa: use our own int helper
Alan Cox [Wed, 20 May 2015 22:37:18 +0000 (23:37 +0100)]
xitoa: use our own int helper

For stdio and perror using apps it costs us a small amount of memory. For stdio
using apps in general it's free, and for non stdio apps using itoa and not
sucking in the 32bit maths helpers its a big saving.

9 years agostrerror: should live in string.h according to the standards
Alan Cox [Wed, 20 May 2015 22:36:56 +0000 (23:36 +0100)]
strerror: should live in string.h according to the standards

9 years agossh: take it down from 12K to 9K
Alan Cox [Wed, 20 May 2015 22:36:31 +0000 (23:36 +0100)]
ssh: take it down from 12K to 9K

9 years agorm: downsize, fix buffers
Alan Cox [Wed, 20 May 2015 22:30:47 +0000 (23:30 +0100)]
rm: downsize, fix buffers

9 years agomv: Fix buffer checking, remove stdio, downsize
Alan Cox [Wed, 20 May 2015 22:30:23 +0000 (23:30 +0100)]
mv: Fix buffer checking, remove stdio, downsize

9 years agoln: fix buffer checks, remove stdio, shrink
Alan Cox [Wed, 20 May 2015 22:29:54 +0000 (23:29 +0100)]
ln: fix buffer checks, remove stdio, shrink

Lots more memory saved

9 years agocp: strip stdio usage, fix memory leak, size down
Alan Cox [Wed, 20 May 2015 22:29:26 +0000 (23:29 +0100)]
cp: strip stdio usage, fix memory leak, size down

Saves about 2K

9 years agohead: replace the Minix head with a custom one
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

9 years agoApplications/util: generate a list of sizes
Alan Cox [Wed, 20 May 2015 21:04:34 +0000 (22:04 +0100)]
Applications/util: generate a list of sizes