FUZIX.git
6 years agoz80: fix a nasty bug with the full bank switching model on swapless
Alan Cox [Tue, 7 Aug 2018 23:10:05 +0000 (00:10 +0100)]
z80: fix a nasty bug with the full bank switching model on swapless

The swap case is ok as it always runs on the swap stack. The non swap case
restores the process kernel stack underneath the curent sp. That in itself is
fine as we have interrupts off. However we then called map_kernel which if
the current sp was above the sp of the save would corrupt the stack.

Instead restore sp first so that we push and pop data below the saved stack
content

6 years agoz80: first sketches of the 32K/32K support
Alan Cox [Tue, 7 Aug 2018 23:07:46 +0000 (00:07 +0100)]
z80: first sketches of the 32K/32K support

Some of this will also hopefully apply to the 64K/ROM switch and the Cromemco /
NASCOM style models where you have write through to multiple banks but 64K
switching

6 years agolowlevel-z80: removed dead symbol import
Alan Cox [Tue, 7 Aug 2018 23:05:58 +0000 (00:05 +0100)]
lowlevel-z80: removed dead symbol import

6 years agokernel.def: add PAGE2 define
Alan Cox [Tue, 7 Aug 2018 23:05:33 +0000 (00:05 +0100)]
kernel.def: add PAGE2 define

We'll need that shortly

6 years agofont: add an expanded 8x8 font for 2bpp displays
Alan Cox [Tue, 7 Aug 2018 23:04:18 +0000 (00:04 +0100)]
font: add an expanded 8x8 font for 2bpp displays

We'll need this for the SAM Coupe where we don't have a 1pp high res mode.
(We may want a 6bit to 12bit font in the end but for now keep it simple).

6 years agotzset: more patches moving towards proper timezone support
Alan Cox [Thu, 2 Aug 2018 20:55:45 +0000 (21:55 +0100)]
tzset: more patches moving towards proper timezone support

It's enough to make you want summer time abolished!

6 years agotrslabel: fix missing error argument
Alan Cox [Tue, 31 Jul 2018 19:55:51 +0000 (20:55 +0100)]
trslabel: fix missing error argument

6 years agorc2014: add devinput
Alan Cox [Tue, 31 Jul 2018 19:55:29 +0000 (20:55 +0100)]
rc2014: add devinput

6 years agoBuild setdate for all platforms and add it to filesystem
Tormod Volden [Sat, 28 Jul 2018 11:39:37 +0000 (13:39 +0200)]
Build setdate for all platforms and add it to filesystem

seq was also missing on 6502 and pdp11.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Update README
Tormod Volden [Sat, 28 Jul 2018 10:36:36 +0000 (12:36 +0200)]
dragon-nx32: Update README

Also remove XRoar patch which went upstream.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agogm8x9: fix typo
Alan Cox [Fri, 27 Jul 2018 21:00:08 +0000 (22:00 +0100)]
gm8x9: fix typo

6 years agodragon-nx-32: tweaks to scsi driver
Alan Cox [Fri, 27 Jul 2018 20:59:21 +0000 (21:59 +0100)]
dragon-nx-32: tweaks to scsi driver

No way to test this yet so I doubt it works but it'll not-works better than
before 8)

6 years agorc2014: do a pile of cleanup work
Alan Cox [Fri, 27 Jul 2018 20:56:27 +0000 (21:56 +0100)]
rc2014: do a pile of cleanup work

- Start working on tty autodetect
- Sort out non standard SIO layouts

Still need to look further into the CTC usage and tidy up the boot logic so
we can do a handy boot from CP/M

6 years agopcw8256: update README
Alan Cox [Fri, 27 Jul 2018 20:52:33 +0000 (21:52 +0100)]
pcw8256: update README

6 years agorc-files: run setdate in the boot up
Alan Cox [Fri, 27 Jul 2018 20:52:09 +0000 (21:52 +0100)]
rc-files: run setdate in the boot up

6 years agodragon-nx32: (MOOH) Optimized fork copy bank routine
Tormod Volden [Tue, 24 Jul 2018 21:38:44 +0000 (23:38 +0200)]
dragon-nx32: (MOOH) Optimized fork copy bank routine

Around twice as fast. Now about 0.24 s for a 24KB large sh.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agotrs80m1: update README
Alan Cox [Tue, 24 Jul 2018 23:16:40 +0000 (00:16 +0100)]
trs80m1: update README

6 years agopcw8256: correct clock rate
Alan Cox [Tue, 24 Jul 2018 23:16:19 +0000 (00:16 +0100)]
pcw8256: correct clock rate

6 years agofsck: note an improvement to make
Alan Cox [Tue, 24 Jul 2018 23:15:38 +0000 (00:15 +0100)]
fsck: note an improvement to make

6 years agomkdir: fix size check
Alan Cox [Tue, 24 Jul 2018 23:15:25 +0000 (00:15 +0100)]
mkdir: fix size check

6 years agoinit: Allow empty process field in inittab
Tormod Volden [Mon, 23 Jul 2018 23:15:20 +0000 (01:15 +0200)]
init: Allow empty process field in inittab

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Add virtual consoles (6847 text mode)
Tormod Volden [Mon, 23 Jul 2018 21:57:38 +0000 (23:57 +0200)]
dragon-nx32: Add virtual consoles (6847 text mode)

Copy and rename the common CONFIG_VT_SIMPLE code and use it with the
6847 text mode.

This gives us:

tty1 Graphic mode console at 0x0400
tty2 CRT9128
tty3 VC 0 text mode at 0x1c00
tty4 VC 1 text mode at 0x1e00

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Reduce crt9128 screen size because of overscan
Tormod Volden [Mon, 23 Jul 2018 21:57:37 +0000 (23:57 +0200)]
dragon-nx32: Reduce crt9128 screen size because of overscan

On most monitors the last columns and lines of the CRT9128 output
are not visible.

The sync parameters were mask programmable on the CRT9128 so there might
be exceptions but this seems a common issue with the standard parts
available.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Add dual-screen support with CRT9128
Tormod Volden [Mon, 23 Jul 2018 21:57:36 +0000 (23:57 +0200)]
dragon-nx32: Add dual-screen support with CRT9128

Adds CRT9128 card on tty2 with shared keyboard. Switch tty with
ctrl-1 and ctrl-2 (CLEAR-1 and CLEAR-2 on Dragon keyboard).

The 6847 graphics VT interface functions are made private and
these or the CRT9128 ones are called depending on the current TTY.

Add video.h just in case (not needed since multiplexer is asm).

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agocrt9128: Add timeout in sync wait
Tormod Volden [Mon, 23 Jul 2018 21:57:35 +0000 (23:57 +0200)]
crt9128: Add timeout in sync wait

And try reset the chip if there is a timeout.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agocrt9128: Rename VT interface functions to be private
Tormod Volden [Mon, 23 Jul 2018 21:57:34 +0000 (23:57 +0200)]
crt9128: Rename VT interface functions to be private

So that they can be used in multi-head setups.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Remove unused VT macros in config.h
Tormod Volden [Mon, 23 Jul 2018 21:57:33 +0000 (23:57 +0200)]
dragon-nx32: Remove unused VT macros in config.h

Previously used with CONFIG_VT_SIMPLE

VT_BASE remains in use in devtty.c

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Make dwload support MOOH
Tormod Volden [Mon, 23 Jul 2018 21:48:32 +0000 (23:48 +0200)]
dragon-nx32: Make dwload support MOOH

It should remain compatible with the nx32 boards (Spinx-512).

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: Allow building MOOH variant (nx32 memory model)
Tormod Volden [Mon, 23 Jul 2018 21:48:31 +0000 (23:48 +0200)]
dragon-nx32: Allow building MOOH variant (nx32 memory model)

This MOOH variant just groups the 8KB pages into 32KB banks so that it
can run as an nx32 system.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agodragon-nx32: spi.s: Use macro defines for 65SPI flags
Tormod Volden [Mon, 23 Jul 2018 21:40:28 +0000 (23:40 +0200)]
dragon-nx32: spi.s: Use macro defines for 65SPI flags

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
6 years agoMakefile.pdp11: add Makefile that was omitted
Alan Cox [Tue, 24 Jul 2018 23:12:57 +0000 (00:12 +0100)]
Makefile.pdp11: add Makefile that was omitted

6 years agomkdir: documentation
Alan Cox [Tue, 24 Jul 2018 23:12:39 +0000 (00:12 +0100)]
mkdir: documentation

6 years agopcw8256: fix defines for networking
Alan Cox [Sun, 22 Jul 2018 22:26:54 +0000 (23:26 +0100)]
pcw8256: fix defines for networking

6 years agofont8x8; revert deconstification
Alan Cox [Sun, 22 Jul 2018 22:25:46 +0000 (23:25 +0100)]
font8x8; revert deconstification

We don't want sdcc making a huge initializer blob of it. Once we fix sdcc
we can sort this out. It might matter for other ports if so we may have to
ifdef it a bit

6 years agotzset: add draft support for shift time not just day
Alan Cox [Sun, 22 Jul 2018 15:55:17 +0000 (16:55 +0100)]
tzset: add draft support for shift time not just day

6 years agosys/super.h: properly expose the structure in user space form
Alan Cox [Sun, 22 Jul 2018 14:16:38 +0000 (15:16 +0100)]
sys/super.h: properly expose the structure in user space form

6 years agotzset: continue working on daylight savings
Alan Cox [Sun, 22 Jul 2018 14:16:25 +0000 (15:16 +0100)]
tzset: continue working on daylight savings

6 years agotzset: first cut at a fullish parser
Alan Cox [Sun, 22 Jul 2018 12:54:48 +0000 (13:54 +0100)]
tzset: first cut at a fullish parser

6 years agotzset: parse more format information
Alan Cox [Sat, 21 Jul 2018 23:37:44 +0000 (00:37 +0100)]
tzset: parse more format information

This now supports the most basic format.

6 years agolibs: for now at least put a valid byte in isdst
Alan Cox [Sat, 21 Jul 2018 23:35:57 +0000 (00:35 +0100)]
libs: for now at least put a valid byte in isdst

6 years agodate: rewrite and add manual page
Alan Cox [Sat, 21 Jul 2018 23:35:11 +0000 (00:35 +0100)]
date: rewrite and add manual page

We still need to support custom formats but that needs the fancy time format
stuff we don't yet have.

6 years agolibc: add basical localtime support
Alan Cox [Sat, 21 Jul 2018 20:55:14 +0000 (21:55 +0100)]
libc: add basical localtime support

We now pass the right things around to make this work.

At the moment the only format understood is zone+-shift in hours. So for example
TZ=BST+1.

6 years agolocaltim_r: do time zone changes
Alan Cox [Sat, 21 Jul 2018 19:41:45 +0000 (20:41 +0100)]
localtim_r: do time zone changes

We had local/gmtime swapped

6 years agogmtime_r: is not localtime_r .. oops
Alan Cox [Sat, 21 Jul 2018 19:41:06 +0000 (20:41 +0100)]
gmtime_r: is not localtime_r .. oops

6 years agomv/cp: Initial documentation
Alan Cox [Sat, 21 Jul 2018 18:24:45 +0000 (19:24 +0100)]
mv/cp: Initial documentation

6 years agoz80pack: createdrives is obsolete
Alan Cox [Sat, 21 Jul 2018 18:10:26 +0000 (19:10 +0100)]
z80pack: createdrives is obsolete

6 years agomv: use a large copy buffer
Alan Cox [Sat, 21 Jul 2018 18:08:00 +0000 (19:08 +0100)]
mv: use a large copy buffer

6 years agoDiskFormats: initial draft
Alan Cox [Sat, 21 Jul 2018 12:28:50 +0000 (13:28 +0100)]
DiskFormats: initial draft

Feedback welcome

6 years agonascom: Initial work in progress code (not complete)
Alan Cox [Sat, 21 Jul 2018 12:03:36 +0000 (13:03 +0100)]
nascom: Initial work in progress code (not complete)

These are the initial pieces to support the Lucas/Nascom 80-bus systems. There
is a lot to do before this is remotely useful.

6 years agotrs80m1: note some things to review
Alan Cox [Sat, 21 Jul 2018 12:03:11 +0000 (13:03 +0100)]
trs80m1: note some things to review

6 years agodevscsi: don't compile in unused data structures when not needed
Alan Cox [Sat, 21 Jul 2018 12:01:59 +0000 (13:01 +0100)]
devscsi: don't compile in unused data structures when not needed

6 years agoMerge pull request #646 from DBOTW/trslabel
EtchedPixels [Wed, 18 Jul 2018 17:37:05 +0000 (18:37 +0100)]
Merge pull request #646 from DBOTW/trslabel

tools: build trslabel

6 years agotools: build trslabel
Jenz Guenther [Wed, 18 Jul 2018 16:49:45 +0000 (18:49 +0200)]
tools: build trslabel

6 years agoMerge pull request #645 from beretta42/typo
EtchedPixels [Mon, 16 Jul 2018 22:56:08 +0000 (23:56 +0100)]
Merge pull request #645 from beretta42/typo

coco3: fix link script typo

6 years agococo3: fix link script typo
Brett Gordon [Mon, 16 Jul 2018 14:20:11 +0000 (10:20 -0400)]
coco3: fix link script typo

6 years agoapps: Additional 68K makefile entries
Alan Cox [Sun, 15 Jul 2018 22:11:34 +0000 (23:11 +0100)]
apps: Additional 68K makefile entries

6 years agotrs80: fix dumb bug when I added the input patch
Alan Cox [Sun, 15 Jul 2018 22:02:37 +0000 (23:02 +0100)]
trs80: fix dumb bug when I added the input patch

Reported by Jenz Guenther

6 years agols: Add a cleaned up slightly extended V7 ls for comparison
Alan Cox [Sun, 15 Jul 2018 00:16:21 +0000 (01:16 +0100)]
ls: Add a cleaned up slightly extended V7 ls for comparison

I don't think I like it or our current ls that much.

6 years agocp: use bigger buffers
Alan Cox [Sun, 15 Jul 2018 00:16:13 +0000 (01:16 +0100)]
cp: use bigger buffers

6 years agoprocess: small optimzations
Alan Cox [Sat, 14 Jul 2018 23:40:27 +0000 (00:40 +0100)]
process: small optimzations

6 years agokernel: dead code fix
Alan Cox [Sat, 14 Jul 2018 23:37:11 +0000 (00:37 +0100)]
kernel: dead code fix

6 years agocp: fix silence when given insufficient arguments
Alan Cox [Sat, 14 Jul 2018 20:59:28 +0000 (21:59 +0100)]
cp: fix silence when given insufficient arguments

6 years agoamstradnc: fix silly graphics bug
Alan Cox [Sat, 14 Jul 2018 20:56:22 +0000 (21:56 +0100)]
amstradnc: fix silly graphics bug

6 years agokernel: update version to 0.2rc1
Alan Cox [Sat, 14 Jul 2018 20:51:17 +0000 (21:51 +0100)]
kernel: update version to 0.2rc1

We are now feature complete for my 0.2 target list on the kernel side

6 years agotrs80m1: rearrange memory a bit and turn on networking
Alan Cox [Sat, 14 Jul 2018 20:50:03 +0000 (21:50 +0100)]
trs80m1: rearrange memory a bit and turn on networking

It all fits so why not.

6 years agotrs80m1: add input meta handler
Alan Cox [Sat, 14 Jul 2018 20:49:48 +0000 (21:49 +0100)]
trs80m1: add input meta handler

6 years agotrs80: make the model 4 use the new handler
Alan Cox [Sat, 14 Jul 2018 20:49:29 +0000 (21:49 +0100)]
trs80: make the model 4 use the new handler

6 years agokernel: add the input meta handlers
Alan Cox [Sat, 14 Jul 2018 20:49:04 +0000 (21:49 +0100)]
kernel: add the input meta handlers

6 years agotty: turn on the data_consumed event
Alan Cox [Sat, 14 Jul 2018 15:43:38 +0000 (16:43 +0100)]
tty: turn on the data_consumed event

6 years agotrs80m1: further tty debug
Alan Cox [Sat, 14 Jul 2018 15:43:30 +0000 (16:43 +0100)]
trs80m1: further tty debug

6 years agotty: prototypes for the new helper
Alan Cox [Sat, 14 Jul 2018 15:43:00 +0000 (16:43 +0100)]
tty: prototypes for the new helper

6 years agotty: expose re-enabled fullq() helper as the tty layer will need this
Alan Cox [Sat, 14 Jul 2018 15:42:33 +0000 (16:42 +0100)]
tty: expose re-enabled fullq() helper as the tty layer will need this

6 years agotty: add the new tty_data_consumed method
Alan Cox [Sat, 14 Jul 2018 15:42:04 +0000 (16:42 +0100)]
tty: add the new tty_data_consumed method

This is needed for flow control but does mean we need to add a null helper
everywhere.

6 years agotrs80m1: add flow control and fix some other bugs
Alan Cox [Sat, 14 Jul 2018 15:19:42 +0000 (16:19 +0100)]
trs80m1: add flow control and fix some other bugs

This relies on a pending core change that will get pushed soon but needs to
be propogated everywhere else first.

6 years agotrs80m1: clean up devtty.c with indent etc
Alan Cox [Sat, 14 Jul 2018 14:48:17 +0000 (15:48 +0100)]
trs80m1: clean up devtty.c with indent etc

No code changes

6 years agotrs80m1: video genie serial ports .. continued
Alan Cox [Sat, 14 Jul 2018 14:46:49 +0000 (15:46 +0100)]
trs80m1: video genie serial ports .. continued

6 years agolibc: Tidy up use of __NaN
Alan Cox [Sat, 14 Jul 2018 14:29:30 +0000 (15:29 +0100)]
libc: Tidy up use of __NaN

Now that SDCC only warns on divison by 0 we can put these back as they should
be so they also force any appropriate exception handling.

6 years agops: add manual page
Alan Cox [Sat, 14 Jul 2018 14:13:58 +0000 (15:13 +0100)]
ps: add manual page

6 years agosubstroot: enable and use
Alan Cox [Sat, 14 Jul 2018 13:44:27 +0000 (14:44 +0100)]
substroot: enable and use

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sat, 14 Jul 2018 00:33:35 +0000 (01:33 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agops: fix up option message
Alan Cox [Sat, 14 Jul 2018 00:33:09 +0000 (01:33 +0100)]
ps: fix up option message

6 years agogfxtest: Lowe LE18 support
Alan Cox [Sat, 14 Jul 2018 00:32:49 +0000 (01:32 +0100)]
gfxtest: Lowe LE18 support

6 years agoinittab: remove blank line
Alan Cox [Sat, 14 Jul 2018 00:32:30 +0000 (01:32 +0100)]
inittab: remove blank line

6 years agosubstroot: add a handy tool we'll use for boot scripts
Alan Cox [Sat, 14 Jul 2018 00:31:58 +0000 (01:31 +0100)]
substroot: add a handy tool we'll use for boot scripts

6 years agotrs80m1: remove double buffering from buffers, speed up user copies
Alan Cox [Sat, 14 Jul 2018 00:30:37 +0000 (01:30 +0100)]
trs80m1: remove double buffering from buffers, speed up user copies

6 years agotrs80m1: make buffers.c a bit more readable
Alan Cox [Fri, 13 Jul 2018 23:09:00 +0000 (00:09 +0100)]
trs80m1: make buffers.c a bit more readable

Depends on the tool chain fix

6 years agotools: record and process source/dest banks to fix data reloc bug
Alan Cox [Fri, 13 Jul 2018 23:07:51 +0000 (00:07 +0100)]
tools: record and process source/dest banks to fix data reloc bug

Before if we had something like

extern char foo[];
char *x = foo;

and foo was banked the fixup code would try and write a code stub mashing
x in the process. Now it treats data to data references as intentional.

6 years agotools: more banked section types
Alan Cox [Fri, 13 Jul 2018 22:51:13 +0000 (23:51 +0100)]
tools: more banked section types

6 years agotrs80m1: big set of somewhat intertwined updates
Alan Cox [Fri, 13 Jul 2018 22:49:23 +0000 (23:49 +0100)]
trs80m1: big set of somewhat intertwined updates

- Move the video genie serial to tty4 - you can after all have either type
  on a VG system
- Add RTC support
- Dynamically sized external buffers

The buffer bouncing logic is still crap and as a result it sucks performance
wise but that's a follow up item.

6 years agotrs80m1: remove dead debugging
Alan Cox [Fri, 13 Jul 2018 22:48:40 +0000 (23:48 +0100)]
trs80m1: remove dead debugging

6 years agokernel: don't declare array size of disk buffers in headers
Alan Cox [Fri, 13 Jul 2018 14:23:11 +0000 (15:23 +0100)]
kernel: don't declare array size of disk buffers in headers

Some platforms resize it later so it's misleading and we don't want someone
using sizeof() where they shouldn't

6 years agoMerge pull request #641 from piso77/fixes
EtchedPixels [Fri, 13 Jul 2018 00:28:36 +0000 (01:28 +0100)]
Merge pull request #641 from piso77/fixes

Misc fixes

6 years agotrs80m1: switch to separately banked buffers
Alan Cox [Fri, 13 Jul 2018 00:26:35 +0000 (01:26 +0100)]
trs80m1: switch to separately banked buffers

This is a first cut. The buffers.c code needs rewriting.

6 years agotrs80m1: update README
Alan Cox [Fri, 13 Jul 2018 00:26:08 +0000 (01:26 +0100)]
trs80m1: update README

6 years agocpuinfo: first cut at a cpuinfo command
Alan Cox [Fri, 13 Jul 2018 00:24:53 +0000 (01:24 +0100)]
cpuinfo: first cut at a cpuinfo command

This one only does Z80 and needs some deubgging and testing before it's at
all reliable.

6502 NMOS/CMOS 65C816 and 6809/6309 are left as an exercise to the reader 8)

6 years agotravis: hook multicomp09
Paolo Pisati [Thu, 12 Jul 2018 17:42:45 +0000 (17:42 +0000)]
travis: hook multicomp09

Signed-off-by: Paolo Pisati <p.pisati@gmail.com>
6 years agoApplications/netd: Makefile.68000: fix typo
Paolo Pisati [Thu, 12 Jul 2018 17:03:53 +0000 (17:03 +0000)]
Applications/netd: Makefile.68000: fix typo

Signed-off-by: Paolo Pisati <p.pisati@gmail.com>
6 years agoLibrary/libs: fuzix-scc6809: rm autogenerated Makefile
Paolo Pisati [Thu, 12 Jul 2018 17:03:11 +0000 (17:03 +0000)]
Library/libs: fuzix-scc6809: rm autogenerated Makefile

Signed-off-by: Paolo Pisati <p.pisati@gmail.com>
6 years agoLibrary/libs: fuzixpdp11: rm autogenerated Makefile
Paolo Pisati [Thu, 12 Jul 2018 17:02:52 +0000 (17:02 +0000)]
Library/libs: fuzixpdp11: rm autogenerated Makefile

Signed-off-by: Paolo Pisati <p.pisati@gmail.com>
6 years agoLibrary/libs: fuzix68000: rm autogenerated Makefile
Paolo Pisati [Thu, 12 Jul 2018 17:01:43 +0000 (17:01 +0000)]
Library/libs: fuzix68000: rm autogenerated Makefile

Signed-off-by: Paolo Pisati <p.pisati@gmail.com>