FUZIX.git
5 years agolinc80: send the console messages to SIO B
Alan Cox [Sun, 10 Mar 2019 00:24:31 +0000 (00:24 +0000)]
linc80: send the console messages to SIO B

5 years agoeasy-z80: add context switchers to the z80sio
Alan Cox [Sun, 10 Mar 2019 00:23:41 +0000 (00:23 +0000)]
easy-z80: add context switchers to the z80sio

As we use multiple banks for top of memory common copies we have no true
common so we need to land the serial I/O outside of common so must bank it in

5 years agoz80sio: we only want IRQ handlers to stack switch if needed
Alan Cox [Sun, 10 Mar 2019 00:22:55 +0000 (00:22 +0000)]
z80sio: we only want IRQ handlers to stack switch if needed

The other functions are only called in kernel context

5 years agoeasyz80: Fix up all the IM2 handling and serial stuff
Alan Cox [Sat, 9 Mar 2019 19:42:31 +0000 (19:42 +0000)]
easyz80: Fix up all the IM2 handling and serial stuff

5 years agoz80sio: Fix a bug in the linc80 logic and add macros for non fixed common cases
Alan Cox [Sat, 9 Mar 2019 19:41:58 +0000 (19:41 +0000)]
z80sio: Fix a bug in the linc80 logic and add macros for non fixed common cases

5 years agoeasyz80: fix SIO vector loading and CTC vectors
Alan Cox [Sat, 9 Mar 2019 17:32:22 +0000 (17:32 +0000)]
easyz80: fix SIO vector loading and CTC vectors

This gets us to the point timer events are happening but there is no input
response.

5 years agocp: remove struct assignment
Alan Cox [Sat, 9 Mar 2019 12:15:57 +0000 (12:15 +0000)]
cp: remove struct assignment

This allows it to build with older SDCC correctly

5 years agoeasy-z80: Initial port framework for easy-z80
Alan Cox [Fri, 8 Mar 2019 23:28:32 +0000 (23:28 +0000)]
easy-z80: Initial port framework for easy-z80

This in theory is a complete port to Max Malinov and Sergey Kiselev's
Easy Z80 SBC including CTC timing, serial port baud rate control and using IM2
and fast IM2 based serial handlers (but not yet softirq).

It's not yet been debugged/tested on any kind of emulation or actual board
however.

5 years agotrdify: Make .TRD disk images
Alan Cox [Thu, 7 Mar 2019 14:33:55 +0000 (14:33 +0000)]
trdify: Make .TRD disk images

This is used to generate pentagon and scorpion bootable floppy images for the
kernel

5 years agotgl6502: goodbye
Alan Cox [Thu, 7 Mar 2019 14:33:29 +0000 (14:33 +0000)]
tgl6502: goodbye

5 years agozxdiv48: a bug I noticed whilst working on pentagon
Alan Cox [Thu, 7 Mar 2019 14:33:04 +0000 (14:33 +0000)]
zxdiv48: a bug I noticed whilst working on pentagon

Still not tested/debugged yet

5 years agopentagon: more work in progress for fixed 16K ROM systems
Alan Cox [Thu, 7 Mar 2019 14:32:23 +0000 (14:32 +0000)]
pentagon: more work in progress for fixed 16K ROM systems

5 years agoscorpion: /dev/lp and turbo
Alan Cox [Thu, 7 Mar 2019 14:31:58 +0000 (14:31 +0000)]
scorpion: /dev/lp and turbo

5 years agopentagon1024: /dev/lp support and turbo
Alan Cox [Thu, 7 Mar 2019 14:31:22 +0000 (14:31 +0000)]
pentagon1024: /dev/lp support and turbo

5 years agodev: add generic lp driver
Alan Cox [Thu, 7 Mar 2019 14:30:56 +0000 (14:30 +0000)]
dev: add generic lp driver

5 years agoscorpion: Initial scorpion support (Scorpion 256)
Alan Cox [Wed, 6 Mar 2019 00:36:41 +0000 (00:36 +0000)]
scorpion: Initial scorpion support (Scorpion 256)

5 years agotricks-big: remove bogus leftover or
Alan Cox [Wed, 6 Mar 2019 00:35:15 +0000 (00:35 +0000)]
tricks-big: remove bogus leftover or

Fixes the crash when we use the lower banks

5 years agopentagon: add the tricks macros to keep in sync
Alan Cox [Tue, 5 Mar 2019 23:12:21 +0000 (23:12 +0000)]
pentagon: add the tricks macros to keep in sync

5 years agopentagon: bring back pieces from the pentagon1024
Alan Cox [Tue, 5 Mar 2019 23:06:16 +0000 (23:06 +0000)]
pentagon: bring back pieces from the pentagon1024

There is still much to be done to support older Pentagons but keep the tree in
sync

5 years agopentagon1024: get it building and running
Alan Cox [Tue, 5 Mar 2019 23:04:29 +0000 (23:04 +0000)]
pentagon1024: get it building and running

5 years agopentagon1024: add macros to make the tricks-big file shareable
Alan Cox [Tue, 5 Mar 2019 23:03:27 +0000 (23:03 +0000)]
pentagon1024: add macros to make the tricks-big file shareable

Scorpions need something a bit different

5 years agozx: tidy tty references
Alan Cox [Tue, 5 Mar 2019 23:03:06 +0000 (23:03 +0000)]
zx: tidy tty references

5 years agoide: remove needless devtty includes
Alan Cox [Tue, 5 Mar 2019 23:02:37 +0000 (23:02 +0000)]
ide: remove needless devtty includes

5 years agopentagon: pentagon1024
Alan Cox [Tue, 5 Mar 2019 22:23:28 +0000 (22:23 +0000)]
pentagon: pentagon1024

Copy the work so far over to a new platform because the older Pentagon systems
don't have the RAM0 low mapping and will need something a bit different.

As we are dependent upon the 1024K features we can just hardcode 1MB of RAM.
Not that you can use it all right now. 16 processes at a time is 512K and given
the task switch cost it's not clear how you'd use 32 processes in memory sanely.

We could add a 512K RAM disc but then with an vaguely modern CF card the
difference between banked RAM copies and CF card I/O is actually in favour
of using the CF card.

Maybe we'll just have to invent banked applications for such systems one day.

5 years agodiscard85: first cut at 8085 discard hack for the assembler
Alan Cox [Tue, 5 Mar 2019 00:56:27 +0000 (00:56 +0000)]
discard85: first cut at 8085 discard hack for the assembler

Not yet tested

5 years agopentagon etc: commit the banking support code
Alan Cox [Tue, 5 Mar 2019 00:52:17 +0000 (00:52 +0000)]
pentagon etc: commit the banking support code

This is a lot more complex than the Spectrum 128K as we have a proper set of
banking to manage and we need to treat the 8000-BFFF as a cache. This is good
enough to get us to init forking, but the world ends not long afterwards

5 years agopentagon: fix various bank handling bugs
Alan Cox [Tue, 5 Mar 2019 00:51:30 +0000 (00:51 +0000)]
pentagon: fix various bank handling bugs

5 years agopentagon: fix the bank numbers
Alan Cox [Tue, 5 Mar 2019 00:50:45 +0000 (00:50 +0000)]
pentagon: fix the bank numbers

We want 0-7 - the upper bit is accounted for by the 0x40

5 years agopentagon: remove pointless define
Alan Cox [Tue, 5 Mar 2019 00:50:27 +0000 (00:50 +0000)]
pentagon: remove pointless define

5 years agopentagon: set the bank size correctly
Alan Cox [Tue, 5 Mar 2019 00:49:56 +0000 (00:49 +0000)]
pentagon: set the bank size correctly

5 years agonemoide: optimize a silly code path
Alan Cox [Tue, 5 Mar 2019 00:49:36 +0000 (00:49 +0000)]
nemoide: optimize a silly code path

5 years agopentagon: IDE interface update
Alan Cox [Mon, 4 Mar 2019 01:28:21 +0000 (01:28 +0000)]
pentagon: IDE interface update

This gets us to the point that we parse the partition table and then fail to
load init.

5 years agopentagon: Fix banking changes
Alan Cox [Sun, 3 Mar 2019 17:41:22 +0000 (17:41 +0000)]
pentagon: Fix banking changes

With these fixed we get to a bootdev: prompt and can look at disk drivers

5 years agoz80: build trdify
Alan Cox [Sun, 3 Mar 2019 16:57:22 +0000 (16:57 +0000)]
z80: build trdify

5 years agopentagon: sort the loader out (sort of anyway)
Alan Cox [Sun, 3 Mar 2019 16:56:24 +0000 (16:56 +0000)]
pentagon: sort the loader out (sort of anyway)

With this done we load an image and seem to blow up on the first interrupt or
thereabouts whilst probing for disks.

5 years agoMakefile: clean up bank files
Alan Cox [Sun, 3 Mar 2019 16:55:30 +0000 (16:55 +0000)]
Makefile: clean up bank files

5 years agoCREDITS: this was fixed remove the FIXME
Alan Cox [Sat, 2 Mar 2019 21:00:36 +0000 (21:00 +0000)]
CREDITS: this was fixed remove the FIXME

5 years agoMakefile: update
Alan Cox [Sat, 2 Mar 2019 20:26:43 +0000 (20:26 +0000)]
Makefile: update

5 years agosc108/sc114: merge the ports and use the ROM hooks
Alan Cox [Sat, 2 Mar 2019 20:10:07 +0000 (20:10 +0000)]
sc108/sc114: merge the ports and use the ROM hooks

We can't use them as we'd like but we can use them with a bit of extra hackery.
Drop using the ROM for serial I/O - it's not really worth it or a good plan.

5 years agosyscall_other: final (I hope) batch of uint8_t strict cleanup
Alan Cox [Fri, 1 Mar 2019 22:21:52 +0000 (22:21 +0000)]
syscall_other: final (I hope) batch of uint8_t strict cleanup

5 years agosyscalls: fix remaining char v uint8_t warnings
Alan Cox [Fri, 1 Mar 2019 22:20:24 +0000 (22:20 +0000)]
syscalls: fix remaining char v uint8_t warnings

The kernel now handles everything it can unsigned so that we don't give the
compilers needless work to do on the processors like the 8080 and 6502 that
suck at sign extending.

5 years agov85: add 6850 ACIA speed/setting controls
Alan Cox [Fri, 1 Mar 2019 22:19:52 +0000 (22:19 +0000)]
v85: add 6850 ACIA speed/setting controls

They don't do anything but they are better example for real devices

5 years agocp: replace cp (and it can be used for mv ln) with a nice version
Alan Cox [Fri, 1 Mar 2019 22:18:54 +0000 (22:18 +0000)]
cp: replace cp (and it can be used for mv ln) with a nice version

It's still under 20K, it does multiple jobs and it adds all the SUS expected
behaviours.

5 years agozxdiv48: minor Makefile tweakery
Alan Cox [Fri, 1 Mar 2019 22:12:43 +0000 (22:12 +0000)]
zxdiv48: minor Makefile tweakery

Still not had time to actually start getting this running

5 years agozxdiv: turn on ZX Uno features if present
Alan Cox [Fri, 1 Mar 2019 22:12:17 +0000 (22:12 +0000)]
zxdiv: turn on ZX Uno features if present

5 years agozxuno: add some helpers for putting the ZX Uno into 14Mhz mode etc
Alan Cox [Fri, 1 Mar 2019 22:11:33 +0000 (22:11 +0000)]
zxuno: add some helpers for putting the ZX Uno into 14Mhz mode etc

From a Fuzix perspective we want to turn on all the features regardless

5 years agosyscall_net: do the change so we keep the socket number in a sane place
Alan Cox [Fri, 1 Mar 2019 19:25:48 +0000 (19:25 +0000)]
syscall_net: do the change so we keep the socket number in a sane place

5 years agoopendir: correct const usage to match standard
Alan Cox [Fri, 1 Mar 2019 19:25:25 +0000 (19:25 +0000)]
opendir: correct const usage to match standard

5 years agogetopt: correct const v non consts in prototype to match standard
Alan Cox [Fri, 1 Mar 2019 19:24:54 +0000 (19:24 +0000)]
getopt: correct const v non consts in prototype to match standard

5 years agovisualize: really _CODE is bank 0 so report it as 0 not 1 in bank 0
Alan Cox [Fri, 1 Mar 2019 13:56:59 +0000 (13:56 +0000)]
visualize: really _CODE is bank 0 so report it as 0 not 1 in bank 0

5 years agovisualize: add in more of the bank types
Alan Cox [Fri, 1 Mar 2019 13:55:29 +0000 (13:55 +0000)]
visualize: add in more of the bank types

This allows it to work on stuff like the trs80m1

5 years agotools: add a maketap tool for spectrum .tap files
Alan Cox [Thu, 28 Feb 2019 23:33:55 +0000 (23:33 +0000)]
tools: add a maketap tool for spectrum .tap files

We don't yet use it in anything but it's handy to have.

5 years agolinc80: update notes
Alan Cox [Thu, 28 Feb 2019 22:28:50 +0000 (22:28 +0000)]
linc80: update notes

5 years agoflat: flat models have their own valaddr and it needs the new prototype
Alan Cox [Thu, 28 Feb 2019 22:15:16 +0000 (22:15 +0000)]
flat: flat models have their own valaddr and it needs the new prototype

5 years agomntent: fix hasmntopt return for not found
Alan Cox [Thu, 28 Feb 2019 21:40:02 +0000 (21:40 +0000)]
mntent: fix hasmntopt return for not found

5 years agocpuinfo: note that there's an even buggier R flags emulation to be wary of
Alan Cox [Thu, 28 Feb 2019 21:37:28 +0000 (21:37 +0000)]
cpuinfo: note that there's an even buggier R flags emulation to be wary of

5 years agozx+3: oops turn the floppy off when idle
Alan Cox [Thu, 28 Feb 2019 21:37:08 +0000 (21:37 +0000)]
zx+3: oops turn the floppy off when idle

5 years agokernel: kiss char * goodbye as much as possible, also fix pipe open
Alan Cox [Thu, 28 Feb 2019 21:36:24 +0000 (21:36 +0000)]
kernel: kiss char * goodbye as much as possible, also fix pipe open

Also fix the pipe open semantics for named pipes (I hope).

5 years agov85: add floppy, ramdisc and rtc
Alan Cox [Thu, 28 Feb 2019 21:33:28 +0000 (21:33 +0000)]
v85: add floppy, ramdisc and rtc

Based on the emulations added to the emulator. This hopefully gives people some
more examples to work with when writing stuff.

5 years agotrs80m1: remove debugging code
Alan Cox [Thu, 28 Feb 2019 21:32:15 +0000 (21:32 +0000)]
trs80m1: remove debugging code

5 years agorc2014: clarify CTC card
Alan Cox [Thu, 28 Feb 2019 21:31:55 +0000 (21:31 +0000)]
rc2014: clarify CTC card

5 years agoamstradnc: typo fix
Alan Cox [Thu, 28 Feb 2019 21:31:29 +0000 (21:31 +0000)]
amstradnc: typo fix

5 years agofdc765: fix off by one
Alan Cox [Thu, 28 Feb 2019 21:30:47 +0000 (21:30 +0000)]
fdc765: fix off by one

5 years agoyaz180: ppide changes
Alan Cox [Sun, 24 Feb 2019 21:43:02 +0000 (21:43 +0000)]
yaz180: ppide changes

In theory this gets us a kernel that will work on a Yaz180.

5 years agov65c816:fix config
Alan Cox [Sat, 23 Feb 2019 15:47:41 +0000 (15:47 +0000)]
v65c816:fix config

5 years agozxdiv48: Initial code for 48K ZX Spectrum with DivIDE plus or ZXCF
Alan Cox [Wed, 20 Feb 2019 23:05:38 +0000 (23:05 +0000)]
zxdiv48: Initial code for 48K ZX Spectrum with DivIDE plus or ZXCF

Queueing this up for weekend testing.

It seemed a shame that the classic squishy key machines were being left out
so there was only one thing left to do - fix it.

It's a curious combination of the 128K/DivIDE model and the single process
in memory model. The kernel is banked four ways in the low 16K using memory
from the DivIDE Plus or ZXCF card. The area between the screen and 0x8000 just
about fits enough data for a minimal system providing the disk buffers are
banked. From 0x800-0xFBFF is then used for the application space with FC00-FFFF
holding the stacks, udata and a 256 byte space we may yet need.

The rest of the 512/1024K of RAM on the interface is then used as swap.

Task switching is slow (two x 32K ldir) but that is no worse than the disk
load/save used by other single process in memory platforms.

The biggest problem is the limited amount of unbanked kernel RAM. With the
screen at 0x4000-0x5AFF we only have a shade over 8K for all our common,
our data, constants and bank switching stubs. To get it to fit we end up
limiting our user space to 31K (versus 31.5K on most other 32K switched bank
platforms).

5 years agovisualize: allow visualisation of banked kernels
Alan Cox [Wed, 20 Feb 2019 22:34:18 +0000 (22:34 +0000)]
visualize: allow visualisation of banked kernels

5 years agobinmunge: support more banks, and fix hardcoded bank counts
Alan Cox [Wed, 20 Feb 2019 22:33:56 +0000 (22:33 +0000)]
binmunge: support more banks, and fix hardcoded bank counts

5 years agoz80: single process banked kernel
Alan Cox [Wed, 20 Feb 2019 22:33:14 +0000 (22:33 +0000)]
z80: single process banked kernel

5 years agoz80single: remove comment for work done
Alan Cox [Wed, 20 Feb 2019 22:32:59 +0000 (22:32 +0000)]
z80single: remove comment for work done

5 years agoz80: add out16 for out's to a 16bit port, and in16 likewise
Alan Cox [Wed, 20 Feb 2019 22:32:09 +0000 (22:32 +0000)]
z80: add out16 for out's to a 16bit port, and in16 likewise

We need these for some of the systems that do I/O decoding on the cheap (like
the ZX spectrum). Not yet tested.

5 years agoswap: allow offet 0 to be used for swap
Alan Cox [Wed, 20 Feb 2019 22:30:48 +0000 (22:30 +0000)]
swap: allow offet 0 to be used for swap

Don't make it the default because some platforms use swap slot 0 for other things

5 years agokernel remove dead old z80 def file
Alan Cox [Wed, 20 Feb 2019 01:14:04 +0000 (01:14 +0000)]
kernel remove dead old z80 def file

5 years agov68: kill stale dead experimeting trees
Alan Cox [Wed, 20 Feb 2019 01:13:42 +0000 (01:13 +0000)]
v68: kill stale dead experimeting trees

5 years agospx302: Initial code sketch for the SPX302/MPU302 conversion
Alan Cox [Wed, 20 Feb 2019 01:06:16 +0000 (01:06 +0000)]
spx302: Initial code sketch for the SPX302/MPU302 conversion

See https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:spx-mpu
for more information about this system.

This is just an initial set of buildable code. It needs a loader and debugging
before we can get further

5 years agomake: fix make clean rules
Alan Cox [Wed, 20 Feb 2019 01:03:03 +0000 (01:03 +0000)]
make: fix make clean rules

5 years agov85: update for the latest v85 to allow reboot
Alan Cox [Wed, 20 Feb 2019 00:30:40 +0000 (00:30 +0000)]
v85: update for the latest v85 to allow reboot

5 years agoz80/rabbit: The big rearrange of U_DATA to _udata offsets
Alan Cox [Wed, 20 Feb 2019 00:29:12 +0000 (00:29 +0000)]
z80/rabbit: The big rearrange of U_DATA to _udata offsets

The linker is good enough to work this out (except for the one z180.s case) so
move to letting the linker do the work. This eliminates a configuration item
for people to get wrong, and also will be needed to generate a relocatable
Fuzix kernel.

5 years agopentagon: fix I/O ports on sketch of loader code
Alan Cox [Tue, 19 Feb 2019 14:46:13 +0000 (14:46 +0000)]
pentagon: fix I/O ports on sketch of loader code

It doesn't work yet at all, but since I noticed this in the first sketches I
wanted to fix it before I forget

5 years agoconfigs: add direct I/O to various platforms that can use it just fine
Alan Cox [Tue, 19 Feb 2019 14:45:12 +0000 (14:45 +0000)]
configs: add direct I/O to various platforms that can use it just fine

5 years agoamstradnc: use generic 16 banking code
Alan Cox [Tue, 19 Feb 2019 14:43:14 +0000 (14:43 +0000)]
amstradnc: use generic 16 banking code

5 years agoz80: unified z80 4 x 16 bank tricks code
Alan Cox [Tue, 19 Feb 2019 14:42:29 +0000 (14:42 +0000)]
z80: unified z80 4 x 16 bank tricks code

And apply it to rc2014 and zeta2

5 years agonc100: fix weird crash caused by _HOME segment
Alan Cox [Tue, 19 Feb 2019 14:35:14 +0000 (14:35 +0000)]
nc100: fix weird crash caused by _HOME segment

divulong was added by the compiler in _HOME. As we didn't list _HOME in crt0
it ended up being recycled

5 years agon8vem: fix missing newline
Alan Cox [Tue, 19 Feb 2019 00:23:24 +0000 (00:23 +0000)]
n8vem: fix missing newline

5 years agoconfig: update so everyone has BOOTDEVICENAMES
Alan Cox [Tue, 19 Feb 2019 00:22:58 +0000 (00:22 +0000)]
config: update so everyone has BOOTDEVICENAMES

5 years agofilesys: not an optimization to look into
Alan Cox [Tue, 19 Feb 2019 00:20:05 +0000 (00:20 +0000)]
filesys: not an optimization to look into

5 years ago8080: small uzero optimization
Alan Cox [Mon, 18 Feb 2019 00:06:06 +0000 (00:06 +0000)]
8080: small uzero optimization

5 years agov85: switch to vectored interrupts and use some 8085 optimizations
Alan Cox [Mon, 18 Feb 2019 00:04:20 +0000 (00:04 +0000)]
v85: switch to vectored interrupts and use some 8085 optimizations

5 years ago8080: add framework for 8085 vectored interrupts and 8214 interrupts
Alan Cox [Sun, 17 Feb 2019 23:56:11 +0000 (23:56 +0000)]
8080: add framework for 8085 vectored interrupts and 8214 interrupts

5 years agov85: intial merge of the port
Alan Cox [Sat, 16 Feb 2019 22:12:09 +0000 (22:12 +0000)]
v85: intial merge of the port

5 years agostart: move memory printing
Alan Cox [Sat, 16 Feb 2019 22:07:39 +0000 (22:07 +0000)]
start: move memory printing

Some platforms benefit from sizing memory later (or even stealing memory during
boot dynamically) so move the reporting.

5 years agotc2068: remove work done from README
Alan Cox [Sat, 16 Feb 2019 19:47:25 +0000 (19:47 +0000)]
tc2068: remove work done from README

5 years agoREADME.md: update
Alan Cox [Sat, 16 Feb 2019 12:40:54 +0000 (12:40 +0000)]
README.md: update

5 years agov8080: remove rst.s and update documentation
Alan Cox [Sat, 16 Feb 2019 12:40:15 +0000 (12:40 +0000)]
v8080: remove rst.s and update documentation

The current rst.s is now a match for the compiler one and we need no differences
so just use the provided one.

5 years agocpuinfo: add 8080 support
Alan Cox [Sat, 16 Feb 2019 11:47:16 +0000 (11:47 +0000)]
cpuinfo: add 8080 support

5 years ago8080: fix a bug in the cpu detection code
Alan Cox [Sat, 16 Feb 2019 11:46:37 +0000 (11:46 +0000)]
8080: fix a bug in the cpu detection code

Still needs more checking

5 years agov8080: align with upstream rsts
Alan Cox [Sat, 16 Feb 2019 02:46:02 +0000 (02:46 +0000)]
v8080: align with upstream rsts

5 years agosh: add string.h for strsignal()
Alan Cox [Sat, 16 Feb 2019 02:30:54 +0000 (02:30 +0000)]
sh: add string.h for strsignal()

5 years agodf: update to match changes in includes and speed up
Alan Cox [Sat, 16 Feb 2019 00:12:27 +0000 (00:12 +0000)]
df: update to match changes in includes and speed up

Whilst we are it we can treat mtab as official so we don't do lots of pointless
lookups for the generic case of 'df'.

5 years agov8080: update README
Alan Cox [Fri, 15 Feb 2019 23:04:19 +0000 (23:04 +0000)]
v8080: update README