FUZIX.git
6 years agor2k: Add hooks for the Rabbit 2000 to the apps build process
Alan Cox [Sun, 29 Apr 2018 22:14:15 +0000 (23:14 +0100)]
r2k: Add hooks for the Rabbit 2000 to the apps build process

6 years agoLibrary: add the bits needed to build a Rabbit 2000 C library
Alan Cox [Sun, 29 Apr 2018 22:09:21 +0000 (23:09 +0100)]
Library: add the bits needed to build a Rabbit 2000 C library

syscall.s is still a stub until we build the kernel and sort out the syscall
interface a bit more. It might be worth fixing the design flaw in the existing
one for the Rabbit over Z80, and then moving Z80 to it in when we have the
relocatable binary format flag day.

6 years agotools: Add bits we need for Rabbit R2K support
Alan Cox [Sun, 29 Apr 2018 22:07:13 +0000 (23:07 +0100)]
tools: Add bits we need for Rabbit R2K support

There's not a lot we have to do at this level but pass a few differing flags.

We should revisit fcc and the idea of z80/ z180/ r2k/ r3ka/ directories for
libraries and crt0 ?

6 years agoz80: Add support for Rabbit as well as Z80 processors
Alan Cox [Sun, 29 Apr 2018 22:06:47 +0000 (23:06 +0100)]
z80: Add support for Rabbit as well as Z80 processors

6 years agosched_yield: simplify
Alan Cox [Sun, 29 Apr 2018 00:41:50 +0000 (01:41 +0100)]
sched_yield: simplify

switchout now does the right thing for us

6 years agoprocess: fix typo
Alan Cox [Sun, 29 Apr 2018 00:41:42 +0000 (01:41 +0100)]
process: fix typo

6 years agoMerge pull request #610 from beretta42/lp
EtchedPixels [Sat, 28 Apr 2018 23:25:03 +0000 (00:25 +0100)]
Merge pull request #610 from beretta42/lp

coco3: fix lp driver to return no of bytes written, not just 0

6 years agococo3: fix lp driver to return no of bytes written, not just 0
Brett Gordon [Sat, 28 Apr 2018 14:31:09 +0000 (10:31 -0400)]
coco3: fix lp driver to return no of bytes written, not just 0

6 years ago65C816: update documentation and move to markdown
Alan Cox [Thu, 26 Apr 2018 12:13:50 +0000 (13:13 +0100)]
65C816: update documentation and move to markdown

6 years agographics: updates on notes and UBEE format
Alan Cox [Wed, 25 Apr 2018 13:04:39 +0000 (14:04 +0100)]
graphics: updates on notes and UBEE format

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Wed, 25 Apr 2018 13:04:24 +0000 (14:04 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agoubee: fix memory probing for banked video
Alan Cox [Wed, 25 Apr 2018 13:03:47 +0000 (14:03 +0100)]
ubee: fix memory probing for banked video

With this change no TC ubees get to the point you can type keys at which point
the keyboard driver returns crap.

6 years agoubee: lay foundations for graphic mode support
Alan Cox [Wed, 25 Apr 2018 13:03:17 +0000 (14:03 +0100)]
ubee: lay foundations for graphic mode support

6 years agoubee: fix crt0 handling of non TC
Alan Cox [Wed, 25 Apr 2018 13:02:44 +0000 (14:02 +0100)]
ubee: fix crt0 handling of non TC

6 years agoMerge pull request #609 from davidgiven/nc200
EtchedPixels [Tue, 24 Apr 2018 22:13:48 +0000 (23:13 +0100)]
Merge pull request #609 from davidgiven/nc200

Amstrad NC boot fixes, raw disk I/O fixes

6 years agoubee: Fix TC shift/ctrl keys
Alan Cox [Tue, 24 Apr 2018 19:58:54 +0000 (20:58 +0100)]
ubee: Fix TC shift/ctrl keys

6 years agoRework the bootblock to avoid several how-did-this-ever-work style bugs where
David Given [Tue, 24 Apr 2018 19:54:29 +0000 (21:54 +0200)]
Rework the bootblock to avoid several how-did-this-ever-work style bugs where
pages of code weren't being mapped in the right place.

6 years agoActually read data into user memory, rather than scribbling randomly across the
David Given [Tue, 24 Apr 2018 19:01:27 +0000 (21:01 +0200)]
Actually read data into user memory, rather than scribbling randomly across the
address space (which never works).

6 years agoubee: update README
Alan Cox [Mon, 23 Apr 2018 22:43:26 +0000 (23:43 +0100)]
ubee: update README

6 years agoubee: sketch out the revised backscroll
Alan Cox [Mon, 23 Apr 2018 22:39:02 +0000 (23:39 +0100)]
ubee: sketch out the revised backscroll

6 years agoinode: fix silly bug in direct I/O fix attempt
Alan Cox [Mon, 23 Apr 2018 22:31:51 +0000 (23:31 +0100)]
inode: fix silly bug in direct I/O fix attempt

Maybe this time it'll actually work

6 years agoMerge pull request #608 from davidgiven/nc200
EtchedPixels [Mon, 23 Apr 2018 22:21:30 +0000 (23:21 +0100)]
Merge pull request #608 from davidgiven/nc200

NC200 screen and floppy support

6 years agoUpdate documentation.
David Given [Mon, 23 Apr 2018 20:42:41 +0000 (22:42 +0200)]
Update documentation.

6 years agoPost-merge fixing to make the floppy driver work.
David Given [Mon, 23 Apr 2018 20:27:03 +0000 (22:27 +0200)]
Post-merge fixing to make the floppy driver work.

6 years agoIn-progress (non-building) merge of the NC200 floppy driver.
David Given [Mon, 23 Apr 2018 19:00:12 +0000 (21:00 +0200)]
In-progress (non-building) merge of the NC200 floppy driver.

6 years agoCorrectly set the location and size of the video memory on the NC200.
David Given [Mon, 23 Apr 2018 18:52:26 +0000 (20:52 +0200)]
Correctly set the location and size of the video memory on the NC200.

6 years agoubee: update the vt code to make the 6545 hardware cursor work
Alan Cox [Mon, 23 Apr 2018 13:24:48 +0000 (14:24 +0100)]
ubee: update the vt code to make the 6545 hardware cursor work

6 years agostart: its 2018
Alan Cox [Mon, 23 Apr 2018 13:24:37 +0000 (14:24 +0100)]
start: its 2018

6 years agofilesys: note where locking changes will be needed
Alan Cox [Mon, 23 Apr 2018 13:24:19 +0000 (14:24 +0100)]
filesys: note where locking changes will be needed

6 years agoMerge pull request #607 from davidgiven/nc200
EtchedPixels [Sun, 22 Apr 2018 12:10:39 +0000 (13:10 +0100)]
Merge pull request #607 from davidgiven/nc200

Rearrange platform-nc100 and platform-nc200

6 years agoubee: more oddments on the display code etc
Alan Cox [Sun, 22 Apr 2018 12:09:12 +0000 (13:09 +0100)]
ubee: more oddments on the display code etc

6 years agoBodge the prototype NC200 port into at least building (although it doesn't
David Given [Sat, 21 Apr 2018 14:32:52 +0000 (16:32 +0200)]
Bodge the prototype NC200 port into at least building (although it doesn't
work).

6 years agoStage #1 of moving the NC200 stuff into the amstradnc directory.
David Given [Sat, 21 Apr 2018 13:57:47 +0000 (15:57 +0200)]
Stage #1 of moving the NC200 stuff into the amstradnc directory.

6 years agoMerge from master.
David Given [Sat, 21 Apr 2018 13:48:02 +0000 (15:48 +0200)]
Merge from master.

6 years agoRefactor the Amstrad NC directory so that the NC100 build stuff is in its own
David Given [Sat, 21 Apr 2018 11:02:38 +0000 (13:02 +0200)]
Refactor the Amstrad NC directory so that the NC100 build stuff is in its own
subdirectory --- this is to allow a hypothetical NC200 port to have different
build scripts but share as much code as possible.

This changes the platform name from nc100 to amstradnc/nc100.

6 years agoFirst draft conversion of the floppy driver away from the block device
David Given [Fri, 20 Apr 2018 22:22:50 +0000 (00:22 +0200)]
First draft conversion of the floppy driver away from the block device
framework --- smaller and hopefully faster; but it looks like this is revealing
some awful memory corrupt bug and the root filesystem doesn't reliably mount
any more.

6 years agoubee: fix up the display code bugs
Alan Cox [Fri, 20 Apr 2018 12:32:09 +0000 (13:32 +0100)]
ubee: fix up the display code bugs

We still don't do all the scrolling right but this will do for testing other
bits of the code

6 years agoubee: turn on clearing vt now the port bug is fixed
Alan Cox [Fri, 20 Apr 2018 12:31:22 +0000 (13:31 +0100)]
ubee: turn on clearing vt now the port bug is fixed

6 years agoubee: set display to 80x25
Alan Cox [Fri, 20 Apr 2018 12:31:02 +0000 (13:31 +0100)]
ubee: set display to 80x25

6 years agoubee: call map_kernel in start up to initialize shadow port copy
Alan Cox [Fri, 20 Apr 2018 12:30:34 +0000 (13:30 +0100)]
ubee: call map_kernel in start up to initialize shadow port copy

6 years agoubee: NMOS Z80 with bugs
Alan Cox [Fri, 20 Apr 2018 12:30:18 +0000 (13:30 +0100)]
ubee: NMOS Z80 with bugs

6 years agoubee: Next stages to get from prototype to usable
Alan Cox [Thu, 19 Apr 2018 22:50:37 +0000 (23:50 +0100)]
ubee: Next stages to get from prototype to usable

- Draft code for lpen keyboard
- Fix various platform detection bugs
- Rework video to bank it out when not used (in progress)
- Support attributes and colour
- Memory map re-arrange and buffer recovery
- Turn on networking and other stuff that is useful

Not yet working (still debugging the video changes)

6 years agovt: vtattr_notify missing cases
Alan Cox [Thu, 19 Apr 2018 22:45:00 +0000 (23:45 +0100)]
vt: vtattr_notify missing cases

Set sensible colours on startup and notify the platform code so it can set up
the correct properties.

Also do a notify on a vt switch as the attributes are per vt.

6 years agovt: should define vtattr in the headers
Alan Cox [Thu, 19 Apr 2018 22:44:40 +0000 (23:44 +0100)]
vt: should define vtattr in the headers

This didn't show up as everyone currently uses it in asm files only

6 years agoMerge from master.
David Given [Thu, 19 Apr 2018 21:11:17 +0000 (23:11 +0200)]
Merge from master.

6 years agokernel: hopefully fix the busy block panic
Alan Cox [Wed, 18 Apr 2018 22:44:45 +0000 (23:44 +0100)]
kernel: hopefully fix the busy block panic

Do make backups before you test this!

6 years agoAdd motor spindown and multisector transfer support (although we only ever seem
David Given [Wed, 18 Apr 2018 21:49:23 +0000 (23:49 +0200)]
Add motor spindown and multisector transfer support (although we only ever seem
to be asked for a single sector at a time). Fix so, so many bugs.

6 years agoinode: and a quick fixup for the fixup
Alan Cox [Tue, 17 Apr 2018 22:17:28 +0000 (23:17 +0100)]
inode: and a quick fixup for the fixup

This is too ugly to live long term but will do for the moment while I figure
out the proper way to deal with this and avoid things like the double search.

Possibly we need a unified 'bread' related operation that gets the contents
of a buffer into user space, by any means needed.

Something like

bp = bfind(...)
if (bp || !user) {
if (bp == NULL)
bread_no_lookup()
update fields
copy to user
unlock
return
}
issue raw copy to user page

6 years agoinode: Fix double locking
Alan Cox [Tue, 17 Apr 2018 22:13:51 +0000 (23:13 +0100)]
inode: Fix double locking

This was a long lurking buglet caught by the new inode locking code and
chased down by Tormod. I think this approach is correct. The old inefficiency
of doing a bfind to find the buffer does not exist and the a bread discovering
this again is still present.

6 years agoz80pack: update README
Alan Cox [Tue, 17 Apr 2018 22:13:27 +0000 (23:13 +0100)]
z80pack: update README

6 years agoubee: first sketch out of light pen keyboard support
Alan Cox [Tue, 17 Apr 2018 22:13:07 +0000 (23:13 +0100)]
ubee: first sketch out of light pen keyboard support

6 years agoAdd bare-bones work-in-progress floppy disk driver: no spindown, and everything
David Given [Tue, 17 Apr 2018 21:07:27 +0000 (23:07 +0200)]
Add bare-bones work-in-progress floppy disk driver: no spindown, and everything
is a sector at a time, but it'll boot and load init.

6 years agoinput: add BUTTON(n) define for the button byte
Alan Cox [Sun, 15 Apr 2018 13:48:01 +0000 (14:48 +0100)]
input: add BUTTON(n) define for the button byte

6 years agoz80pack: turn on direct I/O for execve etc
Alan Cox [Sun, 15 Apr 2018 13:47:45 +0000 (14:47 +0100)]
z80pack: turn on direct I/O for execve etc

6 years agopcw8256: further update/work
Alan Cox [Sun, 15 Apr 2018 13:47:10 +0000 (14:47 +0100)]
pcw8256: further update/work

Still need to tackle the rest of the bootloader and the fork bug

6 years agoMerge pull request #606 from beretta42/inputfix
EtchedPixels [Fri, 13 Apr 2018 21:32:34 +0000 (22:32 +0100)]
Merge pull request #606 from beretta42/inputfix

input: fix ifdef typo

6 years agoinput: fix ifdef typo
Brett Gordon [Fri, 13 Apr 2018 05:53:43 +0000 (01:53 -0400)]
input: fix ifdef typo

6 years agopcw8256: Example (in progress) devinput device
Alan Cox [Thu, 12 Apr 2018 10:46:00 +0000 (11:46 +0100)]
pcw8256: Example (in progress) devinput device

- Mice need changing to do their work each vblank and accumulate
- No suport for all up/down events yet
- Still need to work out what mode 1 will mean and define in a globally meaningful way - or add a matches ioctl for say up to 8 'grabbed' keycodes

Hopefully enough of a sketch to start getting joystick support into platforms
at least.

Note: the basic idea of all of this is to bind together all the input events
into a single device so that we don't need all the overhead of poll and big
unixisms. Thus a game can grab the keyboard, and get keyboard/joystick/mouse
events all down one channel

Alan

6 years agokernel: build devinput if needed
Alan Cox [Thu, 12 Apr 2018 10:45:52 +0000 (11:45 +0100)]
kernel: build devinput if needed

6 years agodevinput: the input device layer
Alan Cox [Thu, 12 Apr 2018 10:44:54 +0000 (11:44 +0100)]
devinput: the input device layer

This is designed to be as trivial as possible. The real complexity if any is
in tweaking platform tty code to queue all the up/down events when the keyboard
is grabbed.

6 years agodevsys: hooks for input device
Alan Cox [Thu, 12 Apr 2018 10:44:44 +0000 (11:44 +0100)]
devsys: hooks for input device

6 years agoinput: definitions for input device
Alan Cox [Thu, 12 Apr 2018 10:44:32 +0000 (11:44 +0100)]
input: definitions for input device

6 years agoinput: reserve an ioctl range for the input device
Alan Cox [Thu, 12 Apr 2018 10:44:06 +0000 (11:44 +0100)]
input: reserve an ioctl range for the input device

6 years agopcw8256: add initial cut at hard disk drivers
Alan Cox [Wed, 11 Apr 2018 22:37:52 +0000 (23:37 +0100)]
pcw8256: add initial cut at hard disk drivers

Update some notes
Add some of the swap bits (more is needed see the COCO3)

6 years agosuper: tweak a bit
Alan Cox [Tue, 10 Apr 2018 22:25:44 +0000 (23:25 +0100)]
super: tweak a bit

Still don't rely upon this

6 years agosuperblock: Add geometry proposal
Alan Cox [Tue, 10 Apr 2018 22:21:19 +0000 (23:21 +0100)]
superblock: Add geometry proposal

Don't use or rely on this yet!

6 years agosuperblock: get the kernel inoptr out of the superblock
Alan Cox [Tue, 10 Apr 2018 22:16:42 +0000 (23:16 +0100)]
superblock: get the kernel inoptr out of the superblock

Put it in the memory only area where it belongs

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Tue, 10 Apr 2018 21:51:02 +0000 (22:51 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years ago6502: first attempt at a proper push/pop signal stacking handler
Alan Cox [Tue, 10 Apr 2018 21:50:32 +0000 (22:50 +0100)]
6502: first attempt at a proper push/pop signal stacking handler

6 years agoMerge pull request #605 from beretta42/time
EtchedPixels [Tue, 10 Apr 2018 13:38:07 +0000 (14:38 +0100)]
Merge pull request #605 from beretta42/time

debug new api for RTC's

Mostly overlaps other fixes, just merging remainder

6 years agoMerge branch 'master' into time
EtchedPixels [Tue, 10 Apr 2018 13:37:44 +0000 (14:37 +0100)]
Merge branch 'master' into time

6 years agoz80pack: update to platform_rtc_ naming
Alan Cox [Tue, 10 Apr 2018 12:30:17 +0000 (13:30 +0100)]
z80pack: update to platform_rtc_ naming

6 years agonc100: remove dead functionality breaking build
Alan Cox [Tue, 10 Apr 2018 12:29:57 +0000 (13:29 +0100)]
nc100: remove dead functionality breaking build

6 years agopcw8256: README
Alan Cox [Tue, 10 Apr 2018 12:29:42 +0000 (13:29 +0100)]
pcw8256: README

6 years agopcw8256: add now required copy_common method
Alan Cox [Tue, 10 Apr 2018 12:29:11 +0000 (13:29 +0100)]
pcw8256: add now required copy_common method

Lots more needed to make this platform work

6 years agoz80pack-lite: Fix typo breaking build
Alan Cox [Tue, 10 Apr 2018 12:28:57 +0000 (13:28 +0100)]
z80pack-lite: Fix typo breaking build

6 years agods1302: move to platform_rtc_ naming
Alan Cox [Mon, 9 Apr 2018 20:37:22 +0000 (21:37 +0100)]
ds1302: move to platform_rtc_ naming

6 years agoz180: fix rename of monitor entry
Alan Cox [Mon, 9 Apr 2018 20:37:09 +0000 (21:37 +0100)]
z180: fix rename of monitor entry

6 years agotime: change references to rtc_secs to platform_rtc_secs
Brett Gordon [Sun, 8 Apr 2018 23:07:50 +0000 (19:07 -0400)]
time: change references to rtc_secs to platform_rtc_secs

rtc_secs() has no prototype anymore, and errant results from an
implied call was speeding my clock up by 51 secs every RTC_INTERVAL.
change everyone over to new api.

6 years ago6502: fix make clean
Alan Cox [Sun, 8 Apr 2018 23:05:22 +0000 (00:05 +0100)]
6502: fix make clean

6 years ago6502: fix make clean
Alan Cox [Sun, 8 Apr 2018 23:05:04 +0000 (00:05 +0100)]
6502: fix make clean

6 years ago65c816: align with platform_ change for monitor call
Alan Cox [Sun, 8 Apr 2018 23:04:28 +0000 (00:04 +0100)]
65c816: align with platform_ change for monitor call

6 years agortc: change rtc to platform_
Alan Cox [Sun, 8 Apr 2018 23:04:14 +0000 (00:04 +0100)]
rtc: change rtc to platform_

6 years agococo3: redo drivewire time rtc / simplify.
Brett Gordon [Sun, 8 Apr 2018 22:28:27 +0000 (18:28 -0400)]
coco3: redo drivewire time rtc / simplify.

6 years agococo3: move to platform_rtc
Alan Cox [Sun, 8 Apr 2018 20:42:43 +0000 (21:42 +0100)]
coco3: move to platform_rtc

6 years agoasz80: fix Makefile clean for 6809
Alan Cox [Sun, 8 Apr 2018 20:38:55 +0000 (21:38 +0100)]
asz80: fix Makefile clean for 6809

6 years agotrs80: fix (I hope) the display setup logic
Alan Cox [Sun, 8 Apr 2018 20:35:39 +0000 (21:35 +0100)]
trs80: fix (I hope) the display setup logic

The emulator doesn't really emulate this so hopefully its now right on the real
beastie

6 years agotimer: start switching platforms to platform_ naming
Alan Cox [Sun, 8 Apr 2018 20:35:25 +0000 (21:35 +0100)]
timer: start switching platforms to platform_ naming

6 years agoz80: build gpt tools
Alan Cox [Sun, 8 Apr 2018 20:31:24 +0000 (21:31 +0100)]
z80: build gpt tools

6 years agoLibrary: fix builds on systems not using gcc
Alan Cox [Sun, 8 Apr 2018 20:30:55 +0000 (21:30 +0100)]
Library: fix builds on systems not using gcc

6 years agoMerge pull request #599 from beretta42/net
EtchedPixels [Sun, 8 Apr 2018 19:55:42 +0000 (20:55 +0100)]
Merge pull request #599 from beretta42/net

net_native: clear event upon unhooking.

6 years agoMerge pull request #600 from beretta42/apple
EtchedPixels [Sun, 8 Apr 2018 19:55:08 +0000 (20:55 +0100)]
Merge pull request #600 from beretta42/apple

lib: fix 6502 syscall generator

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 8 Apr 2018 19:54:06 +0000 (20:54 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agopdp11: commit makefile and crt0 code
Alan Cox [Sun, 8 Apr 2018 19:52:03 +0000 (20:52 +0100)]
pdp11: commit makefile and crt0 code

6 years agocrt0: Fix return propogation to exit
Alan Cox [Sun, 8 Apr 2018 19:51:21 +0000 (20:51 +0100)]
crt0: Fix return propogation to exit

Reported by David Given

6 years agoMerge pull request #604 from beretta42/tar
EtchedPixels [Sun, 8 Apr 2018 19:43:24 +0000 (20:43 +0100)]
Merge pull request #604 from beretta42/tar

tar: issue fixes

6 years agotar: truncate existing files.
Brett Gordon [Sun, 8 Apr 2018 16:42:12 +0000 (12:42 -0400)]
tar: truncate existing files.

6 years agotar: make parent directories
Brett Gordon [Sun, 8 Apr 2018 16:41:29 +0000 (12:41 -0400)]
tar: make parent directories

6 years agonet_native: clear event upon unhooking.
Brett Gordon [Sun, 8 Apr 2018 03:27:10 +0000 (23:27 -0400)]
net_native: clear event upon unhooking.

this prevents netdev_findevent() from continually reporting on a
dead socket, thus preventing any other socket/event from being
reported to the network daemon.

6 years agocromemco: first cut at the low level disk drivers for the 16FDC
Alan Cox [Sat, 7 Apr 2018 17:33:32 +0000 (18:33 +0100)]
cromemco: first cut at the low level disk drivers for the 16FDC

To fix:
- SD support
- SS support
- Do a head settle delay when changing side
- No support for the slow 8" disk option (PerSci disks ?)

and probably a ton of bugs as this is an initial commit and untested!