FUZIX.git
6 years agocrt0: use stosb not zero and mov
Alan Cox [Thu, 19 Oct 2017 22:00:20 +0000 (23:00 +0100)]
crt0: use stosb not zero and mov

Z80 programmer escaped into x86

6 years agoibmpc: PC implementation of the fast page copy and clear
Alan Cox [Thu, 19 Oct 2017 21:59:41 +0000 (22:59 +0100)]
ibmpc: PC implementation of the fast page copy and clear

6 years ago8086: add the page clear and copy logic
Alan Cox [Thu, 19 Oct 2017 21:59:03 +0000 (22:59 +0100)]
8086: add the page clear and copy logic

Fast 4K copy and clear routines for shuffling memory

6 years agomtx: forgot the final commit to fix the devtty build
Alan Cox [Thu, 19 Oct 2017 21:18:18 +0000 (22:18 +0100)]
mtx: forgot the final commit to fix the devtty build

6 years agoz180: set USERCPU so new build rules work
Alan Cox [Thu, 19 Oct 2017 21:15:54 +0000 (22:15 +0100)]
z180: set USERCPU so new build rules work

6 years agobank16; fix silly typo
Alan Cox [Thu, 19 Oct 2017 20:58:09 +0000 (21:58 +0100)]
bank16; fix silly typo

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Thu, 19 Oct 2017 20:09:10 +0000 (21:09 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agoprojects: longer term kernel projects for someone
Alan Cox [Thu, 19 Oct 2017 20:08:57 +0000 (21:08 +0100)]
projects: longer term kernel projects for someone

6 years agotmpfree: missed TRS80
Alan Cox [Thu, 19 Oct 2017 20:08:30 +0000 (21:08 +0100)]
tmpfree: missed TRS80

6 years agotmpfree: update all the usages of brelse that will now be tmpfree
Alan Cox [Thu, 19 Oct 2017 20:07:55 +0000 (21:07 +0100)]
tmpfree: update all the usages of brelse that will now be tmpfree

6 years agokernel: preparatory work for Split I/D and for out of memory buffers
Alan Cox [Thu, 19 Oct 2017 20:04:39 +0000 (21:04 +0100)]
kernel: preparatory work for Split I/D and for out of memory buffers

Pair tmpbuf with tmpfree (which for now is still brelse) but in future may
be unrelated to bufcache

Change pagemap_realloc prototype and arrange existing loaders so nothing breaks
for now.

6 years agokernel: API changes for realloc
Alan Cox [Thu, 19 Oct 2017 20:03:02 +0000 (21:03 +0100)]
kernel: API changes for realloc

Set the basics out for coping with split I/D binaries and rearranging things
so chmem can mean "stack space". Dummies for now so we can change the API

6 years ago8086: low level support improvements
Alan Cox [Thu, 19 Oct 2017 19:48:22 +0000 (20:48 +0100)]
8086: low level support improvements

6 years agokeycode: add a couple of new keys
Alan Cox [Thu, 19 Oct 2017 19:48:10 +0000 (20:48 +0100)]
keycode: add a couple of new keys

6 years ago8086: banking logic (initial design)
Alan Cox [Thu, 19 Oct 2017 19:47:08 +0000 (20:47 +0100)]
8086: banking logic (initial design)

Not yet tested but this is intended to implement the interleaving of memory
tricks that 8086 Unixen did to avoid the Minix chmem mess.

6 years agoibmpc: scribbles on odder machines
Alan Cox [Thu, 19 Oct 2017 19:46:27 +0000 (20:46 +0100)]
ibmpc: scribbles on odder machines

6 years agoibmpc: Add work in progress
Alan Cox [Thu, 19 Oct 2017 19:45:02 +0000 (20:45 +0100)]
ibmpc: Add work in progress

6 years agoibmpc: load at logical 0
Alan Cox [Thu, 19 Oct 2017 19:44:42 +0000 (20:44 +0100)]
ibmpc: load at logical 0

6 years agomtx: Fix speed setting
Alan Cox [Thu, 19 Oct 2017 19:44:20 +0000 (20:44 +0100)]
mtx: Fix speed setting

6 years agoibmpc: update README based upon work so far
Alan Cox [Thu, 19 Oct 2017 19:43:48 +0000 (20:43 +0100)]
ibmpc: update README based upon work so far

6 years agoMerge pull request #525 from beretta42/make
EtchedPixels [Wed, 18 Oct 2017 20:46:54 +0000 (21:46 +0100)]
Merge pull request #525 from beretta42/make

coco3: clean up make / build script

6 years agococo3: clean up make / build script
Brett Gordon [Tue, 17 Oct 2017 17:38:46 +0000 (13:38 -0400)]
coco3: clean up make / build script

6 years agoMerge pull request #523 from beretta42/flashrom
EtchedPixels [Mon, 16 Oct 2017 18:37:32 +0000 (19:37 +0100)]
Merge pull request #523 from beretta42/flashrom

Flashrom - 6809

6 years agoMerge pull request #524 from beretta42/fview
EtchedPixels [Mon, 16 Oct 2017 18:37:18 +0000 (19:37 +0100)]
Merge pull request #524 from beretta42/fview

fview: bug fix endian checker

6 years agofview: bug fix endian checker
Brett Gordon [Mon, 16 Oct 2017 04:34:22 +0000 (00:34 -0400)]
fview: bug fix endian checker

6 years agoapp: make: build flashrom
Brett Gordon [Mon, 16 Oct 2017 03:36:04 +0000 (23:36 -0400)]
app: make: build flashrom

6 years agoflashrom: add 6809 makefile, rename z80 makefile
Brett Gordon [Mon, 16 Oct 2017 03:35:26 +0000 (23:35 -0400)]
flashrom: add 6809 makefile, rename z80 makefile

6 years agoibmpc: further 8086 sketching out
Alan Cox [Sun, 15 Oct 2017 21:13:50 +0000 (22:13 +0100)]
ibmpc: further 8086 sketching out

6 years agoTODO: update
Alan Cox [Sun, 15 Oct 2017 18:02:57 +0000 (19:02 +0100)]
TODO: update

6 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 15 Oct 2017 18:02:20 +0000 (19:02 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

6 years agoSmallC: add missing call
Alan Cox [Sun, 15 Oct 2017 18:01:29 +0000 (19:01 +0100)]
SmallC: add missing call

Confused how it didn't get pushed originally

6 years agoMerge pull request #522 from beretta42/make
EtchedPixels [Sun, 15 Oct 2017 17:55:47 +0000 (18:55 +0100)]
Merge pull request #522 from beretta42/make

Odds and Ends Makefile

6 years agoMerge pull request #521 from beretta42/sdc
EtchedPixels [Sun, 15 Oct 2017 17:55:11 +0000 (18:55 +0100)]
Merge pull request #521 from beretta42/sdc

coco3: fix blkdev mapper routines: blk_op is not in common.

6 years agoibmpc: introduce a platform skeleton so we can test build 8086 core code
Alan Cox [Sun, 15 Oct 2017 17:47:59 +0000 (18:47 +0100)]
ibmpc: introduce a platform skeleton so we can test build 8086 core code

This is *miles* from being an actual port. It's just there to get the core
code comping.

6 years ago8086: move the prototype low level code over to gcc
Alan Cox [Sun, 15 Oct 2017 17:26:41 +0000 (18:26 +0100)]
8086: move the prototype low level code over to gcc

6 years agocpu-8086: move the prototype code to gcc ia16
Alan Cox [Sun, 15 Oct 2017 17:25:28 +0000 (18:25 +0100)]
cpu-8086: move the prototype code to gcc ia16

6 years agoz80pack: correct disk error reporting
Alan Cox [Sun, 15 Oct 2017 17:25:08 +0000 (18:25 +0100)]
z80pack: correct disk error reporting

6 years agolib: only install fcc libs if using sdcc
Brett Gordon [Sun, 15 Oct 2017 00:12:46 +0000 (20:12 -0400)]
lib: only install fcc libs if using sdcc

6 years agosmallc: add image install script
Brett Gordon [Sat, 14 Oct 2017 23:55:10 +0000 (19:55 -0400)]
smallc: add image install script

6 years agofview: fix never run-on comment
Brett Gordon [Sat, 14 Oct 2017 23:52:29 +0000 (19:52 -0400)]
fview: fix never run-on comment

6 years agoapps: make: add as09, rename v7games (duplicate), phony to force build
Brett Gordon [Sat, 14 Oct 2017 23:51:29 +0000 (19:51 -0400)]
apps: make: add as09, rename v7games (duplicate), phony to force build

6 years agosmallc: link CRT0 to build binary correctly.
Brett Gordon [Sat, 14 Oct 2017 23:47:13 +0000 (19:47 -0400)]
smallc: link CRT0 to build binary correctly.

6 years agolibs: 6809 makefile needs empty 'install' target
Brett Gordon [Sat, 14 Oct 2017 23:44:17 +0000 (19:44 -0400)]
libs: 6809 makefile needs empty 'install' target

6 years agoapp: as09/ld09: rename makefile
Brett Gordon [Sat, 14 Oct 2017 22:38:31 +0000 (18:38 -0400)]
app: as09/ld09: rename makefile

6 years agococo3: fix blkdev mapper routines: blk_op is not in common.
Brett Gordon [Sat, 14 Oct 2017 15:34:31 +0000 (11:34 -0400)]
coco3: fix blkdev mapper routines: blk_op is not in common.

6 years agoz80pack: with some versions of SDCC we extend into 0xEx00
Alan Cox [Fri, 13 Oct 2017 19:32:52 +0000 (20:32 +0100)]
z80pack: with some versions of SDCC we extend into 0xEx00

So move discard up a bit to make space for it

6 years agobank16k: () to (void) for neatness and consistency
Alan Cox [Fri, 13 Oct 2017 19:32:14 +0000 (20:32 +0100)]
bank16k: () to (void) for neatness and consistency

6 years agotest: fix compilation with newer SDCC
Alan Cox [Fri, 13 Oct 2017 19:30:22 +0000 (20:30 +0100)]
test: fix compilation with newer SDCC

void * and function types don't mix in strict interpretations of C (think about
split I/D for one)

Patch from Philipp Klaus Krause.

6 years agoMakefile: Clean up OBJSNS items in V7/cmd
Alan Cox [Fri, 13 Oct 2017 19:14:20 +0000 (20:14 +0100)]
Makefile: Clean up OBJSNS items in V7/cmd

6 years agoMakefile: clean up cpm-loader
Alan Cox [Fri, 13 Oct 2017 19:12:47 +0000 (20:12 +0100)]
Makefile: clean up cpm-loader

6 years agobank8086: draft code for 8086 bank handling
Alan Cox [Thu, 12 Oct 2017 22:24:25 +0000 (23:24 +0100)]
bank8086: draft code for 8086 bank handling

After much head scratching about how to implement the interleaving of
memory and real brk() and stack grow that early PC Unixes except Minix did,
I think I finally have something workable....

6 years agosgetl: sometimes C typing is perverse
Alan Cox [Thu, 5 Oct 2017 23:07:51 +0000 (00:07 +0100)]
sgetl: sometimes C typing is perverse

6 years ago6502: Make crt0 put the right address in the header not a hardcode
Alan Cox [Thu, 5 Oct 2017 23:07:20 +0000 (00:07 +0100)]
6502: Make crt0 put the right address in the header not a hardcode

6 years agokernel: fix signal race
Alan Cox [Thu, 5 Oct 2017 23:06:06 +0000 (00:06 +0100)]
kernel: fix signal race

Without this we can have the following occur

kill(pid, foo)
queues signal processing for foo
signal(SIGFOO, SIG_IGN)
executes pending signal and jumps to lala land

6 years ago6502: Fix ZP = 0 assumptions and note further fixes needed
Alan Cox [Tue, 3 Oct 2017 22:30:33 +0000 (23:30 +0100)]
6502: Fix ZP = 0 assumptions and note further fixes needed

The runtime for cc65 assumes it can save to ZP and jump to the same address
via a 16bit index. That fails on our 65C816 build and also on things like the
HuC. Also fix the same offence in ct0.s

Note that we need to save jmpvec+1/2 for re-entry (CC65 forgets to mention this)
and also that we can't just swap zp because unlike a kernel/IRQ switch where
this is valid in Fuzix it's possible to take one signal in another, thus
we must stack the ZP state somewhere (at 20 odd bytes probably the C stack)

6 years agoMakefile: Use $(MAKE) and support -j
Alan Cox [Tue, 3 Oct 2017 21:01:59 +0000 (22:01 +0100)]
Makefile: Use $(MAKE) and support -j

sdcc is slow as molasses but if you've got 16 cores you might as well use them
all 8)

6 years agoincludes: unbreak search.h properly
Alan Cox [Tue, 3 Oct 2017 16:22:08 +0000 (17:22 +0100)]
includes: unbreak search.h properly

6 years agocpm-emulator: Remove only the dead bits this time
Alan Cox [Tue, 3 Oct 2017 15:48:57 +0000 (16:48 +0100)]
cpm-emulator: Remove only the dead bits this time

6 years agoRevert "kernel: remove obsolete CP/M bits"
Alan Cox [Tue, 3 Oct 2017 15:47:56 +0000 (16:47 +0100)]
Revert "kernel: remove obsolete CP/M bits"

Oops.. deleted cpm-loader as well in error

This reverts commit 876590b88adcf31cebcdc8c2bec3f3d1f0612dd8.

6 years ago65c816: assorted low level fixes
Alan Cox [Sun, 1 Oct 2017 23:48:17 +0000 (00:48 +0100)]
65c816: assorted low level fixes

With these fixed we get to a shell prompt and can run some commands. To get
further is going to need cc65 modifications as cc65 generates the following
code in /bin/ls

STA $08 3
STX $09 3
JMP $0008 5

which of course goes castors up on the 65C816 set up because DP is not B:0000
nor can it be.

So far this seems to be the only problem case and it looks as if generating a

PHX 3
PHA 3
RTS 6

would be within one clock for 65C02 or later. 6502 compatible code
will need an uglier fixup I fear.

STA $08 3
TXA 2
PHA 3
LDA $08 3
PHA 3
RTS 6

or similar which isn't pretty but works (self modifying code isn't on
because we might re-enter mid execution)

6 years agofcc: add the ability to pass arguments directly to the underlying compiler
Alan Cox [Sun, 1 Oct 2017 16:30:49 +0000 (17:30 +0100)]
fcc: add the ability to pass arguments directly to the underlying compiler

Please only use this for debug as the goal is to make fcc eventually be a
generic front end that hides all the differences!

Usage is like gcc

fcc -Wc,-sdcc-option

6 years ago65c816: fix fork stack shifting
Alan Cox [Sat, 30 Sep 2017 22:49:08 +0000 (23:49 +0100)]
65c816: fix fork stack shifting

We now run the child - and bomb when the parent is switched back in .. 8(

6 years agoINSTALL: /opt/fcc note
Alan Cox [Sat, 30 Sep 2017 21:32:09 +0000 (22:32 +0100)]
INSTALL: /opt/fcc note

6 years agoINSTALL: we now have simple install instructions of sorts
Alan Cox [Sat, 30 Sep 2017 21:30:48 +0000 (22:30 +0100)]
INSTALL: we now have simple install instructions of sorts

Some make targets to auto-gen root file systems are still needed

6 years agoMakefile: install crt0 and libc
Alan Cox [Sat, 30 Sep 2017 21:26:09 +0000 (22:26 +0100)]
Makefile: install crt0 and libc

6 years agolibc: Add the missing tsearch functions
Alan Cox [Sat, 30 Sep 2017 19:41:49 +0000 (20:41 +0100)]
libc: Add the missing tsearch functions

This leaves the hash tables (hsearch etc) and ftw/nftw as the only big APIs
we are missing.

6 years agolibc: and add roundf to Z80 build for testing
Alan Cox [Sat, 30 Sep 2017 19:12:51 +0000 (20:12 +0100)]
libc: and add roundf to Z80 build for testing

We don't yet build the maths lib for 6809 but should do

6 years agosgetl/sputl: fix silly error
Alan Cox [Sat, 30 Sep 2017 19:12:31 +0000 (20:12 +0100)]
sgetl/sputl: fix silly error

6 years agoLibrary: add round and roundf
Alan Cox [Sat, 30 Sep 2017 19:12:07 +0000 (20:12 +0100)]
Library: add round and roundf

6 years agoLibrary: add round.c to the maths library
Alan Cox [Sat, 30 Sep 2017 18:35:24 +0000 (19:35 +0100)]
Library: add round.c to the maths library

6 years agoLibrary: update the API list
Alan Cox [Sat, 30 Sep 2017 18:28:08 +0000 (19:28 +0100)]
Library: update the API list

We still have some gaps in the odder bits of library space

6 years ago65c816: note more things to fix
Alan Cox [Sat, 30 Sep 2017 18:20:15 +0000 (19:20 +0100)]
65c816: note more things to fix

6 years agov65: note a 6502 assumption we are making
Alan Cox [Sat, 30 Sep 2017 18:19:49 +0000 (19:19 +0100)]
v65: note a 6502 assumption we are making

6 years agolibrary: add sgetl and sputl
Alan Cox [Sat, 30 Sep 2017 18:19:08 +0000 (19:19 +0100)]
library: add sgetl and sputl

6 years agogetopt: correct details of prototype (cc65 cares about the difference)
Alan Cox [Sat, 30 Sep 2017 18:18:47 +0000 (19:18 +0100)]
getopt: correct details of prototype (cc65 cares about the difference)

6 years ago6502: fix Library build
Alan Cox [Sat, 30 Sep 2017 18:18:25 +0000 (19:18 +0100)]
6502: fix Library build

6 years agoREADME.binfmt: Document executable format and related data
Alan Cox [Sat, 30 Sep 2017 17:56:24 +0000 (18:56 +0100)]
README.binfmt: Document executable format and related data

Also document the proposed changes

6 years agoMakefile: ensure fcc path is present
Alan Cox [Sat, 30 Sep 2017 13:06:29 +0000 (14:06 +0100)]
Makefile: ensure fcc path is present

6 years agoMakefile: split CPU and USERCPU
Alan Cox [Fri, 29 Sep 2017 21:52:48 +0000 (22:52 +0100)]
Makefile: split CPU and USERCPU

6 years ago65c816: ld config file
Alan Cox [Fri, 29 Sep 2017 21:46:54 +0000 (22:46 +0100)]
65c816: ld config file

6 years agold65-65c816: config file for near 64K sized binaries
Alan Cox [Fri, 29 Sep 2017 21:46:01 +0000 (22:46 +0100)]
ld65-65c816: config file for near 64K sized binaries

6 years agococo2cart: link file
Alan Cox [Fri, 29 Sep 2017 21:39:15 +0000 (22:39 +0100)]
coco2cart: link file

6 years agokernel: simplify Makefile
Alan Cox [Fri, 29 Sep 2017 21:38:50 +0000 (22:38 +0100)]
kernel: simplify Makefile

6 years agoMakefile: tweaks for some 6809 stuff
Alan Cox [Fri, 29 Sep 2017 21:38:27 +0000 (22:38 +0100)]
Makefile: tweaks for some 6809 stuff

With this 6809 works

6 years agoApplications: remove now dead Makefiles
Alan Cox [Fri, 29 Sep 2017 21:16:28 +0000 (22:16 +0100)]
Applications: remove now dead Makefiles

6 years agoMakefile: change top level makefile for new setup
Alan Cox [Fri, 29 Sep 2017 21:15:24 +0000 (22:15 +0100)]
Makefile: change top level makefile for new setup

6 years agoApplications: Update for new Makefile setup
Alan Cox [Fri, 29 Sep 2017 21:14:35 +0000 (22:14 +0100)]
Applications: Update for new Makefile setup

We now have a Makefile.$(CPU) for each - not all are complete yet but the
rest can be filled in, or null targetted if not relevant to that platform.

6 years agoLibrary: Makefile changes so we can have a saner build set up
Alan Cox [Fri, 29 Sep 2017 21:12:26 +0000 (22:12 +0100)]
Library: Makefile changes so we can have a saner build set up

6 years agoTODO: swap free reporting is now done
Alan Cox [Fri, 29 Sep 2017 21:11:35 +0000 (22:11 +0100)]
TODO: swap free reporting is now done

6 years agotools: fix makeversion
Alan Cox [Fri, 29 Sep 2017 21:11:21 +0000 (22:11 +0100)]
tools: fix makeversion

6 years agoREADME: update and remove obsolete bits
Alan Cox [Fri, 29 Sep 2017 21:10:58 +0000 (22:10 +0100)]
README: update and remove obsolete bits

6 years agoLibrary: preparations for sorting out Makefiles
Alan Cox [Fri, 29 Sep 2017 21:10:39 +0000 (22:10 +0100)]
Library: preparations for sorting out Makefiles

6 years agosyscalls.h: fix error in headers
Alan Cox [Fri, 29 Sep 2017 21:10:09 +0000 (22:10 +0100)]
syscalls.h: fix error in headers

6 years agokernel: remove obsolete CP/M bits
Alan Cox [Fri, 29 Sep 2017 14:54:32 +0000 (15:54 +0100)]
kernel: remove obsolete CP/M bits

6 years agobank16: trivial tidy
Alan Cox [Thu, 28 Sep 2017 20:43:53 +0000 (21:43 +0100)]
bank16: trivial tidy

6 years agoswap: add reporting of swap space free/available
Alan Cox [Thu, 28 Sep 2017 20:43:37 +0000 (21:43 +0100)]
swap: add reporting of swap space free/available

6 years agokernel.h: add CPu types
Alan Cox [Thu, 28 Sep 2017 20:42:13 +0000 (21:42 +0100)]
kernel.h: add CPu types

6 years agouanme: extend the sysinfo block and add swap bits to it
Alan Cox [Thu, 28 Sep 2017 20:40:59 +0000 (21:40 +0100)]
uanme: extend the sysinfo block and add swap bits to it

Yes this breaks uname() calls so one or two things need recompiling but better
to do it now than later.

For the moment it adds the CPU identifier, more space for CPU info data,
space for some expansion and also gets ready to add the swap info so free
can show swap state.

6 years agoMakefile pieces for 65c816
Alan Cox [Tue, 26 Sep 2017 13:23:14 +0000 (14:23 +0100)]
Makefile pieces for 65c816

6 years ago65c816: fix bank setting bug
Alan Cox [Tue, 26 Sep 2017 13:21:38 +0000 (14:21 +0100)]
65c816: fix bank setting bug

With this fixed we return from syscalls on the right DP and lo and behold
init now runs as far as fork().