Alan Cox [Wed, 13 Dec 2017 23:32:25 +0000 (23:32 +0000)]
kernel: Make signal handling 16bit clean
SDCC makes a complete hash of 32bit maths and the other compilers don't handle
it that well either so rework the signals as 16bit chunks. This saves us a
whopping 350 bytes as well as speeding stuff up.
Also copy over the held bits - something we forgot to do before.
Alan Cox [Wed, 13 Dec 2017 21:31:19 +0000 (21:31 +0000)]
fsck: some cleaning and tuning
Alan Cox [Wed, 13 Dec 2017 20:57:25 +0000 (20:57 +0000)]
65c816: remove some debug
Alan Cox [Wed, 13 Dec 2017 20:36:30 +0000 (20:36 +0000)]
65c816: signal fixes
With this we seem to have working signals
Alan Cox [Wed, 13 Dec 2017 20:18:32 +0000 (20:18 +0000)]
65c816: signal improvements
We now correctly call the vector for the signal and process it. We return to the
correct recovery code, and then fail to recover correctly.
Alan Cox [Wed, 13 Dec 2017 19:16:14 +0000 (19:16 +0000)]
size: add 6502
Alan Cox [Wed, 13 Dec 2017 19:14:50 +0000 (19:14 +0000)]
65c816: handle interrupt race
Handle the 1 instruction window where we interrupt just as we do the RTL to go
back to user space. Without this additional check we see user space as the mode
and instead of executing the RTL after the CLI we end up executing something in
the user bank at that address.
Alan Cox [Wed, 13 Dec 2017 19:13:00 +0000 (19:13 +0000)]
6502: Fix longmp
This is ugly. For the 6502/6509/65C02 and friends we need to just deal with the
8bit S register. For the 65C816 we have to change the low 8bits of S only, while
keeping interrupts off as we might otherwise get swapped out and change S mid
calculation.
Not always my favourite processor for multi-tasking..
Alan Cox [Wed, 13 Dec 2017 14:13:42 +0000 (14:13 +0000)]
z80: crt0 - let binman fill in the header properly
Alan Cox [Wed, 13 Dec 2017 14:12:58 +0000 (14:12 +0000)]
binman: set up sizes correctly
Alan Cox [Mon, 11 Dec 2017 16:02:14 +0000 (16:02 +0000)]
65c816: document tweaks
(Yes this should probably get turned into markdown as well)
Alan Cox [Mon, 11 Dec 2017 15:46:05 +0000 (15:46 +0000)]
65c816: draft porting guide for this architecture
Alan Cox [Mon, 11 Dec 2017 15:45:44 +0000 (15:45 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Mon, 11 Dec 2017 15:45:24 +0000 (15:45 +0000)]
killall: don't kill empty ptab slots!
EtchedPixels [Sun, 10 Dec 2017 14:38:52 +0000 (14:38 +0000)]
Merge pull request #572 from davidgiven/nc200
NC200 floppy boot support
David Given [Sun, 10 Dec 2017 11:16:50 +0000 (12:16 +0100)]
Add README.
David Given [Sun, 10 Dec 2017 11:10:14 +0000 (12:10 +0100)]
Bodge together a floppy-bootable nc200 platform.
David Given [Sun, 10 Dec 2017 10:47:34 +0000 (11:47 +0100)]
Convert bootblock.s to sdasz80 syntax, and add Makefile rules to compile it.
David Given [Sun, 10 Dec 2017 10:27:54 +0000 (11:27 +0100)]
Rename the boot skeleton file to avoid confusing with the kernel bootblock.
David Given [Sat, 9 Dec 2017 23:21:23 +0000 (00:21 +0100)]
Increase the boot partition size to allow three 16kB banks, not just two.
David Given [Sat, 9 Dec 2017 22:50:17 +0000 (23:50 +0100)]
The boot loader now works (probably).
David Given [Sat, 9 Dec 2017 16:02:36 +0000 (17:02 +0100)]
Add a more-or-less working NC200 bootable file system image and auto.prg.
EtchedPixels [Sat, 9 Dec 2017 13:23:48 +0000 (13:23 +0000)]
Merge pull request #571 from beretta42/netd2
netd: let Fuzix choose local port
EtchedPixels [Sat, 9 Dec 2017 13:23:20 +0000 (13:23 +0000)]
Merge pull request #570 from beretta42/killall
utils: add 'killall' to install script
Brett Gordon [Thu, 7 Dec 2017 19:36:34 +0000 (14:36 -0500)]
netd: let fuzix do the local port binding
Brett Gordon [Sun, 19 Nov 2017 03:19:08 +0000 (22:19 -0500)]
netd: unneccessary packet type check.
Brett Gordon [Thu, 7 Dec 2017 18:05:27 +0000 (13:05 -0500)]
utils: add 'killall' to install script
Alan Cox [Thu, 7 Dec 2017 15:11:52 +0000 (15:11 +0000)]
seq: move initializers to SDCC is happy
Alan Cox [Thu, 7 Dec 2017 15:11:24 +0000 (15:11 +0000)]
65c816: fix documentation
Alan Cox [Thu, 7 Dec 2017 15:10:46 +0000 (15:10 +0000)]
v65c816: fix incorrect define
It's right in the asm but the C one is used in swap which we don't yet do..
Alan Cox [Mon, 4 Dec 2017 13:46:39 +0000 (13:46 +0000)]
v65c816: expose the load base to asm for the doexec fixups
Alan Cox [Mon, 4 Dec 2017 13:45:57 +0000 (13:45 +0000)]
v65: put signal vectors in low if the binary is loaded above the normal base
Alan Cox [Mon, 4 Dec 2017 02:14:25 +0000 (02:14 +0000)]
65c816: signal vector copy
Alan Cox [Mon, 4 Dec 2017 01:58:08 +0000 (01:58 +0000)]
fsck: Fix standalone handling of zero indirect
Alan Cox [Mon, 4 Dec 2017 01:57:39 +0000 (01:57 +0000)]
v65c816: actually tick rate is 100Hz
Alan Cox [Mon, 4 Dec 2017 01:49:17 +0000 (01:49 +0000)]
65c816: multiple fixes - pre-empt support
Alan Cox [Sun, 3 Dec 2017 20:27:38 +0000 (20:27 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 3 Dec 2017 20:27:15 +0000 (20:27 +0000)]
utils: add a SYS5 killall
Not yet tested
EtchedPixels [Mon, 27 Nov 2017 18:31:45 +0000 (18:31 +0000)]
Merge pull request #569 from beretta42/netd2
Quick fixes for netd
Tormod Volden [Sun, 26 Nov 2017 17:50:26 +0000 (18:50 +0100)]
dragon-nx32: Move fonts to high memory
The lower memory segment was running full.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sat, 25 Nov 2017 18:26:02 +0000 (19:26 +0100)]
Standalone/fsck: Add -y option
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sat, 25 Nov 2017 18:06:47 +0000 (19:06 +0100)]
build-filesystem-ng: Print exit status from tool, not from "system"
Interpret exit status 1 from fsck as non-fatal.
Also list package filenames if running verbose.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sat, 25 Nov 2017 00:27:42 +0000 (01:27 +0100)]
util: Add a (long) integer-only seq command
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Brett Gordon [Sat, 25 Nov 2017 23:33:42 +0000 (18:33 -0500)]
netd: remote connect is an asynchronous event, kill udp straight away.
Brett Gordon [Sat, 25 Nov 2017 23:13:12 +0000 (18:13 -0500)]
netd: fix copying of query arg in 'dig'
Brett Gordon [Sat, 25 Nov 2017 23:11:15 +0000 (18:11 -0500)]
netd: shut off gethost's alarm after matching answer arrives
Alan Cox [Fri, 24 Nov 2017 21:46:07 +0000 (21:46 +0000)]
65c816: complete support for signal handling in syscall
Pure IRQ/context switch time handling is not yet debugged
Alan Cox [Fri, 24 Nov 2017 20:34:09 +0000 (20:34 +0000)]
kernel.def: Fix dumb error
Alan Cox [Fri, 24 Nov 2017 20:33:20 +0000 (20:33 +0000)]
65c816: gets the signal handling path via syscall closer
We now call the signal handler correctly, but the handler return blows up
Alan Cox [Fri, 24 Nov 2017 20:33:00 +0000 (20:33 +0000)]
6502: correct signal stubs
Alan Cox [Fri, 24 Nov 2017 17:54:09 +0000 (17:54 +0000)]
65c816: pass the correct A X Y values to the 6502 user space
We don't use these but we do specify them so we should follow what 6502
expects
Alan Cox [Fri, 24 Nov 2017 17:53:19 +0000 (17:53 +0000)]
6502: add more apps
Alan Cox [Thu, 23 Nov 2017 23:20:47 +0000 (23:20 +0000)]
lib: Install driveiwre.h
Alan Cox [Thu, 23 Nov 2017 23:07:43 +0000 (23:07 +0000)]
fsck: Add fixes to standalone fsck from native
Alan Cox [Thu, 23 Nov 2017 23:05:19 +0000 (23:05 +0000)]
fsck: Fix sign when reporting blocks and inodes and some const bits
With this fixed we report valid numbers on a big fsck. There is a weird 6502
oddity that it reports "0" for the memory pool, but I think that's a cc65
bug not an fsck one.
Also fix the path allocating on the recursive search. We now don't buffer
overrun given a long path.
Alan Cox [Thu, 23 Nov 2017 23:04:49 +0000 (23:04 +0000)]
du: 6502 support
Alan Cox [Thu, 23 Nov 2017 22:22:42 +0000 (22:22 +0000)]
6502: correct crt0
The older compiler when we forced fastcall makes main() fastcall. The current
compiler which we can now use without patches makes make() vararg for some
odd reason. That means we need to leave argv on the stack.
With this set the 65c816 userspace actually seems useable
Alan Cox [Thu, 23 Nov 2017 21:45:08 +0000 (21:45 +0000)]
filesys: Fix corruption and buffer leak on bad input address
Alan Cox [Thu, 23 Nov 2017 02:27:32 +0000 (02:27 +0000)]
65c816: further work on things like return paths and fork() corrections
We still have a weird failure on stat() but a lot more stuff seems to
want to behave now
Alan Cox [Thu, 23 Nov 2017 02:27:01 +0000 (02:27 +0000)]
v65c816: ensure the failing trap handler sets a8/i8
Alan Cox [Thu, 23 Nov 2017 02:26:34 +0000 (02:26 +0000)]
v65c816: Fix hd driver to return correct value
Alan Cox [Thu, 23 Nov 2017 02:26:23 +0000 (02:26 +0000)]
v65c816: remove some debug
Alan Cox [Thu, 23 Nov 2017 02:25:56 +0000 (02:25 +0000)]
devio: correctly mark failed read block as unusable
Alan Cox [Thu, 23 Nov 2017 02:25:41 +0000 (02:25 +0000)]
filesys: handle 8bit bools
Alan Cox [Wed, 22 Nov 2017 17:55:32 +0000 (17:55 +0000)]
6502: Add more build Makefiles
"make" now builds a fairly substantial set of tools
Alan Cox [Wed, 22 Nov 2017 17:55:02 +0000 (17:55 +0000)]
as09: build on 6502
Alan Cox [Wed, 22 Nov 2017 17:54:28 +0000 (17:54 +0000)]
6502: Fix quiz.c
Alan Cox [Wed, 22 Nov 2017 17:54:08 +0000 (17:54 +0000)]
6502: Add V7 makefiles
Alan Cox [Wed, 22 Nov 2017 17:53:38 +0000 (17:53 +0000)]
6502: Make clear build on cc65
Alan Cox [Wed, 22 Nov 2017 17:53:07 +0000 (17:53 +0000)]
6502; Build smallC on 6502
Alan Cox [Wed, 22 Nov 2017 17:52:29 +0000 (17:52 +0000)]
6502: more const adjustment for cc65
Alan Cox [Wed, 22 Nov 2017 17:51:52 +0000 (17:51 +0000)]
6502: cc65 doesn't understand 0 sized struct terminal arrays
Work around it the 'traditional' way
Alan Cox [Wed, 22 Nov 2017 17:51:12 +0000 (17:51 +0000)]
6502: more app tweaks for 6502 - keep large arrays off stack
Alan Cox [Wed, 22 Nov 2017 17:50:17 +0000 (17:50 +0000)]
6502: cc65 is very fussy at tines - fix up the moans
Alan Cox [Wed, 22 Nov 2017 15:29:38 +0000 (15:29 +0000)]
games: build on 6502
Alan Cox [Wed, 22 Nov 2017 15:29:15 +0000 (15:29 +0000)]
qrun: turn off graphics as we aren't yet doing it
Alan Cox [Wed, 22 Nov 2017 15:11:42 +0000 (15:11 +0000)]
V7/cmd: build on 6502
Alan Cox [Wed, 22 Nov 2017 15:11:21 +0000 (15:11 +0000)]
library: copy userstructs.h for non Z80 case
Alan Cox [Wed, 22 Nov 2017 15:11:04 +0000 (15:11 +0000)]
6502: build curses/termcap
Alan Cox [Wed, 22 Nov 2017 15:10:40 +0000 (15:10 +0000)]
utils: Fix 6502 termcap build
Alan Cox [Wed, 22 Nov 2017 15:10:25 +0000 (15:10 +0000)]
ed: Make it build on 6502
Alan Cox [Wed, 22 Nov 2017 00:47:46 +0000 (00:47 +0000)]
fcc: report signals as errors when sdcc crashes
Alan Cox [Tue, 21 Nov 2017 21:24:10 +0000 (21:24 +0000)]
setdate: Forgot to commit the final fix
Alan Cox [Thu, 16 Nov 2017 23:55:49 +0000 (23:55 +0000)]
function: allow struct * but not struct arguments
Alan Cox [Thu, 16 Nov 2017 23:54:23 +0000 (23:54 +0000)]
lex: allow for struct/union in types in args etc
Alan Cox [Thu, 16 Nov 2017 23:54:02 +0000 (23:54 +0000)]
preproc: fix silly bug
Alan Cox [Thu, 16 Nov 2017 23:53:43 +0000 (23:53 +0000)]
sym: Fix hang with overlong symbol
Alan Cox [Thu, 16 Nov 2017 23:22:10 +0000 (23:22 +0000)]
sym: allow auto variables to be assigned expressions
Nice trivial change. Fixing statics is a different ball game alas.
Alan Cox [Thu, 16 Nov 2017 23:01:38 +0000 (23:01 +0000)]
z80: more bits
Alan Cox [Thu, 16 Nov 2017 19:03:27 +0000 (19:03 +0000)]
z80: basic string/char functions yet to do
Alan Cox [Thu, 16 Nov 2017 19:03:03 +0000 (19:03 +0000)]
z80: initial build fixes
Alan Cox [Thu, 16 Nov 2017 18:55:10 +0000 (18:55 +0000)]
cc: z80 helpers
First drafts
Alan Cox [Thu, 16 Nov 2017 17:14:49 +0000 (17:14 +0000)]
cc: add initial runtime pieces
Need a decent signed divide implementation adding to crun
Alan Cox [Thu, 16 Nov 2017 17:14:36 +0000 (17:14 +0000)]
cc: temporaries in current directory
Alan Cox [Thu, 16 Nov 2017 15:02:09 +0000 (15:02 +0000)]
frontend: fix some glitches in temporary removal
Alan Cox [Thu, 16 Nov 2017 15:01:57 +0000 (15:01 +0000)]
codez80: inline 16bit subtraction
Alan Cox [Thu, 16 Nov 2017 15:00:51 +0000 (15:00 +0000)]
z80: fix short relative branches to unknown symbols
We now error them with a rather more useful message
Alan Cox [Wed, 15 Nov 2017 23:10:19 +0000 (23:10 +0000)]
cc: lots of small fixes to make it functional
There is plenty left to do (search paths for libraries, automatic libc
inclusion and the like), but it is now minimally useable for Z80 at least
Alan Cox [Wed, 15 Nov 2017 23:08:47 +0000 (23:08 +0000)]
smallc: fix warning
Alan Cox [Wed, 15 Nov 2017 23:08:05 +0000 (23:08 +0000)]
small c: Send errors to stderr so we seen them under cc