FUZIX.git
5 years agoz80pack-lite: Fix a README
Alan Cox [Sat, 29 Sep 2018 22:07:21 +0000 (23:07 +0100)]
z80pack-lite: Fix a README

5 years agosocz80: turn on direct I/O
Alan Cox [Sat, 29 Sep 2018 22:06:55 +0000 (23:06 +0100)]
socz80: turn on direct I/O

5 years agoz280rc: update to match kernel core changes
Alan Cox [Sat, 29 Sep 2018 22:06:18 +0000 (23:06 +0100)]
z280rc: update to match kernel core changes

5 years agoubee: Makefile cleanup tidy
Alan Cox [Sat, 29 Sep 2018 22:05:46 +0000 (23:05 +0100)]
ubee: Makefile cleanup tidy

5 years agotrs80: turn on direct I/O
Alan Cox [Sat, 29 Sep 2018 22:05:23 +0000 (23:05 +0100)]
trs80: turn on direct I/O

5 years agotrs80: Makefile fix cleanup
Alan Cox [Sat, 29 Sep 2018 22:05:10 +0000 (23:05 +0100)]
trs80: Makefile fix cleanup

5 years agosam: update for tty changes
Alan Cox [Sat, 29 Sep 2018 22:03:54 +0000 (23:03 +0100)]
sam: update for tty changes

5 years agoz180: note a safe case
Alan Cox [Sat, 29 Sep 2018 22:03:13 +0000 (23:03 +0100)]
z180: note a safe case

5 years agozetav2: update to match core changes
Alan Cox [Sat, 29 Sep 2018 15:26:17 +0000 (16:26 +0100)]
zetav2: update to match core changes

5 years agopcw8256: update to match core changes
Alan Cox [Sat, 29 Sep 2018 15:25:41 +0000 (16:25 +0100)]
pcw8256: update to match core changes

5 years agonascom: update to match core changes
Alan Cox [Sat, 29 Sep 2018 15:25:17 +0000 (16:25 +0100)]
nascom: update to match core changes

5 years agom8vem/p112: update to new core
Alan Cox [Sat, 29 Sep 2018 15:23:45 +0000 (16:23 +0100)]
m8vem/p112: update to new core

5 years agomsx2: sync with core changes
Alan Cox [Sat, 29 Sep 2018 15:23:22 +0000 (16:23 +0100)]
msx2: sync with core changes

5 years agomsx1: sync with core changes
Alan Cox [Sat, 29 Sep 2018 15:23:05 +0000 (16:23 +0100)]
msx1: sync with core changes

5 years agomicropack: sync with core changes
Alan Cox [Sat, 29 Sep 2018 15:22:42 +0000 (16:22 +0100)]
micropack: sync with core changes

5 years agoamstradnc: update to match core changes
Alan Cox [Sat, 29 Sep 2018 15:22:09 +0000 (16:22 +0100)]
amstradnc: update to match core changes

5 years agolowlevel-z80: further work on the interrupt changes
Alan Cox [Sat, 29 Sep 2018 15:21:32 +0000 (16:21 +0100)]
lowlevel-z80: further work on the interrupt changes

Fix up the logic for signals and interrupt paths

5 years agoz80: update library code for interrupt handling change
Alan Cox [Sat, 29 Sep 2018 15:21:11 +0000 (16:21 +0100)]
z80: update library code for interrupt handling change

5 years agoz180: update helpers to new feature set
Alan Cox [Sat, 29 Sep 2018 15:20:34 +0000 (16:20 +0100)]
z180: update helpers to new feature set

5 years agorc2014: import the needed int_disabled flag
Alan Cox [Fri, 28 Sep 2018 23:04:44 +0000 (00:04 +0100)]
rc2014: import the needed int_disabled flag

5 years agov68: update for tty prototype
Alan Cox [Fri, 28 Sep 2018 23:03:44 +0000 (00:03 +0100)]
v68: update for tty prototype

5 years ago65c816:update to new tty prototype
Alan Cox [Fri, 28 Sep 2018 23:02:14 +0000 (00:02 +0100)]
65c816:update to new tty prototype

5 years agomulticomp: fix for tty prototype change
Alan Cox [Fri, 28 Sep 2018 23:00:12 +0000 (00:00 +0100)]
multicomp: fix for tty prototype change

5 years agodragon-nx32: update to new tty prototype
Alan Cox [Fri, 28 Sep 2018 22:59:11 +0000 (23:59 +0100)]
dragon-nx32: update to new tty prototype

5 years agoz80pack: update to new behaviours
Alan Cox [Fri, 28 Sep 2018 22:42:57 +0000 (23:42 +0100)]
z80pack: update to new behaviours

5 years agoubee: update to new behaviour
Alan Cox [Fri, 28 Sep 2018 22:39:05 +0000 (23:39 +0100)]
ubee: update to new behaviour

5 years agotrs80: update to match changed behaviour
Alan Cox [Fri, 28 Sep 2018 22:38:44 +0000 (23:38 +0100)]
trs80: update to match changed behaviour

5 years agosocz80: update to new behaviour
Alan Cox [Fri, 28 Sep 2018 22:38:07 +0000 (23:38 +0100)]
socz80: update to new behaviour

5 years agosbcv2: update to new behaviours
Alan Cox [Fri, 28 Sep 2018 22:37:41 +0000 (23:37 +0100)]
sbcv2: update to new behaviours

5 years agorc2014-tiny: update to new behaviours
Alan Cox [Fri, 28 Sep 2018 22:37:25 +0000 (23:37 +0100)]
rc2014-tiny: update to new behaviours

5 years agorc2014: update to the new behaviour (and update README)
Alan Cox [Fri, 28 Sep 2018 22:37:07 +0000 (23:37 +0100)]
rc2014: update to the new behaviour (and update README)

5 years agonc100: update to the new behaviours
Alan Cox [Fri, 28 Sep 2018 22:36:54 +0000 (23:36 +0100)]
nc100: update to the new behaviours

5 years agomtx: update to the new behaviours
Alan Cox [Fri, 28 Sep 2018 22:36:38 +0000 (23:36 +0100)]
mtx: update to the new behaviours

5 years agolowlevel-z80: switch our handling of interrupts
Alan Cox [Fri, 28 Sep 2018 22:34:08 +0000 (23:34 +0100)]
lowlevel-z80: switch our handling of interrupts

This has implications for all platforms and breaks everything but it's worth
the pain to avoid dealing with the NMOS crawly interrupt horrors.

While breaking everything also introduce _di versions of the map functions
to allow problematic platforms to shortcut having to IRQ disable in these
cases (which are also the fast paths)

As we always save and map kernel fold those into one to optimize the IRQ
path a shade.

5 years agoz80pack: tty prototype
Alan Cox [Fri, 28 Sep 2018 22:33:44 +0000 (23:33 +0100)]
z80pack: tty prototype

5 years agoMakefile:move on to 0.3-pre
Alan Cox [Fri, 28 Sep 2018 22:32:44 +0000 (23:32 +0100)]
Makefile:move on to 0.3-pre

5 years agoplatforms: more config.h updates for no platform_copyright
Alan Cox [Fri, 28 Sep 2018 20:23:34 +0000 (21:23 +0100)]
platforms: more config.h updates for no platform_copyright

5 years agoplatforms: update lots of them with a blank platform_copyright
Alan Cox [Fri, 28 Sep 2018 20:23:02 +0000 (21:23 +0100)]
platforms: update lots of them with a blank platform_copyright

5 years agokernel: add platform_copyright()
Alan Cox [Fri, 28 Sep 2018 20:20:41 +0000 (21:20 +0100)]
kernel: add platform_copyright()

This gives somewhere for platform authors to add a copyright note when they've
done masses of platform work but not touched the core much.

Or for that matter print some other platform important early info...

5 years agomsx1: update to new tty prototype
Alan Cox [Fri, 28 Sep 2018 20:20:06 +0000 (21:20 +0100)]
msx1: update to new tty prototype

5 years agoz80pack: update to new tty_setup
Alan Cox [Fri, 28 Sep 2018 20:19:24 +0000 (21:19 +0100)]
z80pack: update to new tty_setup

5 years agotty: add an argument to tty_setup
Alan Cox [Fri, 28 Sep 2018 20:18:44 +0000 (21:18 +0100)]
tty: add an argument to tty_setup

We need this to allow platforms to choose to implement tty output buffering

5 years agofsck: move the looping into the helper
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

5 years agomkfs: use the system headers
Alan Cox [Fri, 28 Sep 2018 20:17:27 +0000 (21:17 +0100)]
mkfs: use the system headers

5 years agofslabel: add new tool
Alan Cox [Fri, 28 Sep 2018 20:17:11 +0000 (21:17 +0100)]
fslabel: add new tool

5 years agosuper.h: need to define blkno_t
Alan Cox [Fri, 28 Sep 2018 20:16:21 +0000 (21:16 +0100)]
super.h: need to define blkno_t

5 years agosscanf: scanned string is const
Alan Cox [Fri, 28 Sep 2018 20:15:47 +0000 (21:15 +0100)]
sscanf: scanned string is const

Correct us to match POSIX prototypes

5 years agoz80: build cartman
Alan Cox [Fri, 28 Sep 2018 12:03:48 +0000 (13:03 +0100)]
z80: build cartman

5 years agotools: add cartman
Alan Cox [Fri, 28 Sep 2018 12:03:26 +0000 (13:03 +0100)]
tools: add cartman

Tool to build our MSX cartridge

5 years agomsx1: revisit this platform
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.

5 years agoRELEASE_NOTES: spell MOOH properly
Alan Cox [Mon, 24 Sep 2018 22:20:36 +0000 (23:20 +0100)]
RELEASE_NOTES: spell MOOH properly

5 years agostandalone: update a couple of bits that should have made 0.2
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

6 years agoswap: fix a nasty little bug
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

6 years agobinmunge: improve debug info
Alan Cox [Fri, 21 Sep 2018 22:40:52 +0000 (23:40 +0100)]
binmunge: improve debug info

6 years agotrs80m1: rework the code to avoid banking fixup problems
Alan Cox [Fri, 21 Sep 2018 22:40:21 +0000 (23:40 +0100)]
trs80m1: rework the code to avoid banking fixup problems

6 years agobankfixed: improve debug
Alan Cox [Fri, 21 Sep 2018 22:40:07 +0000 (23:40 +0100)]
bankfixed: improve debug

6 years agoRelease notes
Alan Cox [Fri, 21 Sep 2018 21:09:05 +0000 (22:09 +0100)]
Release notes

6 years agoFuzix: Version to 0.2
Alan Cox [Fri, 21 Sep 2018 21:04:50 +0000 (22:04 +0100)]
Fuzix: Version to 0.2

6 years agosbcv2: now boots directly so fix the docs
Alan Cox [Fri, 21 Sep 2018 21:04:31 +0000 (22:04 +0100)]
sbcv2: now boots directly so fix the docs

6 years agofsck: slow down the whirly wotsit
Alan Cox [Fri, 21 Sep 2018 21:03:06 +0000 (22:03 +0100)]
fsck: slow down the whirly wotsit

6 years agotimer: handle fast clocks
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.

6 years agosyscall_other: add support for suspend/resume
Alan Cox [Thu, 20 Sep 2018 00:53:50 +0000 (01:53 +0100)]
syscall_other: add support for suspend/resume

6 years agorc2014-tiny: remove stale debug
Alan Cox [Thu, 20 Sep 2018 00:53:37 +0000 (01:53 +0100)]
rc2014-tiny: remove stale debug

6 years agonascom: add support for tickless mode
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!

6 years agoz80: change exec startup behaviour to use DE for bank info
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.

6 years agokernel: add header for suspend/resume
Alan Cox [Thu, 20 Sep 2018 00:50:50 +0000 (01:50 +0100)]
kernel: add header for suspend/resume

6 years agofcc/libs: complete support for relocatable binaries
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

6 years agosyscalls: add suspend/resume flag
Alan Cox [Thu, 20 Sep 2018 00:49:55 +0000 (01:49 +0100)]
syscalls: add suspend/resume flag

6 years agobank8K: take a pass at fixing all the broken assumptions in bank8k
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 !

6 years agobank8K: document assumptions better
Alan Cox [Sun, 16 Sep 2018 22:23:20 +0000 (23:23 +0100)]
bank8K: document assumptions better

6 years agoRevert "bank8k: Fix program size/top confusion"
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

6 years agofweep: take some more steps towards working on 8bit machines
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

6 years agoINSTALL: add warning about yacc v bison, fix sdcc recommendation
Alan Cox [Sun, 16 Sep 2018 16:56:15 +0000 (17:56 +0100)]
INSTALL: add warning about yacc v bison, fix sdcc recommendation

6 years agotools: add relocatable binary support
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.

6 years agoplato: remove unused variable
Alan Cox [Sun, 16 Sep 2018 14:56:22 +0000 (15:56 +0100)]
plato: remove unused variable

6 years agorc2014: remove last bits of ramdisk crud
Alan Cox [Sun, 16 Sep 2018 14:55:41 +0000 (15:55 +0100)]
rc2014: remove last bits of ramdisk crud

6 years agofcc: error unknown platform -t options
Alan Cox [Sun, 16 Sep 2018 13:25:08 +0000 (14:25 +0100)]
fcc: error unknown platform -t options

6 years agorc2014: remove last vestigates of unneeded ramdisk support
Alan Cox [Sun, 16 Sep 2018 12:51:15 +0000 (13:51 +0100)]
rc2014: remove last vestigates of unneeded ramdisk support

6 years agorc2014-tiny: set cpu type correctly
Alan Cox [Sun, 16 Sep 2018 12:37:31 +0000 (13:37 +0100)]
rc2014-tiny: set cpu type correctly

6 years agosc108: Always a CMOS CPU
Alan Cox [Sun, 16 Sep 2018 12:35:03 +0000 (13:35 +0100)]
sc108: Always a CMOS CPU

6 years agosc108 & sam: Fix signal handling crash
Alan Cox [Sun, 16 Sep 2018 12:22:31 +0000 (13:22 +0100)]
sc108 & sam: Fix signal handling crash

6 years agotickless: fix dumb bug propogated across multiple platforms
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.

6 years agosc108: Testing the thunking code on a machine with no common RAM
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.

6 years agosimple: explain why we don't worry about disk read versus memory clear
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.

6 years agosam: fix comment
Alan Cox [Sat, 15 Sep 2018 23:44:05 +0000 (00:44 +0100)]
sam: fix comment

6 years agobinman: fix another off by one
Alan Cox [Sat, 15 Sep 2018 23:24:47 +0000 (00:24 +0100)]
binman: fix another off by one

6 years agorc2014-tiny: remove unused value
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

6 years agoz80single: fix an unused reference and duplicated includes
Alan Cox [Sat, 15 Sep 2018 23:23:10 +0000 (00:23 +0100)]
z80single: fix an unused reference and duplicated includes

6 years agoeg64: not the different banker types
Alan Cox [Sat, 15 Sep 2018 23:22:48 +0000 (00:22 +0100)]
eg64: not the different banker types

6 years agoz80: allow for the HIGH block to be in different places
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

6 years agosam: fix a typo and add a macro we'll need to generalize the thunked code
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

6 years agorc2014tiny: remove devinput.h we don't use it
Alan Cox [Sat, 15 Sep 2018 23:20:37 +0000 (00:20 +0100)]
rc2014tiny: remove devinput.h we don't use it

6 years agoFrom: Tormod Volden <debian.tormod@gmail.com>
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)

6 years agodragon-mooh: Remove unused file that slipped in
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>
6 years agodragon-mooh: Build and use DECB patcher for kernel image
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>
6 years agodragon-mooh: Compile bank8k without optimisations
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>
6 years agoNew MOOH platform with 8K flexible banks
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>
6 years agobank8k: Fix program size/top confusion
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>
6 years agobank8k: When freeing pages we get more free pages
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>
6 years agostart.c: Set u_top before calling ptab_alloc()
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>