Alan Cox [Fri, 28 Sep 2018 20:17:50 +0000 (21:17 +0100)]
fsck: move the looping into the helper
This allows us to execve the helper in the case of checking one fs. For typical
tiny system start up that saves us a bunch of time
Alan Cox [Fri, 28 Sep 2018 20:17:27 +0000 (21:17 +0100)]
mkfs: use the system headers
Alan Cox [Fri, 28 Sep 2018 20:17:11 +0000 (21:17 +0100)]
fslabel: add new tool
Alan Cox [Fri, 28 Sep 2018 20:16:21 +0000 (21:16 +0100)]
super.h: need to define blkno_t
Alan Cox [Fri, 28 Sep 2018 20:15:47 +0000 (21:15 +0100)]
sscanf: scanned string is const
Correct us to match POSIX prototypes
Alan Cox [Fri, 28 Sep 2018 12:03:48 +0000 (13:03 +0100)]
z80: build cartman
Alan Cox [Fri, 28 Sep 2018 12:03:26 +0000 (13:03 +0100)]
tools: add cartman
Tool to build our MSX cartridge
Alan Cox [Fri, 28 Sep 2018 12:01:02 +0000 (13:01 +0100)]
msx1: revisit this platform
Now we have the infrastructure and simpler examples of ROM based kernel with
a RAM user mapping see if we can get MSX1 64K + kernel in cartridge to work
using a swap device.
For mappers it doesn't really make sense to keep them in this port. An MSX1
with MSX2 mapper would best be handled by fixing the MSX2 port to support all
the different VDP types. MegaRAM is probably its own port but one to tackle
once this works and also once we have relocatable binaries.
Alan Cox [Mon, 24 Sep 2018 22:20:36 +0000 (23:20 +0100)]
RELEASE_NOTES: spell MOOH properly
Alan Cox [Sun, 23 Sep 2018 18:17:44 +0000 (19:17 +0100)]
standalone: update a couple of bits that should have made 0.2
Alan Cox [Fri, 21 Sep 2018 22:41:09 +0000 (23:41 +0100)]
swap: fix a nasty little bug
We checked against the wrong process for one case, that in turn meant a specific
pattern of activity could mess up when it tried to swap out a zombie process
Alan Cox [Fri, 21 Sep 2018 22:40:52 +0000 (23:40 +0100)]
binmunge: improve debug info
Alan Cox [Fri, 21 Sep 2018 22:40:21 +0000 (23:40 +0100)]
trs80m1: rework the code to avoid banking fixup problems
Alan Cox [Fri, 21 Sep 2018 22:40:07 +0000 (23:40 +0100)]
bankfixed: improve debug
Alan Cox [Fri, 21 Sep 2018 21:09:05 +0000 (22:09 +0100)]
Release notes
Alan Cox [Fri, 21 Sep 2018 21:04:50 +0000 (22:04 +0100)]
Fuzix: Version to 0.2
Alan Cox [Fri, 21 Sep 2018 21:04:31 +0000 (22:04 +0100)]
sbcv2: now boots directly so fix the docs
Alan Cox [Fri, 21 Sep 2018 21:03:06 +0000 (22:03 +0100)]
fsck: slow down the whirly wotsit
Alan Cox [Thu, 20 Sep 2018 00:54:55 +0000 (01:54 +0100)]
timer: handle fast clocks
On a few systems the timer tick can run too fast (eg it's 0.512 of a second
not 0.5) and we can tick ahead of the RTC time. For robustness treat being
a second ahead of locked time as we do being on time - don't tick again so
we'll slide into time.
We shouldn't end up any further out because the big jumps are only when we
have interrupts off for stuff like floppy disk I/O. In that situation we
will always lose time.
Alan Cox [Thu, 20 Sep 2018 00:53:50 +0000 (01:53 +0100)]
syscall_other: add support for suspend/resume
Alan Cox [Thu, 20 Sep 2018 00:53:37 +0000 (01:53 +0100)]
rc2014-tiny: remove stale debug
Alan Cox [Thu, 20 Sep 2018 00:52:50 +0000 (01:52 +0100)]
nascom: add support for tickless mode
We will need this once we get it up and running as many of the clock chips were
not wired for interrupt or some more bizarrely wired it to NMI!
Alan Cox [Thu, 20 Sep 2018 00:51:18 +0000 (01:51 +0100)]
z80: change exec startup behaviour to use DE for bank info
Passing it in iy makes life messier and as nobody uses it yet we might as well
change it.
Alan Cox [Thu, 20 Sep 2018 00:50:50 +0000 (01:50 +0100)]
kernel: add header for suspend/resume
Alan Cox [Thu, 20 Sep 2018 00:50:01 +0000 (01:50 +0100)]
fcc/libs: complete support for relocatable binaries
Not yet fully tested and needs a small kernel change
Alan Cox [Thu, 20 Sep 2018 00:49:55 +0000 (01:49 +0100)]
syscalls: add suspend/resume flag
Alan Cox [Sun, 16 Sep 2018 23:24:38 +0000 (00:24 +0100)]
bank8K: take a pass at fixing all the broken assumptions in bank8k
Plus some bugs !
Alan Cox [Sun, 16 Sep 2018 22:23:20 +0000 (23:23 +0100)]
bank8K: document assumptions better
Alan Cox [Sun, 16 Sep 2018 22:13:18 +0000 (23:13 +0100)]
Revert "bank8k: Fix program size/top confusion"
This reverts commit
90a1fcf7d46e10e3e163d11785badda0c8f5ba2a.
The original logic is actually correct I believe on review. The top is
turned into a size, biased by the need to keep space for the common copy
and correctly calculated
Alan Cox [Sun, 16 Sep 2018 18:45:12 +0000 (19:45 +0100)]
fweep: take some more steps towards working on 8bit machines
Fix the last direct memory array ref I know about and start fleshing out the
paged buffer logic a bit
Alan Cox [Sun, 16 Sep 2018 16:56:15 +0000 (17:56 +0100)]
INSTALL: add warning about yacc v bison, fix sdcc recommendation
Alan Cox [Sun, 16 Sep 2018 15:42:29 +0000 (16:42 +0100)]
tools: add relocatable binary support
We can either fight the tools and rework the linker or follow the long standing
tradition of linking it twice 256 bytes apart and doing it that way.
For now lets do it the tool independent way so people don't need a customised
sdcc chain.
The fcc part is done, the reloc tool doesn't most of the work but it doesn't
yet write the relocs into the binary and we don't have reloc awareness in the
loader.
Alan Cox [Sun, 16 Sep 2018 14:56:22 +0000 (15:56 +0100)]
plato: remove unused variable
Alan Cox [Sun, 16 Sep 2018 14:55:41 +0000 (15:55 +0100)]
rc2014: remove last bits of ramdisk crud
Alan Cox [Sun, 16 Sep 2018 13:25:08 +0000 (14:25 +0100)]
fcc: error unknown platform -t options
Alan Cox [Sun, 16 Sep 2018 12:51:15 +0000 (13:51 +0100)]
rc2014: remove last vestigates of unneeded ramdisk support
Alan Cox [Sun, 16 Sep 2018 12:37:31 +0000 (13:37 +0100)]
rc2014-tiny: set cpu type correctly
Alan Cox [Sun, 16 Sep 2018 12:35:03 +0000 (13:35 +0100)]
sc108: Always a CMOS CPU
Alan Cox [Sun, 16 Sep 2018 12:22:31 +0000 (13:22 +0100)]
sc108 & sam: Fix signal handling crash
Alan Cox [Sun, 16 Sep 2018 12:21:39 +0000 (13:21 +0100)]
tickless: fix dumb bug propogated across multiple platforms
This makes things work far better than before.
Alan Cox [Sat, 15 Sep 2018 23:46:20 +0000 (00:46 +0100)]
sc108: Testing the thunking code on a machine with no common RAM
Instead the banks are pure RAM with a 64K switch but there is a ROM helper to
bootstrap stuff from bank 0 to bank 1.
Alan Cox [Sat, 15 Sep 2018 23:44:14 +0000 (00:44 +0100)]
simple: explain why we don't worry about disk read versus memory clear
On the Z80 and many other 8bit micros a sequential series of disk reads
(especially from CF) are as fast as a memory clear or very close to it.
The TRS80 is perhaps the obvious exception.
Alan Cox [Sat, 15 Sep 2018 23:44:05 +0000 (00:44 +0100)]
sam: fix comment
Alan Cox [Sat, 15 Sep 2018 23:24:47 +0000 (00:24 +0100)]
binman: fix another off by one
Alan Cox [Sat, 15 Sep 2018 23:23:38 +0000 (00:23 +0100)]
rc2014-tiny: remove unused value
We actually need to rewrite the SIO init code to not suck
Alan Cox [Sat, 15 Sep 2018 23:23:10 +0000 (00:23 +0100)]
z80single: fix an unused reference and duplicated includes
Alan Cox [Sat, 15 Sep 2018 23:22:48 +0000 (00:22 +0100)]
eg64: not the different banker types
Alan Cox [Sat, 15 Sep 2018 23:22:10 +0000 (00:22 +0100)]
z80: allow for the HIGH block to be in different places
For commonless machines we need it in COMMONMEM
Alan Cox [Sat, 15 Sep 2018 23:21:01 +0000 (00:21 +0100)]
sam: fix a typo and add a macro we'll need to generalize the thunked code
Systems without common RAM need to handle the HIGH area diferently so we
use a macro to decide what HIGH means
Alan Cox [Sat, 15 Sep 2018 23:20:37 +0000 (00:20 +0100)]
rc2014tiny: remove devinput.h we don't use it
Alan Cox [Sat, 15 Sep 2018 11:29:52 +0000 (12:29 +0100)]
From: Tormod Volden <debian.tormod@gmail.com>
"ramtop" is an address, while "size" is a size
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
---
Kind of academic as long as all "simple" platforms have PROGBASE
at 0, but isn't it correct?
Tormod
(hand applied due to a clash)
Tormod Volden [Fri, 14 Sep 2018 21:58:16 +0000 (23:58 +0200)]
dragon-mooh: Remove unused file that slipped in
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:44 +0000 (23:13 +0200)]
dragon-mooh: Build and use DECB patcher for kernel image
The decb-mooh tool modifies a plain DECB binary so that it
can load onto the MOOH with e.g. the SDBOOT bootloader.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:43 +0000 (23:13 +0200)]
dragon-mooh: Compile bank8k without optimisations
Something goes bad in there and way too many gcc_miscompile_workaround's
and kprintf's would otherwise be needed until this is investigated
properly.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:42 +0000 (23:13 +0200)]
New MOOH platform with 8K flexible banks
This is in good enough shape to try out levee :)
Adjusting the program allocation sizes with chmem seems to work fine.
A few TODOs:
The virtual consoles currently overlap with the graphics framebuffer so
using them doesn't look pretty. Trials at moving them fails badly, maybe
related to next issue:
We need to disable interrupts in the code accessing video memory,
because common is not there then. Or deal with this in the interrupt
handlers. Trials at disabling interrupts have not been successful yet.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:41 +0000 (23:13 +0200)]
bank8k: Fix program size/top confusion
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:40 +0000 (23:13 +0200)]
bank8k: When freeing pages we get more free pages
And the other way around.
Also the reporting of free pages was inverted.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:39 +0000 (23:13 +0200)]
start.c: Set u_top before calling ptab_alloc()
Because ptab_alloc calls pagemap_alloc() which in case of
CONFIG_BANK8K would need to know the u_top.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:38 +0000 (23:13 +0200)]
dragon-nx32: Add (un)map video calls in vc_clear()
Just placeholders here, but useful for sharing code.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:37 +0000 (23:13 +0200)]
dragon-nx32: Define VT_ALLBASE to easily move VT framebuffers around
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:36 +0000 (23:13 +0200)]
dragon-nx32: Move low-level video routines to video/videodata sections
Also remove variables that at least for now are constant.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:35 +0000 (23:13 +0200)]
dragon-nx32: Split common text and data
Remove small self-modifying code tricks.
This has at the moment no practical consequence, but it prepares for
some read-only bank tricks in alternative memory arrangements. It also
makes it easier to detect code corruption (under emulation) since we
know exactly which sections should be read-only.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Thu, 13 Sep 2018 21:13:34 +0000 (23:13 +0200)]
dragon-nx32: Resync custom etc files
To keep the delta as small as possible.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Tue, 11 Sep 2018 22:32:54 +0000 (23:32 +0100)]
Makefile: add ports
Alan Cox [Tue, 11 Sep 2018 22:22:17 +0000 (23:22 +0100)]
kernel: small updates to single process platforms
In particular remove some shared stuff and put it in lib
Alan Cox [Tue, 11 Sep 2018 22:20:36 +0000 (23:20 +0100)]
plato: hopefully fix the Makefile
Alan Cox [Tue, 11 Sep 2018 22:19:13 +0000 (23:19 +0100)]
rc2014: remove un-needed devmem drivers
Alan Cox [Tue, 11 Sep 2018 22:00:32 +0000 (23:00 +0100)]
rc2014-tiny: quick debugging session
This seems to kind of work. I'm sure it's not perfect. Anyway it's mostly
intended as a bit of fun
Alan Cox [Tue, 11 Sep 2018 22:00:11 +0000 (23:00 +0100)]
rc2014: don't link stuff we removed
Alan Cox [Tue, 11 Sep 2018 15:00:33 +0000 (16:00 +0100)]
simple: Fix off by one
Alan Cox [Tue, 11 Sep 2018 00:42:11 +0000 (01:42 +0100)]
rc2014-tiny: WIP port to the minimal banked ROM system
This is not a useful port. It's more of a testbed for some ideas and to
clean up the swap only stuff
Alan Cox [Mon, 10 Sep 2018 12:56:37 +0000 (13:56 +0100)]
sam: update TODO list
Alan Cox [Mon, 10 Sep 2018 12:55:18 +0000 (13:55 +0100)]
sam: don't swap the callers IX and IY on a switch it upsets them
Alan Cox [Mon, 10 Sep 2018 12:54:54 +0000 (13:54 +0100)]
sam: allocate process space for the correct number of tasks
Alan Cox [Mon, 10 Sep 2018 12:54:14 +0000 (13:54 +0100)]
bank32k: fix dumb bug
Now we have a user this was rather easy to find!
Alan Cox [Mon, 10 Sep 2018 00:15:09 +0000 (01:15 +0100)]
sam: write the udata stash into the right page
Alan Cox [Sun, 9 Sep 2018 23:58:28 +0000 (00:58 +0100)]
sam: further work on fork
We now correctly (ish) fork() but blow up the next reschedule. That's probably
indicating we have some of the udata handling messed up.
Alan Cox [Sun, 9 Sep 2018 23:19:42 +0000 (00:19 +0100)]
usermem_std-z80-thunked: Fix return codes
With this fixed the Sam port gets as far as fork and then (not unexpectedly)
suffers a terminal existence failure.
Alan Cox [Sun, 9 Sep 2018 23:19:24 +0000 (00:19 +0100)]
netdev: Fix missing prototype
Alan Cox [Sun, 9 Sep 2018 23:19:09 +0000 (00:19 +0100)]
rc2014: turn on networking
Alan Cox [Sun, 9 Sep 2018 23:18:33 +0000 (00:18 +0100)]
syscall_fs: stop sdcc making such a hash of this
Alan Cox [Sun, 9 Sep 2018 23:18:07 +0000 (00:18 +0100)]
w5100: fix some minor bugs, first sketch at accept side
Alan Cox [Sat, 8 Sep 2018 21:01:17 +0000 (22:01 +0100)]
plato: off by one errors in box etc
Alan Cox [Sat, 8 Sep 2018 21:00:56 +0000 (22:00 +0100)]
plato: Fix 6502 build
Alan Cox [Sat, 8 Sep 2018 21:00:39 +0000 (22:00 +0100)]
plato: roughly map the Fuzix keys
Alan Cox [Sat, 8 Sep 2018 21:00:18 +0000 (22:00 +0100)]
plato: add an esc -ctrl Z sequence to get out of it at any time
Alan Cox [Sat, 8 Sep 2018 20:59:29 +0000 (21:59 +0100)]
6502: htons/htonl
Alan Cox [Sat, 8 Sep 2018 20:53:41 +0000 (21:53 +0100)]
sbcv2: Get rid of the boot via CP/M hack and make it bootable
This needs a little care because it's not well documented and also
1. If you tell ROMWBW your loader is from F200 to F3FF it loads all of memory
and goes boom. Tell it F400 and it's ok
2. ROMWBW lacks the notion of an 'I/O bank' so you can't do disk I/O into the
low 32K directly.
That aside ROMWBW has a nice easy interface so the boot loader is quite trivial.
Not quite as trivial as the Microbee but not far off!
Alan Cox [Sat, 8 Sep 2018 15:05:08 +0000 (16:05 +0100)]
fweep: revert WIP accidentally commited in last push
Alan Cox [Sat, 8 Sep 2018 00:26:41 +0000 (01:26 +0100)]
plato: more Makefile hacking and a bug fix
Alan Cox [Sat, 8 Sep 2018 00:17:51 +0000 (01:17 +0100)]
plato: Makefile fix for 6809
Alan Cox [Sat, 8 Sep 2018 00:13:45 +0000 (01:13 +0100)]
aes256: fix build
Alan Cox [Sat, 8 Sep 2018 00:13:16 +0000 (01:13 +0100)]
aes256: look for header the right way
Alan Cox [Sat, 8 Sep 2018 00:07:41 +0000 (01:07 +0100)]
plato: draft trs80 hrg
Alan Cox [Fri, 7 Sep 2018 23:43:53 +0000 (00:43 +0100)]
plato: more fixes and split the 'tgi' code into it's own file.
In theory it's just a case of writing a tgi lib (probably best in asm) for
the various formats we need to deal with.
Alan Cox [Fri, 7 Sep 2018 21:13:14 +0000 (22:13 +0100)]
Applications: update the plato bits, add other Makefiles
Alan Cox [Fri, 7 Sep 2018 21:11:27 +0000 (22:11 +0100)]
Applications: build plato
Alan Cox [Fri, 7 Sep 2018 21:10:53 +0000 (22:10 +0100)]
plato: Add a plato terminal implementation for Fuzix
Lots of clean up needed from the hacked version of Thom's code
Alan Cox [Fri, 7 Sep 2018 21:10:18 +0000 (22:10 +0100)]
sbcv2: and turn on the Wiznet
Alan Cox [Fri, 7 Sep 2018 21:08:55 +0000 (22:08 +0100)]
wiznet; continuing work on the wiznet support
Client should now be fine, server we have to fix the logic to do listen and
accept and it's a bit tricky because the wiznet wants to turn the listening
socket into the connection which BSD sockets doesn't!