FUZIX.git
6 years agotrs80m1: new prototype for genie serial
Alan Cox [Sun, 8 Jul 2018 15:39:19 +0000 (16:39 +0100)]
trs80m1: new prototype for genie serial

6 years agotrs80.h: update Genie comment
Alan Cox [Sun, 8 Jul 2018 15:39:05 +0000 (16:39 +0100)]
trs80.h: update Genie comment

6 years agotrs80: comment/typo fix boot code
Alan Cox [Sun, 8 Jul 2018 15:38:38 +0000 (16:38 +0100)]
trs80: comment/typo fix boot code

6 years agotrs80m1: Fix up the Video Genie handling for serial use halt on Model III
Alan Cox [Sun, 8 Jul 2018 15:36:41 +0000 (16:36 +0100)]
trs80m1: Fix up the Video Genie handling for serial use halt on Model III

The model III has a real interrupt driven serial port, so we can just halt
on it.

6 years agotrs80m1: report proper resolution for the Lowe LE-18
Alan Cox [Sun, 8 Jul 2018 15:36:20 +0000 (16:36 +0100)]
trs80m1: report proper resolution for the Lowe LE-18

6 years agotrs80m1: add initial bits for the Lowe Electronics LE18
Alan Cox [Sun, 8 Jul 2018 15:01:27 +0000 (16:01 +0100)]
trs80m1: add initial bits for the Lowe Electronics LE18

6 years agographics.h: add LOWE_LE18
Alan Cox [Sun, 8 Jul 2018 15:01:13 +0000 (16:01 +0100)]
graphics.h: add LOWE_LE18

6 years agotrs80m1: turn on keyboard bit map access
Alan Cox [Sun, 8 Jul 2018 14:04:38 +0000 (15:04 +0100)]
trs80m1: turn on keyboard bit map access

I forgot this earlier, but we also need it so you can set the keyboard map
for things like German TRS80 Model III

6 years agotrs80m1: update VG
Alan Cox [Sun, 8 Jul 2018 00:57:17 +0000 (01:57 +0100)]
trs80m1: update VG

6 years agotrs80m1: update status
Alan Cox [Sun, 8 Jul 2018 00:12:50 +0000 (01:12 +0100)]
trs80m1: update status

6 years agotrs80m1: note we need to make outchar for debugging other trs80 types
Alan Cox [Sun, 8 Jul 2018 00:11:50 +0000 (01:11 +0100)]
trs80m1: note we need to make outchar for debugging other trs80 types

6 years agotrs80m1: notes on serial port
Alan Cox [Sun, 8 Jul 2018 00:11:35 +0000 (01:11 +0100)]
trs80m1: notes on serial port

6 years agotimer: permit runtime decisions that we have no rtc to lock onto
Alan Cox [Sun, 8 Jul 2018 00:10:47 +0000 (01:10 +0100)]
timer: permit runtime decisions that we have no rtc to lock onto

6 years agotrs80m1: boot loader now also handles selector
Alan Cox [Sat, 7 Jul 2018 21:45:24 +0000 (22:45 +0100)]
trs80m1: boot loader now also handles selector

It's a bit tight but it fits. The code really wants a clean up and a squash

6 years agotrs80m1: update status
Alan Cox [Sat, 7 Jul 2018 19:30:03 +0000 (20:30 +0100)]
trs80m1: update status

6 years agotrs80m1: initial ChromaTRS bits
Alan Cox [Sat, 7 Jul 2018 19:27:24 +0000 (20:27 +0100)]
trs80m1: initial ChromaTRS bits

We don't put a console on it (we could) we just advertise it as a graphics
device and support the joystick ports.

The code needed to support it in console mode already exists in the MSX1 and
MTX512 ports, but really needs a VDP simulation adding to xtrs to debug sanely

6 years agomode: there is a difference between the 9918 and 9918A - we mean A
Alan Cox [Sat, 7 Jul 2018 19:26:42 +0000 (20:26 +0100)]
mode: there is a difference between the 9918 and 9918A - we mean A

6 years agotrs80: Fix backspace/delete
Alan Cox [Sat, 7 Jul 2018 18:51:41 +0000 (19:51 +0100)]
trs80: Fix backspace/delete

6 years agorc: use fsck -a
Alan Cox [Sat, 7 Jul 2018 18:50:50 +0000 (19:50 +0100)]
rc: use fsck -a

6 years agoinit: handle blank lines quietly, and fix explosion on bad lines
Alan Cox [Sat, 7 Jul 2018 18:50:19 +0000 (19:50 +0100)]
init: handle blank lines quietly, and fix explosion on bad lines

6 years agoed: switch to V7 ed
Alan Cox [Sat, 7 Jul 2018 18:49:50 +0000 (19:49 +0100)]
ed: switch to V7 ed

6 years agofsck: Fix use of filesystem names
Alan Cox [Sat, 7 Jul 2018 18:49:30 +0000 (19:49 +0100)]
fsck: Fix use of filesystem names

6 years agosyscall_other: make halt tell you it's done
Alan Cox [Sat, 7 Jul 2018 18:48:59 +0000 (19:48 +0100)]
syscall_other: make halt tell you it's done

Useful when you have a final sync to slow media, or a slow shutdown process
and you want to know when it's finally safe to hit off.

6 years agobasefs: add new files
Alan Cox [Sat, 7 Jul 2018 18:24:13 +0000 (19:24 +0100)]
basefs: add new files

6 years agoetc: update template files a bit
Alan Cox [Sat, 7 Jul 2018 18:23:02 +0000 (19:23 +0100)]
etc: update template files a bit

6 years agomkfs: exit with a valid return code
Alan Cox [Sat, 7 Jul 2018 15:36:36 +0000 (16:36 +0100)]
mkfs: exit with a valid return code

6 years agoue: add 6502 build rules
Alan Cox [Sat, 7 Jul 2018 14:10:47 +0000 (15:10 +0100)]
ue: add 6502 build rules

6 years agoLibrary: add strtok_r everywhere else
Alan Cox [Sat, 7 Jul 2018 14:04:54 +0000 (15:04 +0100)]
Library: add strtok_r everywhere else

6 years agostrtok_r: useful, trivial but was missing from the C library
Alan Cox [Sat, 7 Jul 2018 14:02:16 +0000 (15:02 +0100)]
strtok_r: useful, trivial but was missing from the C library

6 years agops: make it work like it's supposed to
Alan Cox [Sat, 7 Jul 2018 14:01:19 +0000 (15:01 +0100)]
ps: make it work like it's supposed to

This still needs work on times, but the kernel needs to catch up first!

6 years agops: reformat - no other changes
Alan Cox [Sat, 7 Jul 2018 00:15:51 +0000 (01:15 +0100)]
ps: reformat - no other changes

6 years agops: split up and begin tidy
Alan Cox [Sat, 7 Jul 2018 00:15:28 +0000 (01:15 +0100)]
ps: split up and begin tidy

6 years agoinit: allow 'c' option for console to claim related devices
Alan Cox [Fri, 6 Jul 2018 23:59:40 +0000 (00:59 +0100)]
init: allow 'c' option for console to claim related devices

6 years agoapps: build cpmfs etc
Alan Cox [Fri, 6 Jul 2018 23:59:16 +0000 (00:59 +0100)]
apps: build cpmfs etc

6 years agotrs80m1: typo
Alan Cox [Fri, 6 Jul 2018 23:42:17 +0000 (00:42 +0100)]
trs80m1: typo

6 years agotrs80: turn on input support and fix keyboard bits
Alan Cox [Fri, 6 Jul 2018 23:41:59 +0000 (00:41 +0100)]
trs80: turn on input support and fix keyboard bits

6 years agotrs80: remove prototypes for deleted code
Alan Cox [Fri, 6 Jul 2018 23:41:38 +0000 (00:41 +0100)]
trs80: remove prototypes for deleted code

6 years agotrs80: move the initializers out of the main flow
Alan Cox [Fri, 6 Jul 2018 23:41:16 +0000 (00:41 +0100)]
trs80: move the initializers out of the main flow

6 years agotrs80: introduce new files for input device handling
Alan Cox [Fri, 6 Jul 2018 23:40:36 +0000 (00:40 +0100)]
trs80: introduce new files for input device handling

6 years agoremount: add a fallback for finding /
Alan Cox [Fri, 6 Jul 2018 23:39:31 +0000 (00:39 +0100)]
remount: add a fallback for finding /

Otherwise it can be a bit fun fixing up a broken setup

6 years agoutils: add joystick and graphics test code
Alan Cox [Fri, 6 Jul 2018 23:39:02 +0000 (00:39 +0100)]
utils: add joystick and graphics test code

6 years agocpmfs: add help file
Alan Cox [Fri, 6 Jul 2018 23:38:00 +0000 (00:38 +0100)]
cpmfs: add help file

6 years agocave: fix redefinition of Z80 type
Alan Cox [Fri, 6 Jul 2018 23:37:02 +0000 (00:37 +0100)]
cave: fix redefinition of Z80 type

6 years agocpmfs: add Makefiles
Alan Cox [Fri, 6 Jul 2018 23:36:49 +0000 (00:36 +0100)]
cpmfs: add Makefiles

6 years agocpmfs: update types etc
Alan Cox [Fri, 6 Jul 2018 23:36:04 +0000 (00:36 +0100)]
cpmfs: update types etc

6 years agotrs80m1: update status
Alan Cox [Fri, 6 Jul 2018 21:24:46 +0000 (22:24 +0100)]
trs80m1: update status

6 years agotrs80m1: devinput sync with graphics changes
Alan Cox [Fri, 6 Jul 2018 21:22:46 +0000 (22:22 +0100)]
trs80m1: devinput sync with graphics changes

6 years agotrs80m1: fix up model 3 NMI vector (its a JP xx xx) and turn it off at boot
Alan Cox [Fri, 6 Jul 2018 21:21:58 +0000 (22:21 +0100)]
trs80m1: fix up model 3 NMI vector (its a JP xx xx) and turn it off at boot

Otherwise a couple of seconds in we get an NMI that randomly eats AF

6 years agotrs80m1: fix NMI handling up a bit for the Model III
Alan Cox [Fri, 6 Jul 2018 21:21:16 +0000 (22:21 +0100)]
trs80m1: fix NMI handling up a bit for the Model III

We have to be really careful about this as the ROM helpful trashes AF

6 years agotrs80m1: don't do kernel video writes when in micrografyx mode
Alan Cox [Fri, 6 Jul 2018 21:20:50 +0000 (22:20 +0100)]
trs80m1: don't do kernel video writes when in micrografyx mode

6 years agotrs80m1: sort out the graphics logic
Alan Cox [Fri, 6 Jul 2018 21:20:29 +0000 (22:20 +0100)]
trs80m1: sort out the graphics logic

6 years agographics.h: sync with kernel
Alan Cox [Fri, 6 Jul 2018 21:19:21 +0000 (22:19 +0100)]
graphics.h: sync with kernel

6 years agoinput: add user space include file
Alan Cox [Fri, 6 Jul 2018 21:19:01 +0000 (22:19 +0100)]
input: add user space include file

6 years agographics: The Microlabs Grafyx for Model III and IV are not the same
Alan Cox [Fri, 6 Jul 2018 21:18:17 +0000 (22:18 +0100)]
graphics: The Microlabs Grafyx for Model III and IV are not the same

6 years agoinput: rework the input layer concept a bit
Alan Cox [Fri, 6 Jul 2018 21:17:34 +0000 (22:17 +0100)]
input: rework the input layer concept a bit

- Don't write a length byte as we only report one message per read
- Handle signal exits properly
- Don't clash with networking

6 years agococo2cart: update README
Alan Cox [Fri, 6 Jul 2018 21:17:18 +0000 (22:17 +0100)]
coco2cart: update README

6 years agotrs80m1: add initial joystick/input device support
Alan Cox [Fri, 6 Jul 2018 00:16:35 +0000 (01:16 +0100)]
trs80m1: add initial joystick/input device support

6 years agotrs80m1: further selector work
Alan Cox [Fri, 6 Jul 2018 00:15:28 +0000 (01:15 +0100)]
trs80m1: further selector work

Generalize the fork code

6 years agotrs80m1: fix another selector bug and a warning
Alan Cox [Fri, 6 Jul 2018 00:14:07 +0000 (01:14 +0100)]
trs80m1: fix another selector bug and a warning

6 years agotrs80m1: report presence of hr1g globally
Alan Cox [Fri, 6 Jul 2018 00:12:51 +0000 (01:12 +0100)]
trs80m1: report presence of hr1g globally

We need this unfortunate visibility because if you have an HR1G you can't have
an Alpha joystick (polling the joystick turns off the graphics card!)

6 years agokernel: add modifiers to kbd events
Alan Cox [Fri, 6 Jul 2018 00:12:08 +0000 (01:12 +0100)]
kernel: add modifiers to kbd events

6 years agotrs80: clean up graphics
Alan Cox [Thu, 5 Jul 2018 21:59:26 +0000 (22:59 +0100)]
trs80: clean up graphics

As we can direct map stuff and the card is already slow as molasses there isn't
a good reason to support the Graphics ioctl ops except map so throw them out.

While we are at it update the README

6 years agococo2cart; update README
Alan Cox [Thu, 5 Jul 2018 21:56:35 +0000 (22:56 +0100)]
coco2cart; update README

full partitions don't fit

6 years agokernel: add a logical key for caps-lock
Alan Cox [Thu, 5 Jul 2018 21:13:51 +0000 (22:13 +0100)]
kernel: add a logical key for caps-lock

Makes some ports easier

6 years agotrs80m1: make trs80-bank more flexible
Alan Cox [Thu, 5 Jul 2018 12:01:40 +0000 (13:01 +0100)]
trs80m1: make trs80-bank more flexible

Rework trs80-bank so that anything that can be represented by

out someport, someconst - kernel bank 1
out someport, someconst - kernel bank 2

out someport, value - user banks

Can be handled with ease.

This code also adds selector support as the second bank type and others can now
be added without much trouble. It's not the whole story as the fork() code
also needs changing and the fast copier is a bit trickier.

6 years agoREADME: add a reminder about the IDE card
Alan Cox [Thu, 5 Jul 2018 12:00:38 +0000 (13:00 +0100)]
README: add a reminder about the IDE card

6 years agotrs80load: make current loaders explicitly pass A = 0
Alan Cox [Thu, 5 Jul 2018 11:59:19 +0000 (12:59 +0100)]
trs80load: make current loaders explicitly pass A = 0

A is zero anyway but we have room to make it clear

6 years agotrs80m1: preserve A from the boot loader to use as mapper info
Alan Cox [Thu, 5 Jul 2018 11:58:27 +0000 (12:58 +0100)]
trs80m1: preserve A from the boot loader to use as mapper info

We need different boot blocks for different mappers so make them pass in a
mapper code.

Our current boot blocks all enter with A = 0 s this is compatible.

6 years agotrs80m1: fix comment
Alan Cox [Wed, 4 Jul 2018 23:45:05 +0000 (00:45 +0100)]
trs80m1: fix comment

6 years agotrs80m1: keyboard updates
Alan Cox [Wed, 4 Jul 2018 23:34:47 +0000 (00:34 +0100)]
trs80m1: keyboard updates

6 years agovtsupport: make the TRS80 model 1 lower case optional
Alan Cox [Wed, 4 Jul 2018 23:17:23 +0000 (00:17 +0100)]
vtsupport: make the TRS80 model 1 lower case optional

Add support for both unmodified and lowercase machines (with or without all
the extra Tandy logic)

6 years agostringy: more debug work
Alan Cox [Wed, 4 Jul 2018 23:17:15 +0000 (00:17 +0100)]
stringy: more debug work

6 years agokernel: fix a crash with failing to open char devices
Alan Cox [Wed, 4 Jul 2018 00:50:00 +0000 (01:50 +0100)]
kernel: fix a crash with failing to open char devices

6 years agokernel: default to ro mount
Alan Cox [Wed, 4 Jul 2018 00:49:51 +0000 (01:49 +0100)]
kernel: default to ro mount

6 years agotrs80m1: initial (not yet working right) stringy support
Alan Cox [Wed, 4 Jul 2018 00:49:23 +0000 (01:49 +0100)]
trs80m1: initial (not yet working right) stringy support

6 years agotrs80m1: update README
Alan Cox [Wed, 4 Jul 2018 00:49:15 +0000 (01:49 +0100)]
trs80m1: update README

6 years agotrs80m1: support Model III speedup board
Alan Cox [Wed, 4 Jul 2018 00:48:51 +0000 (01:48 +0100)]
trs80m1: support Model III speedup board

6 years agokernel: add initial tape ioctls
Alan Cox [Wed, 4 Jul 2018 00:47:48 +0000 (01:47 +0100)]
kernel: add initial tape ioctls

6 years agotrs80m1: not differing tty on VG
Alan Cox [Wed, 4 Jul 2018 00:47:13 +0000 (01:47 +0100)]
trs80m1: not differing tty on VG

6 years agokernel: new graphics types
Alan Cox [Wed, 4 Jul 2018 00:46:01 +0000 (01:46 +0100)]
kernel: new graphics types

6 years agotrs80m1: ensure panic message isn't buffered and unseen
Alan Cox [Tue, 3 Jul 2018 16:45:54 +0000 (17:45 +0100)]
trs80m1: ensure panic message isn't buffered and unseen

6 years agotrs80m1: add initial exatron support
Alan Cox [Tue, 3 Jul 2018 15:48:04 +0000 (16:48 +0100)]
trs80m1: add initial exatron support

We need something to develop tape code against and the stringy floppy is nice
and easy on the Model I because it's a ROM full of nice helpers..

6 years agotape: initial tape ioctls
Alan Cox [Tue, 3 Jul 2018 15:47:53 +0000 (16:47 +0100)]
tape: initial tape ioctls

6 years agotrs80m1: fill in the graphics basics
Alan Cox [Mon, 2 Jul 2018 23:51:18 +0000 (00:51 +0100)]
trs80m1: fill in the graphics basics

Not yet tested

6 years agotrs80m1: update README
Alan Cox [Mon, 2 Jul 2018 21:47:49 +0000 (22:47 +0100)]
trs80m1: update README

6 years agotrs80: adopt new description
Alan Cox [Mon, 2 Jul 2018 21:47:25 +0000 (22:47 +0100)]
trs80: adopt new description

6 years agokernel: add trs80 graphics mode
Alan Cox [Mon, 2 Jul 2018 21:45:44 +0000 (22:45 +0100)]
kernel: add trs80 graphics mode

6 years agotrs80m1: finish up minimal graphics reporting
Alan Cox [Mon, 2 Jul 2018 21:44:13 +0000 (22:44 +0100)]
trs80m1: finish up minimal graphics reporting

This doesn't address the model III hi-res graphics board

6 years agotrs80: don't allow serial port terminals to do graphics !
Alan Cox [Mon, 2 Jul 2018 21:43:44 +0000 (22:43 +0100)]
trs80: don't allow serial port terminals to do graphics !

6 years agomode: teach new mode types
Alan Cox [Mon, 2 Jul 2018 21:43:26 +0000 (22:43 +0100)]
mode: teach new mode types

6 years agographics.h: propogate kernel changes
Alan Cox [Mon, 2 Jul 2018 21:43:12 +0000 (22:43 +0100)]
graphics.h: propogate kernel changes

6 years agosignal.h: should define signal() according to the standards
Alan Cox [Mon, 2 Jul 2018 21:20:32 +0000 (22:20 +0100)]
signal.h: should define signal() according to the standards

6 years agotrs80: trivial formatting
Alan Cox [Mon, 2 Jul 2018 21:20:05 +0000 (22:20 +0100)]
trs80: trivial formatting

6 years agotrs80m1: sort out all the multi-console fun
Alan Cox [Mon, 2 Jul 2018 21:19:07 +0000 (22:19 +0100)]
trs80m1: sort out all the multi-console fun

Shift left arrow and shift right arrow switch consoles (2 for now but we could
easily do 4 as the exchange buffers are banked)

6 years agotrs80m1: fix comment
Alan Cox [Mon, 2 Jul 2018 21:18:49 +0000 (22:18 +0100)]
trs80m1: fix comment

6 years agotrs80m1: use the printer port to dump diagnostics
Alan Cox [Mon, 2 Jul 2018 21:18:18 +0000 (22:18 +0100)]
trs80m1: use the printer port to dump diagnostics

6 years agobankld: support banked linking of non common area data
Alan Cox [Mon, 2 Jul 2018 21:17:31 +0000 (22:17 +0100)]
bankld: support banked linking of non common area data

We need this to put things like the vt buffer into a specific bank rather
than common space on TRS80 model 1

6 years agotrs80m1: sort out the keyboard
Alan Cox [Sun, 1 Jul 2018 23:58:12 +0000 (00:58 +0100)]
trs80m1: sort out the keyboard

We now correctly implement the Model I and III keyboards including allowing
the use of downarrow for control and various extra control/control-shift combos
for characters that are otherwise missing.

While we are at it put back the framework for console flipping although this
depends at the moment on a key you can't press !

6 years agotrs80m1: Only poll the serial port
Alan Cox [Sun, 1 Jul 2018 23:56:32 +0000 (00:56 +0100)]
trs80m1: Only poll the serial port

Otherwise we try and ack no existant interrupts, our timers go off and our
keyboard repeat breaks.

With this fixed xtrs works even without delays (ie simulating a 200MHz+ Z80)

6 years agococo2: memory usage
Alan Cox [Sun, 1 Jul 2018 20:15:10 +0000 (21:15 +0100)]
coco2: memory usage
Rearrange memory
Remove drivewire
Pack things into some of the spaces
Use the LEVEL_0 option

At this point we have 28.5K user space

Still really a demo of how small we can go, and for shrinking work.