FUZIX.git
5 years agoChanges to get platform-v8080 running again master
Nick Downing [Sun, 21 Apr 2019 05:31:42 +0000 (15:31 +1000)]
Changes to get platform-v8080 running again

5 years agozx+3: fix a missing clear and a typo
Alan Cox [Tue, 16 Apr 2019 22:58:11 +0000 (23:58 +0100)]
zx+3: fix a missing clear and a typo

5 years agolibc: more optmization on 8080/5
Alan Cox [Tue, 16 Apr 2019 22:57:39 +0000 (23:57 +0100)]
libc: more optmization on 8080/5

We can't turn this on for apps as it makes the compiler core dump

5 years ago8085: add hooks for magic Z80 M1 emulation
Alan Cox [Tue, 16 Apr 2019 22:57:09 +0000 (23:57 +0100)]
8085: add hooks for magic Z80 M1 emulation

5 years agodocs: add a bit more stuff
Alan Cox [Tue, 16 Apr 2019 22:56:07 +0000 (23:56 +0100)]
docs: add a bit more stuff

5 years agovt: mention cursor_disable
Alan Cox [Fri, 12 Apr 2019 21:47:08 +0000 (22:47 +0100)]
vt: mention cursor_disable

5 years agomalloc: remove dead define references
Alan Cox [Fri, 12 Apr 2019 21:46:58 +0000 (22:46 +0100)]
malloc: remove dead define references

5 years agoflat: remove dead define references
Alan Cox [Fri, 12 Apr 2019 21:46:45 +0000 (22:46 +0100)]
flat: remove dead define references

5 years agodocs: carry on building some kind of documentation tree
Alan Cox [Fri, 12 Apr 2019 21:46:32 +0000 (22:46 +0100)]
docs: carry on building some kind of documentation tree

5 years agodocs: start adding the memory manager docs
Alan Cox [Fri, 12 Apr 2019 13:04:55 +0000 (14:04 +0100)]
docs: start adding the memory manager docs

5 years agoINSTALL: mention Ubuntu as well as Debian having broken yacc defaults
Alan Cox [Fri, 12 Apr 2019 11:03:52 +0000 (12:03 +0100)]
INSTALL: mention Ubuntu as well as Debian having broken yacc defaults

5 years agodocs: Use sphinx and start to bash the documents into a coherent form
Alan Cox [Thu, 11 Apr 2019 23:35:35 +0000 (00:35 +0100)]
docs: Use sphinx and start to bash the documents into a coherent form

Yes they need major surgery on the formatting.

5 years agotrs80m1: fix typo
Alan Cox [Thu, 11 Apr 2019 23:34:42 +0000 (00:34 +0100)]
trs80m1: fix typo

5 years agoscorpion: Fix typo
Alan Cox [Thu, 11 Apr 2019 23:34:24 +0000 (00:34 +0100)]
scorpion: Fix typo

5 years agomsx1: note where we need to do work on subslots
Alan Cox [Thu, 11 Apr 2019 23:33:56 +0000 (00:33 +0100)]
msx1: note where we need to do work on subslots

5 years agofuzix: add the descr file for ack to the tree for now
Alan Cox [Thu, 11 Apr 2019 23:33:00 +0000 (00:33 +0100)]
fuzix: add the descr file for ack to the tree for now

5 years agomsx1: ROM probing for cards
Alan Cox [Sun, 7 Apr 2019 19:27:55 +0000 (20:27 +0100)]
msx1: ROM probing for cards

We can now autodetect the IDE controller by ROM (if you have the same ROM anyway
other identifiers may well be needed).

5 years agomsx1: add another debug marker
Alan Cox [Sun, 7 Apr 2019 19:27:08 +0000 (20:27 +0100)]
msx1: add another debug marker

5 years agomsx1: update README
Alan Cox [Sun, 7 Apr 2019 12:42:17 +0000 (13:42 +0100)]
msx1: update README

Things kind of work now - we have shell and logins and can run stuff, but it
probably still has plenty of bugs left to find

5 years agosunrise: redo the bounce buffer logic
Alan Cox [Sun, 7 Apr 2019 12:38:16 +0000 (13:38 +0100)]
sunrise: redo the bounce buffer logic

We can't just use tmpbuf because there might not be a free buffer and we'd
then get into a mess recursing through our I/O subystem. Instead grab a bit
of spare high memory for the moment.

Once the buffer reclaim logic is added we will turn discard and friends into
buffers but keep the last 512 bytes before FFFF as a bounce buffer that drivers
can share.

(FFFF itself is slot switching so magic and reserved)

5 years agomsx1: move platform_discard into the right place
Alan Cox [Sun, 7 Apr 2019 12:23:21 +0000 (13:23 +0100)]
msx1: move platform_discard into the right place

It might otherwise discard itself once we add the recovery logic

5 years agomsx1: use the first disk buffer as the bounce for the vector copy
Alan Cox [Sun, 7 Apr 2019 11:50:20 +0000 (12:50 +0100)]
msx1: use the first disk buffer as the bounce for the vector copy

5 years agomsx1: custom user copy routines
Alan Cox [Sun, 7 Apr 2019 11:48:46 +0000 (12:48 +0100)]
msx1: custom user copy routines

We know the kernel side will always be mapped so we can do much simpler user
copiers which is important because the bank switch is so incredibly expensive.

The actual code is from SBCv2 so we should probably unify this into a standard
'always mapped' lib helper

5 years agomsx1: do the vector copy earlier
Alan Cox [Sun, 7 Apr 2019 11:47:44 +0000 (12:47 +0100)]
msx1: do the vector copy earlier

5 years agomsx.h: add copy_vectors prototype
Alan Cox [Sun, 7 Apr 2019 11:47:10 +0000 (12:47 +0100)]
msx.h: add copy_vectors prototype

5 years agosunrise: remove some noisy debug
Alan Cox [Sun, 7 Apr 2019 10:41:36 +0000 (11:41 +0100)]
sunrise: remove some noisy debug

5 years agosunrise: fix incorrect LBA setup
Alan Cox [Sun, 7 Apr 2019 10:41:14 +0000 (11:41 +0100)]
sunrise: fix incorrect LBA setup

5 years agomsx1: put the top of process memory back right for swap
Alan Cox [Sun, 7 Apr 2019 10:40:33 +0000 (11:40 +0100)]
msx1: put the top of process memory back right for swap

We are using split udata so shouldn't account for udata there

5 years agomsx1: move the constant area into the 16K RAM
Alan Cox [Sun, 7 Apr 2019 10:39:28 +0000 (11:39 +0100)]
msx1: move the constant area into the 16K RAM

This has a cost in space terms but means that anything we might copy to or from
user space is now >= 0xC000, which means it will always be mapped so we can just
ldir blocks when doing uput/uget.

As the bank switching on MSX is so chronically slow this is important

5 years agocartman: teach it that bigger is ok
Alan Cox [Sun, 7 Apr 2019 10:39:07 +0000 (11:39 +0100)]
cartman: teach it that bigger is ok

5 years agomsx1: allow for more load space
Alan Cox [Sun, 7 Apr 2019 10:38:37 +0000 (11:38 +0100)]
msx1: allow for more load space

Once we've used the ROM services we move our sp up high and save just the stuff
we need at 0xFCxx

5 years agosunrise: remove asm debug
Alan Cox [Sat, 6 Apr 2019 23:54:10 +0000 (00:54 +0100)]
sunrise: remove asm debug

5 years agomsx1: don't need to save AF around the map_kernel_di
Alan Cox [Sat, 6 Apr 2019 23:53:42 +0000 (00:53 +0100)]
msx1: don't need to save AF around the map_kernel_di

5 years agomsx1: fix register trashing bugs in the map logic
Alan Cox [Sat, 6 Apr 2019 23:52:50 +0000 (00:52 +0100)]
msx1: fix register trashing bugs in the map logic

5 years agosunrise: take out some debug in the C code
Alan Cox [Sat, 6 Apr 2019 23:52:33 +0000 (00:52 +0100)]
sunrise: take out some debug in the C code

5 years agomsx1: add the syscall vector
Alan Cox [Sat, 6 Apr 2019 23:52:14 +0000 (00:52 +0100)]
msx1: add the syscall vector

This helps a lot 8)

5 years agoconfig: tweaks and fix swap range
Alan Cox [Sat, 6 Apr 2019 21:40:01 +0000 (22:40 +0100)]
config: tweaks and fix swap range

Once we get that far we will need to swap the udata not just process image

5 years agovisualize: add some more area types
Alan Cox [Sat, 6 Apr 2019 21:37:54 +0000 (22:37 +0100)]
visualize: add some more area types

5 years agocartman: pack the revised kernel format for MSX
Alan Cox [Sat, 6 Apr 2019 21:37:43 +0000 (22:37 +0100)]
cartman: pack the revised kernel format for MSX

5 years agomsx1: the big rework
Alan Cox [Sat, 6 Apr 2019 21:35:34 +0000 (22:35 +0100)]
msx1: the big rework

- Pull common and discard etc from ROM into C000-FFFF RAM
- Fix missing interrupt disables in mapping functions
- Various mapping bugfixes
- Turn on sunrise (hardcoded location for now for testing)
- Fix the memory layout

With this lot done and some tool updates we can get the point init makes
syscalls although it doesn't end well shortly after that

5 years agosunrise: assorted fixes
Alan Cox [Sat, 6 Apr 2019 21:33:57 +0000 (22:33 +0100)]
sunrise: assorted fixes

With these fixed we can mount the root fs and load stuff from the Sunrise
IDE controller. There are a ton of races with switching and interrupts to
fix after this

5 years agomsx1: we don't have a stash on one process model remove old bits
Alan Cox [Sat, 6 Apr 2019 21:33:12 +0000 (22:33 +0100)]
msx1: we don't have a stash on one process model remove old bits

5 years agosc108: need to support ACIA
Alan Cox [Sun, 31 Mar 2019 21:16:09 +0000 (22:16 +0100)]
sc108: need to support ACIA

5 years agomtx: update README
Alan Cox [Sun, 31 Mar 2019 21:15:47 +0000 (22:15 +0100)]
mtx: update README

Still work to do before we are up and running on the real box and CFII+

5 years ago8080/8085: optimizations that are useful go to -O4
Alan Cox [Sun, 31 Mar 2019 21:15:14 +0000 (22:15 +0100)]
8080/8085: optimizations that are useful go to -O4

5 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 31 Mar 2019 21:14:44 +0000 (22:14 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

5 years agoMerge pull request #697 from beretta42/tar
EtchedPixels [Sun, 31 Mar 2019 21:13:58 +0000 (22:13 +0100)]
Merge pull request #697 from beretta42/tar

Tar take 2

5 years agotar: embolster documentation!
Brett Gordon [Sat, 30 Mar 2019 20:37:28 +0000 (16:37 -0400)]
tar: embolster documentation!

5 years agotar: debug stat problems
Brett Gordon [Sat, 30 Mar 2019 20:28:47 +0000 (16:28 -0400)]
tar: debug stat problems

* Don't report chown failure. (this would bombard non-priv users tty)
* We're storing too much of fuzix's stat.mode in tar header! (see
header.type)
* got to specify some sort of file mode with O_CREAT !

5 years agotar: support block factor for tape
Brett Gordon [Sat, 30 Mar 2019 19:27:00 +0000 (15:27 -0400)]
tar: support block factor for tape

5 years agosyscall_fs2: Add parentheses to fix gcc warning
Tormod Volden [Fri, 15 Mar 2019 21:47:19 +0000 (22:47 +0100)]
syscall_fs2: Add parentheses to fix gcc warning

[Alan's note: This is correct. The condition checks are really confusing and
 probably we should have an in_group type test that includes the egid.]

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
5 years agodragon-mooh: Fix signedness mismatch in vc functions
Tormod Volden [Fri, 15 Mar 2019 21:47:21 +0000 (22:47 +0100)]
dragon-mooh: Fix signedness mismatch in vc functions

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
5 years agofilesys: Fix gcc warning
Tormod Volden [Fri, 15 Mar 2019 21:47:20 +0000 (22:47 +0100)]
filesys: Fix gcc warning

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
5 years agodragon-nx32: Update custom /etc/rc with mount change
Tormod Volden [Fri, 15 Mar 2019 21:47:18 +0000 (22:47 +0100)]
dragon-nx32: Update custom /etc/rc with mount change

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
5 years agoREADME: update on 8080/5 front
Alan Cox [Sat, 23 Mar 2019 21:05:52 +0000 (21:05 +0000)]
README: update on 8080/5 front

5 years agoatarist: Start filling in the drivers
Alan Cox [Sat, 23 Mar 2019 20:55:18 +0000 (20:55 +0000)]
atarist: Start filling in the drivers

Floppy and ACSI to begin with, along with the IDE adapters often added.

5 years agombr: note we will need to make this return a code at some point
Alan Cox [Sat, 23 Mar 2019 20:51:44 +0000 (20:51 +0000)]
mbr: note we will need to make this return a code at some point

There are systems we might find multiple partition types on and we need to not
install both sets wrongly

5 years agodevide: fix missing REG in name
Alan Cox [Sat, 23 Mar 2019 20:51:29 +0000 (20:51 +0000)]
devide: fix missing REG in name

5 years agoahdi: first cut at Atari partition formats
Alan Cox [Sat, 23 Mar 2019 20:50:59 +0000 (20:50 +0000)]
ahdi: first cut at Atari partition formats

5 years agomtx: Memotech updates
Alan Cox [Mon, 18 Mar 2019 23:08:35 +0000 (23:08 +0000)]
mtx: Memotech updates

Start putting in place the stuff for the CFII and the Propeller based 80 column
card. Also fill in some of the graphics and other bits. Fix the maximum memory
banks.

There are still some really ugly things to deal with. Do we expose the propeller
directly or via the VT layer. How do we align that with the graphics ioctls.

Stil need to think about UDGs

5 years agographics: add another format
Alan Cox [Mon, 18 Mar 2019 23:02:44 +0000 (23:02 +0000)]
graphics: add another format

Memotech graphic blocks are 2 x 4 for 256 symbols

5 years agosbcv2: update README
Alan Cox [Sun, 17 Mar 2019 14:35:21 +0000 (14:35 +0000)]
sbcv2: update README

5 years agoatarist: get the fdc probing and add blkdev for the block devices
Alan Cox [Sun, 17 Mar 2019 00:39:09 +0000 (00:39 +0000)]
atarist: get the fdc probing and add blkdev for the block devices

No actual hard disk drivers yet, and it wil also need a GEMDOS partition table
parser adding.

5 years agoatarist: first cut at writing a floppy driver for the Atari 1772 + DMA
Alan Cox [Sun, 17 Mar 2019 00:15:53 +0000 (00:15 +0000)]
atarist: first cut at writing a floppy driver for the Atari 1772 + DMA

Heavily cribbed from the GPL EmuTOS codebase

5 years agoatarist: 200Hz ticker
Alan Cox [Sun, 17 Mar 2019 00:15:19 +0000 (00:15 +0000)]
atarist: 200Hz ticker

5 years agoatarist: get the timers and console working
Alan Cox [Sat, 16 Mar 2019 22:13:31 +0000 (22:13 +0000)]
atarist: get the timers and console working

No device drivers so you can't yet mount a file system

5 years agoatari-st: this gets us to the point the mono console kind of works-ish
Alan Cox [Sat, 16 Mar 2019 16:26:19 +0000 (16:26 +0000)]
atari-st: this gets us to the point the mono console kind of works-ish

Sufficient to print useful messages. We still need to debug this further and
sort out non mono displays.

5 years ago68000: add Atari ST bootblock checksumming tool
Alan Cox [Sat, 16 Mar 2019 16:24:40 +0000 (16:24 +0000)]
68000: add Atari ST bootblock checksumming tool

5 years agorc2014: fix up the banking code and update the bootloader
Alan Cox [Sat, 16 Mar 2019 00:22:26 +0000 (00:22 +0000)]
rc2014: fix up the banking code and update the bootloader

At this point the banked kernel appears to work. Needs a bit more testing and
to be tested on the actual board.

5 years agodevide: make the generic devide correct for banked and other cases
Alan Cox [Sat, 16 Mar 2019 00:21:51 +0000 (00:21 +0000)]
devide: make the generic devide correct for banked and other cases

Only map kernel back if we map something else

5 years agorc2014: lay groundwork to make rc2014 run a banked kernel.
Alan Cox [Fri, 15 Mar 2019 22:03:37 +0000 (22:03 +0000)]
rc2014: lay groundwork to make rc2014 run a banked kernel.

RC2014 has so many toys they do not all fit any more and there is still sound,
PIO and TMS9918A support to add!

This breaks everything. The loader needs a rewrite and the code debugging so
if you are doing a build go back before this commit

5 years agods1302: unify all the code and banked versions too
Alan Cox [Fri, 15 Mar 2019 22:01:47 +0000 (22:01 +0000)]
ds1302: unify all the code and banked versions too

5 years agodevfd_hw: add a banked version
Alan Cox [Fri, 15 Mar 2019 22:01:30 +0000 (22:01 +0000)]
devfd_hw: add a banked version

5 years agotrs80m1: fix banking to cover CODE4
Alan Cox [Fri, 15 Mar 2019 20:02:35 +0000 (20:02 +0000)]
trs80m1: fix banking to cover CODE4

5 years agomore type alignments
Alan Cox [Fri, 15 Mar 2019 19:21:40 +0000 (19:21 +0000)]
more type alignments

None of these really matter as uint8_t == uint_fast8_t for Z80 but it's good
to get it and the signed/unsigned clashes tidied up.

5 years agodev: sync more types
Alan Cox [Fri, 15 Mar 2019 19:21:19 +0000 (19:21 +0000)]
dev: sync more types

5 years agorc2014-tiny: align types
Alan Cox [Thu, 14 Mar 2019 14:34:10 +0000 (14:34 +0000)]
rc2014-tiny: align types

5 years agorc2014-sbc64: align types and fix a Makefile ordering bug
Alan Cox [Thu, 14 Mar 2019 14:09:50 +0000 (14:09 +0000)]
rc2014-sbc64: align types and fix a Makefile ordering bug

We need boot to be built to generate loader.inc, not to depend on boot.s

5 years agorc2014: align types
Alan Cox [Thu, 14 Mar 2019 14:00:35 +0000 (14:00 +0000)]
rc2014: align types

5 years agop112: align types
Alan Cox [Thu, 14 Mar 2019 13:38:36 +0000 (13:38 +0000)]
p112: align types

5 years agodevscsi: align types
Alan Cox [Thu, 14 Mar 2019 13:38:22 +0000 (13:38 +0000)]
devscsi: align types

5 years agodev: more device type alignment
Alan Cox [Wed, 13 Mar 2019 23:42:07 +0000 (23:42 +0000)]
dev: more device type alignment

5 years agon8vem-mark4: align types
Alan Cox [Wed, 13 Mar 2019 23:41:48 +0000 (23:41 +0000)]
n8vem-mark4: align types

5 years agomulticomp09: align types
Alan Cox [Wed, 13 Mar 2019 23:05:49 +0000 (23:05 +0000)]
multicomp09: align types

5 years agomtx: align with type changes and update TODO list
Alan Cox [Wed, 13 Mar 2019 23:01:35 +0000 (23:01 +0000)]
mtx: align with type changes and update TODO list

Time to move this onto real hardware with CF card support etc

5 years agomsx2: align types
Alan Cox [Wed, 13 Mar 2019 22:50:22 +0000 (22:50 +0000)]
msx2: align types

5 years agotty: fix some of the kputchar sign breakages
Alan Cox [Wed, 13 Mar 2019 22:34:50 +0000 (22:34 +0000)]
tty: fix some of the kputchar sign breakages

5 years agodragon-nx32: initial type resync
Alan Cox [Wed, 13 Mar 2019 22:32:36 +0000 (22:32 +0000)]
dragon-nx32: initial type resync

5 years agovt: align with type changes
Alan Cox [Wed, 13 Mar 2019 22:27:02 +0000 (22:27 +0000)]
vt: align with type changes

We ought to fix up the internal type usages but a lot of these lead into asm
code so some review is called for.

5 years agococo3: initial alignment of type changes
Alan Cox [Wed, 13 Mar 2019 22:26:03 +0000 (22:26 +0000)]
coco3: initial alignment of type changes

More to do eventually

5 years agococo2cart: align with type changes
Alan Cox [Wed, 13 Mar 2019 22:25:50 +0000 (22:25 +0000)]
coco2cart: align with type changes

5 years agodevsd:fix breakage from type conversions
Alan Cox [Wed, 13 Mar 2019 22:25:37 +0000 (22:25 +0000)]
devsd:fix breakage from type conversions

5 years agoamstradnc: align with uint_fast8_t and tty unsigned changes
Alan Cox [Wed, 13 Mar 2019 22:20:10 +0000 (22:20 +0000)]
amstradnc: align with uint_fast8_t and tty unsigned changes

5 years agov68: fix the devtty type changes that matter
Alan Cox [Wed, 13 Mar 2019 20:52:46 +0000 (20:52 +0000)]
v68: fix the devtty type changes that matter

5 years agov85: align with the _fast8_t changes
Alan Cox [Wed, 13 Mar 2019 20:52:28 +0000 (20:52 +0000)]
v85: align with the _fast8_t changes

5 years agov8080: align with the _fast8_t changes
Alan Cox [Wed, 13 Mar 2019 20:52:15 +0000 (20:52 +0000)]
v8080: align with the _fast8_t changes

5 years agodev: bring some of the core devices we need in line with uint_fast8_t
Alan Cox [Wed, 13 Mar 2019 20:51:32 +0000 (20:51 +0000)]
dev: bring some of the core devices we need in line with uint_fast8_t

We can defer a lot because only 8080/8085 at this point have it differing
from uint8_t

5 years agokernel: core changes to get uint_fast8_t into the drivr layer
Alan Cox [Wed, 13 Mar 2019 20:50:34 +0000 (20:50 +0000)]
kernel: core changes to get uint_fast8_t into the drivr layer

This whole set of work saves us a mindboggling 2.2K on 8080/8085 !

5 years agousermem: Fix accidentally 16bitisms
Alan Cox [Wed, 13 Mar 2019 20:48:55 +0000 (20:48 +0000)]
usermem: Fix accidentally 16bitisms

In some 32bit cases we use the generic valaddr(). Thus we shouldn't cast things
to 16bit or hardcode 0xFFFF. Fix these.

5 years agosyscall_exec32: using unsigned for names
Alan Cox [Wed, 13 Mar 2019 20:47:57 +0000 (20:47 +0000)]
syscall_exec32: using unsigned for names