Alan Cox [Thu, 4 Jun 2015 09:13:09 +0000 (10:13 +0100)]
dragon-nx32: don't re-enter the scrolling routines while scrolling
If you do it ends badly
Alan Cox [Wed, 3 Jun 2015 22:15:17 +0000 (23:15 +0100)]
dragon-nx-32: tidy up machine identification
Confirmed COCO and COCO3 idents
Alan Cox [Wed, 3 Jun 2015 22:04:49 +0000 (23:04 +0100)]
dragon-nx-32: Note in README that the patch for xroar is not for 0.33
Alan Cox [Wed, 3 Jun 2015 22:03:34 +0000 (23:03 +0100)]
dragon: switch to autodetecting the dragon v coco
And do a quick swizzle on the lines to avoid having two keymaps.
The platform detect is a bit dubious - possibly some magic ROM location would
be safer.
50/60Hz also needs doing but that's a timing loop problem I think
Alan Cox [Wed, 3 Jun 2015 22:01:34 +0000 (23:01 +0100)]
dragon32: add a systemid define
Alan Cox [Wed, 3 Jun 2015 22:01:10 +0000 (23:01 +0100)]
dragon32: add header changes for floppy timeout
Tormod Volden [Wed, 3 Jun 2015 20:28:22 +0000 (22:28 +0200)]
dragon-nx32: Small bank copy optimization
Use direct page addressing for the bank switching. Speeds
up forking a tiny bit.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Wed, 3 Jun 2015 19:56:18 +0000 (21:56 +0200)]
execve: Use ugets for copying argument 0 to udata
The argument list gets squeezed in at the process memory top,
and if it is short, copying all 8 bytes might read above top.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Wed, 3 Jun 2015 19:46:23 +0000 (21:46 +0200)]
Add "env" to disk image and "reboot" to 6809 build
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Wed, 3 Jun 2015 17:55:57 +0000 (18:55 +0100)]
dragondos: floppy timer
Alan Cox [Wed, 3 Jun 2015 17:43:15 +0000 (18:43 +0100)]
dragondos: with these changes we have working floppy
Tormod Volden [Wed, 3 Jun 2015 17:04:30 +0000 (19:04 +0200)]
utils: Add text.hot and text.unlikely to dragon* link scripts
gcc generated these sections for init, ssh and grep, and they
were silently ignored by lwlink.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Wed, 3 Jun 2015 11:07:30 +0000 (12:07 +0100)]
dragon-nx-32: more floppy work
Alan Cox [Wed, 3 Jun 2015 00:03:14 +0000 (01:03 +0100)]
dragondos: get read side of driver working
With these changes we can now read dragondos floppies fairly reliably. We
need to optimise the wait for the initial DRQ as now and then we don't quite
make it in the clocks allowed and end up retrying
Writes blow up at the end of the second write in a FIRQ storm, not sure why
yet. Possibly its up to us to disable FIRQ in the NMI handler ?
Alan Cox [Tue, 2 Jun 2015 23:27:49 +0000 (00:27 +0100)]
dragon-nx-32: README note how to build a dragondos cart becker loader
Alan Cox [Tue, 2 Jun 2015 23:27:25 +0000 (00:27 +0100)]
6809: hopefully sort out the branches and stack save this time
Alan Cox [Tue, 2 Jun 2015 23:27:10 +0000 (00:27 +0100)]
floppy: seek target goes in the data register
Alan Cox [Tue, 2 Jun 2015 23:16:08 +0000 (00:16 +0100)]
Revert "lowlevel-6809.s flag test fixup"
This reverts commit
588f60ed5c1019cd0fb9f9d3d3210944a6c89adc.
Tormod Volden [Tue, 2 Jun 2015 22:10:59 +0000 (00:10 +0200)]
lowlevel-6809.s flag test fixup
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Tue, 2 Jun 2015 22:56:45 +0000 (23:56 +0100)]
dragon-nx-32: first floppy fixes
Track 0 now behaves. Seeking to other tracks breaks.
Alan Cox [Tue, 2 Jun 2015 22:00:45 +0000 (23:00 +0100)]
From: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Tue, 2 Jun 2015 21:58:48 +0000 (22:58 +0100)]
netdev: forgot netdev.h
#facepalm
Alan Cox [Tue, 2 Jun 2015 21:58:18 +0000 (22:58 +0100)]
dragon-nx-32: enable optimisation trick
Alan Cox [Tue, 2 Jun 2015 19:23:39 +0000 (20:23 +0100)]
dragon: sort of fix outchar()
Alan Cox [Tue, 2 Jun 2015 19:23:17 +0000 (20:23 +0100)]
6809: fix task scheduler changes
Alan Cox [Tue, 2 Jun 2015 17:27:48 +0000 (18:27 +0100)]
syscall_net: build on Z80
Alan Cox [Tue, 2 Jun 2015 17:23:18 +0000 (18:23 +0100)]
udata: optimise the udata handling further for bankfixed
Take the idle in the thread doing switchout() and make it act simply as a
function call (no udata switch) providing
- We go from just us running to idle
- We are the only process woken
This saves us a lot. It has to be per arch and per banking type but it does
live entirely in switchout() and is invisible to the core so has no affect
on anything it doesn't work with or where it makes no sense.
Also add it for the 6809, although the 6809 changes from nready all still
need debugging first, so its disabled.
Alan Cox [Mon, 1 Jun 2015 22:05:34 +0000 (23:05 +0100)]
syscall_net: fill in sockpending
Alan Cox [Mon, 1 Jun 2015 22:01:57 +0000 (23:01 +0100)]
Makefile: add syscall_net.c
Nobody links it yet but sending it through the compiler is still useful
Alan Cox [Mon, 1 Jun 2015 22:00:09 +0000 (23:00 +0100)]
syscall_net: first pieces
Lots left to put together for the non protocol parts of the stack, but this
is a starting point.
Alan Cox [Mon, 1 Jun 2015 21:59:34 +0000 (22:59 +0100)]
kernel: add some networking error codes we will need
Alan Cox [Mon, 1 Jun 2015 21:58:55 +0000 (22:58 +0100)]
cpu-6809: add ntohs/ntohl for networking work
Starting here as it's easier to work on bigendian first
Alan Cox [Mon, 1 Jun 2015 20:09:55 +0000 (21:09 +0100)]
dragon: update to need_resched
Alan Cox [Mon, 1 Jun 2015 20:09:00 +0000 (21:09 +0100)]
dragon: update for _kernel_flag removal and need_resched
Alan Cox [Mon, 1 Jun 2015 19:49:13 +0000 (20:49 +0100)]
dragon: use the version of devdw in the dev directory
Alan Cox [Mon, 1 Jun 2015 19:48:53 +0000 (20:48 +0100)]
dragon-nx-32: use the version of devdw in dev/
Alan Cox [Mon, 1 Jun 2015 19:47:21 +0000 (20:47 +0100)]
trs80: first cut at drivewire support
Limited to a whopping 19200 baud, and assumes you set up the /dev/tty3 port as you want then run drivewire (don't mix and match!)
Needs optimising, actually testing once I've fixed the emulator to do better
serial proxying.
Alan Cox [Mon, 1 Jun 2015 19:46:42 +0000 (20:46 +0100)]
devdw: move common bits to the dev/ directory
Alan Cox [Mon, 1 Jun 2015 10:46:06 +0000 (11:46 +0100)]
syscall: correct various error returns to follow the spec
Alan Cox [Mon, 1 Jun 2015 10:31:58 +0000 (11:31 +0100)]
ssh: further improvements
- Remove pwd and kill as they suck in a ton of code
- Add background processes
- Add redirection
Alan Cox [Sun, 31 May 2015 22:08:32 +0000 (23:08 +0100)]
tiddles: beginnings of new editor
Just sticking the code somewhere for the moment while I work on it
Alan Cox [Sun, 31 May 2015 18:05:46 +0000 (19:05 +0100)]
ssh: Add .sshrc and also parsing support for quoting etc
Alan Cox [Sun, 31 May 2015 17:29:51 +0000 (18:29 +0100)]
kernel: add p_top so we can do swap in banking modes not just fixed bank
Alan Cox [Sun, 31 May 2015 16:00:23 +0000 (17:00 +0100)]
trs80: no need to copy the istack now
Alan Cox [Sun, 31 May 2015 16:00:09 +0000 (17:00 +0100)]
TODO: update
Alan Cox [Sun, 31 May 2015 15:59:39 +0000 (16:59 +0100)]
z80fixedbank: Enable Tormod's UDATA optimisation
Alan Cox [Sun, 31 May 2015 15:27:21 +0000 (16:27 +0100)]
dragon-nx-32: initial patches to move to the new IRQ stack arrangement
We still copy 256 more bytes than we should..
Alan Cox [Sat, 30 May 2015 18:44:24 +0000 (19:44 +0100)]
z180: update for new IRQ scheme
Alan Cox [Sat, 30 May 2015 18:36:15 +0000 (19:36 +0100)]
msx2: correct for new style IRQ handling
Untested - needs the Makefiles fixing for the fact bootrom.bin has no
rule to create it
Alan Cox [Sat, 30 May 2015 18:28:15 +0000 (19:28 +0100)]
msx1: update core bits to new interrupt logic
Alan Cox [Sat, 30 May 2015 14:23:53 +0000 (15:23 +0100)]
zx128: update to new interrupt scheme
Untested as banked not yet converted
Alan Cox [Sat, 30 May 2015 14:22:18 +0000 (15:22 +0100)]
zeta: update to new IRQ scheme
Alan Cox [Sat, 30 May 2015 13:55:48 +0000 (14:55 +0100)]
socz80: align with new IRQ code
Alan Cox [Sat, 30 May 2015 13:55:16 +0000 (14:55 +0100)]
px4plus: initial mods for new IRQ code
This platform uses the banked build so at the moment this can't be built
or tested
Alan Cox [Sat, 30 May 2015 13:54:18 +0000 (14:54 +0100)]
z80pack: resync to IRQ changes
Alan Cox [Sat, 30 May 2015 13:02:28 +0000 (14:02 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sat, 30 May 2015 12:50:28 +0000 (13:50 +0100)]
pcw8256: sync with the irq changes
Alan Cox [Sat, 30 May 2015 12:44:19 +0000 (13:44 +0100)]
nc100: fix tty handling on close
Alan Cox [Sat, 30 May 2015 12:43:44 +0000 (13:43 +0100)]
nc100: update to use new style IRQ handling
Alan Cox [Sat, 30 May 2015 12:38:33 +0000 (13:38 +0100)]
mtx: remove dead 'kernel_flag'
Alan Cox [Sat, 30 May 2015 12:38:20 +0000 (13:38 +0100)]
mtx: fix tty compile with close() changes
Alan Cox [Sat, 30 May 2015 12:31:22 +0000 (13:31 +0100)]
micropack: update to the new flags
Alan Cox [Sat, 30 May 2015 12:23:28 +0000 (13:23 +0100)]
sdltrs: Commit emulator patches
These are needed to run Fuzix reliably
Alan Cox [Sat, 30 May 2015 12:09:34 +0000 (13:09 +0100)]
lowlevel-z80: put back the basics for the zero pointer trap
EtchedPixels [Sat, 30 May 2015 11:52:32 +0000 (12:52 +0100)]
Merge pull request #196 from davidgiven/cc65fixes
Some cc65 fixes
David Given [Sat, 30 May 2015 10:26:46 +0000 (12:26 +0200)]
Fix const correctness (needed by gcc).
--HG--
extra : source :
6667b8989e26c545f8813b2d4ed6d7e8ec69ebb9
Brett Gordon [Fri, 29 May 2015 15:36:21 +0000 (11:36 -0400)]
FUZIX: ssh.c: environment assignment bugfix + prettier prompting
here's a patch to ssh.c that:
1. Sets the prompt to include a space
2. Prints a newline in the output of the built-in "pwd"
3. Fixes environment variable assignment
As to no. 3: The original code used "putenv()", which, on a new
variable, inserts the tmp char * in to the env[] array. "ssh"
proceeded to reuse this string for more input, thereby screwing up the
environment. I changed it to "setenv()" which makes a new copy of the
string, then inserts it into env[].
This way at least us poor "ssh" users can set PATH until the real "sh"
and "init" are working better for the 6809.
--
Brett M. Gordon,
beretta42@gmail.com
Alan Cox [Sat, 30 May 2015 02:03:49 +0000 (03:03 +0100)]
process: rewrite the interrupt handling logic to be sane
We get rid of the whole UZI inherited irq stack madness as it leaves us
with a bunch of hard/unfixable problems.
Instead
- We only need one interrupt stack (although several if the banking is easier
still works just fine)
- We don't task switch on the IRQ stack, instead if we are going to be
pre-empting we pull a stunt with push/reti to complete the IRQ to
the devices and then task switch on the syscall stack and do
signal processing
This fixes all the pre-emption related crashes and mess with map saving. We
never have to bail from an IRQ because we are already in it. Various other
bits become cleaner.
In the process also rewrite (hopefully correctly this time) the Z80 signal
return paths.
This will probably break everything except Z80 platform devices using the
bankfixed helpers.
Note: The new IRQ code breaks sdltrs. I'll upload some patches for that
when I get a bit of time. Elements of the IRQ emulation and also reti
emulation are buggy in sdltrs it seems.
FIXME:
- At least one additional di to work around bits of the trs80 bugs
can go away
Alan Cox [Sat, 30 May 2015 02:02:53 +0000 (03:02 +0100)]
start: we are effectively in syscall when we create init
Alan Cox [Sat, 30 May 2015 02:02:42 +0000 (03:02 +0100)]
vt: fix backup over start of line
Alan Cox [Fri, 29 May 2015 14:49:22 +0000 (15:49 +0100)]
process: work on pre-emption - give it its own debug form
Also scribble over the p_page pointers of the dead process on exit so
we can catch that case
Alan Cox [Fri, 29 May 2015 14:48:42 +0000 (15:48 +0100)]
utils: add a "while(1)" app for testing pre-emption bugs
Alan Cox [Fri, 29 May 2015 14:47:58 +0000 (15:47 +0100)]
tools/mostcalled: find most called Z80 fns, so we can do RST hacks
Alan Cox [Fri, 29 May 2015 14:47:39 +0000 (15:47 +0100)]
ucp-script: improvements for new init
Alan Cox [Fri, 29 May 2015 14:47:18 +0000 (15:47 +0100)]
fsck: allow path:offset
Alan Cox [Fri, 29 May 2015 14:46:59 +0000 (15:46 +0100)]
syscall_proc: fix yield bug
Tormod Volden [Thu, 28 May 2015 21:04:51 +0000 (23:04 +0200)]
Add uptime to Makefile.6809 and disk image
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Thu, 28 May 2015 22:22:19 +0000 (23:22 +0100)]
dragon-nx32: go with black on green for now
Black on white is also possible but not apparently anything sane like white
on black. Black on white looks too much like a spectrum, black on green
keeps the classic Dragon feel while giving us sensible fonts.
Alan Cox [Thu, 28 May 2015 22:11:37 +0000 (23:11 +0100)]
dragon-nx32: add missing define
Alan Cox [Thu, 28 May 2015 22:10:28 +0000 (23:10 +0100)]
dragon-nx32: report graphics
For the moment just do the trivial stuff, report we have a mappable 256x192
mono framebuffer. As it's in the low space the framebuffer is "mappable" by
any process.
Alan Cox [Thu, 28 May 2015 22:09:19 +0000 (23:09 +0100)]
dragon-nx32: lp driver
Supports both the "real" printer port and also the drivewire virtual
printing.
Alan Cox [Thu, 28 May 2015 22:08:48 +0000 (23:08 +0100)]
graphics: correct duplicate definition
Alan Cox [Thu, 28 May 2015 22:08:28 +0000 (23:08 +0100)]
dragon-nx-32: 6847 mangle routine is now unused
David Given [Thu, 28 May 2015 22:07:16 +0000 (00:07 +0200)]
Staticified a bunch of files; these now build with cc65. Also add some
workarounds for cc65's non-standard const correctness rules.
--HG--
extra : source :
145dd340fc2610495ab25196560246ce3eaceefa
David Given [Sat, 30 May 2015 10:39:45 +0000 (12:39 +0200)]
More cc65 const correctness workarounds.
--HG--
extra : source :
e60e2c93b05a69e69c92f9f76914f9311d8e89d1
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.
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
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
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
Alan Cox [Tue, 26 May 2015 23:06:40 +0000 (00:06 +0100)]
tty; fix a race
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
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
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
Alan Cox [Sun, 24 May 2015 21:48:31 +0000 (22:48 +0100)]
TODO: update
Alan Cox [Sun, 24 May 2015 21:46:29 +0000 (22:46 +0100)]
uptime: use the libc API for load averages
Alan Cox [Sun, 24 May 2015 21:46:04 +0000 (22:46 +0100)]
libc: add the getloadavg() interface from 2BSD
Alan Cox [Sun, 24 May 2015 21:45:11 +0000 (22:45 +0100)]
process: enable uptime support
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
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>
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>