FUZIX.git
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>
6 years agodragon-nx32: Add (un)map video calls in vc_clear()
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>
6 years agodragon-nx32: Define VT_ALLBASE to easily move VT framebuffers around
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>
6 years agodragon-nx32: Move low-level video routines to video/videodata sections
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>
6 years agodragon-nx32: Split common text and data
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>
6 years agodragon-nx32: Resync custom etc files
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>
6 years agoMakefile: add ports
Alan Cox [Tue, 11 Sep 2018 22:32:54 +0000 (23:32 +0100)]
Makefile: add ports

6 years agokernel: small updates to single process platforms
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

6 years agoplato: hopefully fix the Makefile
Alan Cox [Tue, 11 Sep 2018 22:20:36 +0000 (23:20 +0100)]
plato: hopefully fix the Makefile

6 years agorc2014: remove un-needed devmem drivers
Alan Cox [Tue, 11 Sep 2018 22:19:13 +0000 (23:19 +0100)]
rc2014: remove un-needed devmem drivers

6 years agorc2014-tiny: quick debugging session
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

6 years agorc2014: don't link stuff we removed
Alan Cox [Tue, 11 Sep 2018 22:00:11 +0000 (23:00 +0100)]
rc2014: don't link stuff we removed

6 years agosimple: Fix off by one
Alan Cox [Tue, 11 Sep 2018 15:00:33 +0000 (16:00 +0100)]
simple: Fix off by one

6 years agorc2014-tiny: WIP port to the minimal banked ROM system
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

6 years agosam: update TODO list
Alan Cox [Mon, 10 Sep 2018 12:56:37 +0000 (13:56 +0100)]
sam: update TODO list

6 years agosam: don't swap the callers IX and IY on a switch it upsets them
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

6 years agosam: allocate process space for the correct number of tasks
Alan Cox [Mon, 10 Sep 2018 12:54:54 +0000 (13:54 +0100)]
sam: allocate process space for the correct number of tasks

6 years agobank32k: fix dumb bug
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!

6 years agosam: write the udata stash into the right page
Alan Cox [Mon, 10 Sep 2018 00:15:09 +0000 (01:15 +0100)]
sam: write the udata stash into the right page

6 years agosam: further work on fork
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.

6 years agousermem_std-z80-thunked: Fix return codes
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.

6 years agonetdev: Fix missing prototype
Alan Cox [Sun, 9 Sep 2018 23:19:24 +0000 (00:19 +0100)]
netdev: Fix missing prototype

6 years agorc2014: turn on networking
Alan Cox [Sun, 9 Sep 2018 23:19:09 +0000 (00:19 +0100)]
rc2014: turn on networking

6 years agosyscall_fs: stop sdcc making such a hash of this
Alan Cox [Sun, 9 Sep 2018 23:18:33 +0000 (00:18 +0100)]
syscall_fs: stop sdcc making such a hash of this

6 years agow5100: fix some minor bugs, first sketch at accept side
Alan Cox [Sun, 9 Sep 2018 23:18:07 +0000 (00:18 +0100)]
w5100: fix some minor bugs, first sketch at accept side

6 years agoplato: off by one errors in box etc
Alan Cox [Sat, 8 Sep 2018 21:01:17 +0000 (22:01 +0100)]
plato: off by one errors in box etc

6 years agoplato: Fix 6502 build
Alan Cox [Sat, 8 Sep 2018 21:00:56 +0000 (22:00 +0100)]
plato: Fix 6502 build

6 years agoplato: roughly map the Fuzix keys
Alan Cox [Sat, 8 Sep 2018 21:00:39 +0000 (22:00 +0100)]
plato: roughly map the Fuzix keys

6 years agoplato: add an esc -ctrl Z sequence to get out of it at any time
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

6 years ago6502: htons/htonl
Alan Cox [Sat, 8 Sep 2018 20:59:29 +0000 (21:59 +0100)]
6502: htons/htonl

6 years agosbcv2: Get rid of the boot via CP/M hack and make it bootable
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!

6 years agofweep: revert WIP accidentally commited in last push
Alan Cox [Sat, 8 Sep 2018 15:05:08 +0000 (16:05 +0100)]
fweep: revert WIP accidentally commited in last push

6 years agoplato: more Makefile hacking and a bug fix
Alan Cox [Sat, 8 Sep 2018 00:26:41 +0000 (01:26 +0100)]
plato: more Makefile hacking and a bug fix

6 years agoplato: Makefile fix for 6809
Alan Cox [Sat, 8 Sep 2018 00:17:51 +0000 (01:17 +0100)]
plato: Makefile fix for 6809

6 years agoaes256: fix build
Alan Cox [Sat, 8 Sep 2018 00:13:45 +0000 (01:13 +0100)]
aes256: fix build

6 years agoaes256: look for header the right way
Alan Cox [Sat, 8 Sep 2018 00:13:16 +0000 (01:13 +0100)]
aes256: look for header the right way

6 years agoplato: draft trs80 hrg
Alan Cox [Sat, 8 Sep 2018 00:07:41 +0000 (01:07 +0100)]
plato: draft trs80 hrg

6 years agoplato: more fixes and split the 'tgi' code into it's own file.
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.

6 years agoApplications: update the plato bits, add other Makefiles
Alan Cox [Fri, 7 Sep 2018 21:13:14 +0000 (22:13 +0100)]
Applications: update the plato bits, add other Makefiles

6 years agoApplications: build plato
Alan Cox [Fri, 7 Sep 2018 21:11:27 +0000 (22:11 +0100)]
Applications: build plato

6 years agoplato: Add a plato terminal implementation for Fuzix
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

6 years agosbcv2: and turn on the Wiznet
Alan Cox [Fri, 7 Sep 2018 21:10:18 +0000 (22:10 +0100)]
sbcv2: and turn on the Wiznet

6 years agowiznet; continuing work on the wiznet support
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!

6 years agoplato: Add the plato term hacks
Alan Cox [Fri, 7 Sep 2018 18:34:04 +0000 (19:34 +0100)]
plato: Add the plato term hacks

It's currently set up for a giant ascii vt100 console and directly codes
the irata.online address.

Very much a beginning

6 years agolibc: add aes256 library support
Alan Cox [Fri, 7 Sep 2018 11:46:14 +0000 (12:46 +0100)]
libc: add aes256 library support

This is Ilya Levin's compact AES256. It's not the fastest. It may be worth
looking further at tinycrypt but last time I looked it wasn't 8bit micro clean

6 years agosbcv2: turn on networking support options
Alan Cox [Fri, 7 Sep 2018 01:32:56 +0000 (02:32 +0100)]
sbcv2: turn on networking support options

6 years agonet_wiznet: initial Wiznet 5100 support
Alan Cox [Fri, 7 Sep 2018 01:30:26 +0000 (02:30 +0100)]
net_wiznet: initial Wiznet 5100 support

Some elements of the code come under the category of 'sufficiently rigged demo'
but as a basis it seems to be workable now.

6 years agoinode: fix incorrect socket write return
Alan Cox [Fri, 7 Sep 2018 01:28:19 +0000 (02:28 +0100)]
inode: fix incorrect socket write return

Telnet now works again

6 years agosyscall_net: Fix throttle masking
Alan Cox [Fri, 7 Sep 2018 01:27:44 +0000 (02:27 +0100)]
syscall_net: Fix throttle masking

6 years agorc2014: move CTC
Alan Cox [Wed, 5 Sep 2018 21:17:28 +0000 (22:17 +0100)]
rc2014: move CTC

The CF card is partial decode so shadows 0x90 as well as 0x10. Use 0x88 instead

6 years agofsck-fuzix: fix consts
Alan Cox [Mon, 3 Sep 2018 23:18:10 +0000 (00:18 +0100)]
fsck-fuzix: fix consts

6 years agocrt0: remove long obsolete bss clears - the kernel does them
Alan Cox [Mon, 3 Sep 2018 22:08:08 +0000 (23:08 +0100)]
crt0: remove long obsolete bss clears - the kernel does them

6 years agosyscall_proc: make brk() error more useful, stop brk below base
Alan Cox [Mon, 3 Sep 2018 20:21:26 +0000 (21:21 +0100)]
syscall_proc: make brk() error more useful, stop brk below base

6 years agomntent.h: changes for the new APIs
Alan Cox [Mon, 3 Sep 2018 20:18:41 +0000 (21:18 +0100)]
mntent.h: changes for the new APIs

6 years agoz280rc: note zz80rc difference
Alan Cox [Mon, 3 Sep 2018 20:18:14 +0000 (21:18 +0100)]
z280rc: note zz80rc difference

6 years agorc2014: we are ready to do the swap logic but not yet there
Alan Cox [Mon, 3 Sep 2018 20:17:24 +0000 (21:17 +0100)]
rc2014: we are ready to do the swap logic but not yet there

6 years agosbcv2: init the ds1302 properly
Alan Cox [Mon, 3 Sep 2018 20:17:03 +0000 (21:17 +0100)]
sbcv2: init the ds1302 properly

6 years agocpuinfo: Fix scf check logic
Alan Cox [Mon, 3 Sep 2018 20:16:26 +0000 (21:16 +0100)]
cpuinfo: Fix scf check logic

6 years agorc2014: RTC, tickless and swap work
Alan Cox [Mon, 3 Sep 2018 17:34:41 +0000 (18:34 +0100)]
rc2014: RTC, tickless and swap work

Swap isn't yet completed but the RTC and tickless should now work

6 years agorc2014: link in ds1302 support
Alan Cox [Mon, 3 Sep 2018 17:33:12 +0000 (18:33 +0100)]
rc2014: link in ds1302 support

6 years agorc2014: ds1302 variant
Alan Cox [Mon, 3 Sep 2018 17:32:58 +0000 (18:32 +0100)]
rc2014: ds1302 variant

6 years agorc2014: Get us to the point we are up and running
Alan Cox [Mon, 3 Sep 2018 00:17:35 +0000 (01:17 +0100)]
rc2014: Get us to the point we are up and running

Currently SIO only while I debug the hardware probing logic.

This is running without timer interrupts or rtc sync so the whole thing is
a bit wobbly and won't keep time etc yet.

6 years agorc2014: correct SIO probe
Alan Cox [Sun, 2 Sep 2018 23:17:35 +0000 (00:17 +0100)]
rc2014: correct SIO probe

This gets us to the point of bootdev: but then life goes downhill.

6 years agolibs: add the big 65c816 config
Alan Cox [Sun, 2 Sep 2018 21:04:17 +0000 (22:04 +0100)]
libs: add the big 65c816 config

6 years agohc11: commit wip bits
Alan Cox [Sun, 2 Sep 2018 21:02:18 +0000 (22:02 +0100)]
hc11: commit wip bits

6 years agopx4plus: push WIP stuff ready for 0.2
Alan Cox [Sun, 2 Sep 2018 20:59:41 +0000 (21:59 +0100)]
px4plus: push WIP stuff ready for 0.2

6 years agonascom: commit the vt work in progress ready for 0.2
Alan Cox [Sun, 2 Sep 2018 20:58:21 +0000 (21:58 +0100)]
nascom: commit the vt work in progress ready for 0.2

6 years agogenie-eg64: push work in progress ready for 0.2
Alan Cox [Sun, 2 Sep 2018 20:55:00 +0000 (21:55 +0100)]
genie-eg64: push work in progress ready for 0.2

6 years agocromemco: commit initial pieces on the udata side
Alan Cox [Sun, 2 Sep 2018 20:53:08 +0000 (21:53 +0100)]
cromemco: commit initial pieces on the udata side

We need to revisit all this due to the lack of a true common

6 years agor2000/r3000/r3000a: initial guess at tricks
Alan Cox [Sun, 2 Sep 2018 20:51:29 +0000 (21:51 +0100)]
r2000/r3000/r3000a: initial guess at tricks

6 years agor2000/r3000/r3000a: add initial guess at low level code
Alan Cox [Sun, 2 Sep 2018 20:51:01 +0000 (21:51 +0100)]
r2000/r3000/r3000a: add initial guess at low level code

6 years agor2000: add initial usermem
Alan Cox [Sun, 2 Sep 2018 20:50:00 +0000 (21:50 +0100)]
r2000: add initial usermem

6 years agoStandalone: update to use the new $ROOT
Alan Cox [Sun, 2 Sep 2018 20:48:30 +0000 (21:48 +0100)]
Standalone: update to use the new $ROOT

(Thanks Tormod for reminding me to push the commit...)

6 years agoKernel: commit the rest of propio and ds1302 support for RBC
Alan Cox [Sun, 2 Sep 2018 20:47:36 +0000 (21:47 +0100)]
Kernel: commit the rest of propio and ds1302 support for RBC

SBCv2 should now build from git.

6 years agoz80: Fix build for systems using the generic support
Alan Cox [Sun, 2 Sep 2018 20:46:33 +0000 (21:46 +0100)]
z80: Fix build for systems using the generic support

6 years agoz280: set the MMU pages as valid and cacheable
Alan Cox [Sun, 2 Sep 2018 17:37:56 +0000 (18:37 +0100)]
z280: set the MMU pages as valid and cacheable

6 years agoinvaders: build rule fix
Alan Cox [Sun, 2 Sep 2018 13:49:20 +0000 (14:49 +0100)]
invaders: build rule fix

6 years agogames: package the fortune data file
Alan Cox [Sun, 2 Sep 2018 13:27:35 +0000 (14:27 +0100)]
games: package the fortune data file

6 years agoinit: reprompt login: if blank user name
Alan Cox [Sun, 2 Sep 2018 13:24:47 +0000 (14:24 +0100)]
init: reprompt login: if blank user name

6 years agofsck-fuzix: blow 90 bytes on a progress indicator
Alan Cox [Sun, 2 Sep 2018 00:20:17 +0000 (01:20 +0100)]
fsck-fuzix: blow 90 bytes on a progress indicator

6 years agofsck: not exec optimization work to do
Alan Cox [Sun, 2 Sep 2018 00:09:03 +0000 (01:09 +0100)]
fsck: not exec optimization work to do

6 years agorc: simplify using mount changes
Alan Cox [Sun, 2 Sep 2018 00:07:35 +0000 (01:07 +0100)]
rc: simplify using mount changes

6 years agoutils: teach fsck mount and remount about the root name
Alan Cox [Sun, 2 Sep 2018 00:05:34 +0000 (01:05 +0100)]
utils: teach fsck mount and remount about the root name

This allows us to stop all the substroot stuff as with fsck split we now have
enough space. This actually turns the whole thing into a win. We trade the
extra exec's of substroot for a fork/exec of fsck.

Not only that but with a bit of thought we can later optimise the single
case fsck to kill the fork off

6 years agolibc: add some extensions for logical names in fstab
Alan Cox [Sun, 2 Sep 2018 00:04:55 +0000 (01:04 +0100)]
libc: add some extensions for logical names in fstab

For now just $ROOT. We'll save stuff like UUID's for the far future if ever