FUZIX.git
8 years agoMove platform-dependent register definitions to common file. Adjust
Neal Andrew Crook [Wed, 1 Jun 2016 19:11:12 +0000 (20:11 +0100)]
Move platform-dependent register definitions to common file. Adjust
makefile to add asm .def files as a dependency for assembly. No
functional changes.

8 years agoscc: merge stack adjustments
Alan Cox [Thu, 30 Jun 2016 17:13:56 +0000 (18:13 +0100)]
scc: merge stack adjustments

8 years agoscc: support processors that support stack relative addressing
Alan Cox [Thu, 30 Jun 2016 17:00:29 +0000 (18:00 +0100)]
scc: support processors that support stack relative addressing

Also fix LSTATIC to be more efficient

8 years agocopt: improvements and new rules work
Alan Cox [Thu, 30 Jun 2016 17:00:07 +0000 (18:00 +0100)]
copt: improvements and new rules work

8 years agoMerge pull request #369 from nealcrook/build-filesystem-overwrite
EtchedPixels [Thu, 30 Jun 2016 12:18:25 +0000 (13:18 +0100)]
Merge pull request #369 from nealcrook/build-filesystem-overwrite

another tweak

8 years agoscc: more tidying up
Alan Cox [Thu, 30 Jun 2016 12:14:56 +0000 (13:14 +0100)]
scc: more tidying up

Really for 6809 it needs some work on primary() and eval() to allow for the
fact the 6809 unlike the 8080/5 can actually generate useful stack relative
accesses so the whole

get address
save address
get value
do stuff
pop address
store

sequence really ought to work like a global or static but generate ,s
relative addressing.

Z80 might also benefit from this and use ix relative, but it's less clear,
ditto 6801 especially as it has the tsx instruction.

8 years agoUsed to distinguish a Linked file from the original - a bug because they
Neal Andrew Crook [Wed, 29 Jun 2016 19:13:35 +0000 (20:13 +0100)]
Used to distinguish a Linked file from the original - a bug because they
are indistinguishable and the old behaviour prevented the link-created
version from being deleted. New behaviour is both sane and allows a
file rename to be synthesised (link then delete the original). Revised
documentation to cover this as one of the tools for creating a custom-tweaked
disk image.

8 years agoscc: fixes for non ANSI headers and 6809 code gen
Alan Cox [Wed, 29 Jun 2016 17:58:00 +0000 (18:58 +0100)]
scc: fixes for non ANSI headers and 6809 code gen

8 years agoscc: 6809 runtime support
Alan Cox [Wed, 29 Jun 2016 17:20:45 +0000 (18:20 +0100)]
scc: 6809 runtime support

8 years agocode6809: small fixes
Alan Cox [Wed, 29 Jun 2016 17:16:25 +0000 (18:16 +0100)]
code6809: small fixes

8 years agoAPIlist: update
Alan Cox [Wed, 29 Jun 2016 17:12:43 +0000 (18:12 +0100)]
APIlist: update

8 years agold09: updates
Alan Cox [Wed, 29 Jun 2016 16:41:56 +0000 (17:41 +0100)]
ld09: updates

8 years agoMerge pull request #368 from nealcrook/build-filesystem-delux
EtchedPixels [Wed, 29 Jun 2016 11:46:37 +0000 (12:46 +0100)]
Merge pull request #368 from nealcrook/build-filesystem-delux

Build filesystem delux

8 years agoMakefile: build the scc 6809 syscall tool
Alan Cox [Wed, 29 Jun 2016 11:40:32 +0000 (12:40 +0100)]
Makefile: build the scc 6809 syscall tool

8 years agoscc6809: bits for syscalls
Alan Cox [Wed, 29 Jun 2016 11:40:06 +0000 (12:40 +0100)]
scc6809: bits for syscalls

8 years agosyscall-scc6809: generate syscalls for 6809 with scc
Alan Cox [Wed, 29 Jun 2016 11:35:52 +0000 (12:35 +0100)]
syscall-scc6809: generate syscalls for 6809 with scc

First attempt

8 years agoas09: fix exg/tfr bug
Alan Cox [Wed, 29 Jun 2016 11:35:38 +0000 (12:35 +0100)]
as09: fix exg/tfr bug

8 years agoAdd "link" command (l) and "remove" command (r). Add example to
Neal Andrew Crook [Tue, 28 Jun 2016 19:24:03 +0000 (20:24 +0100)]
Add "link" command (l) and "remove" command (r). Add example to
rpilot package and revise documentation to describe them both and to
update the "futures" list.

8 years agoMigrate build-filesystem and build-mini-filesystem to wrappers
Neal Andrew Crook [Mon, 27 Jun 2016 21:47:30 +0000 (22:47 +0100)]
Migrate build-filesystem and build-mini-filesystem to wrappers
for build-filesystem-ng and delete the old ucp scripts and the add-extras
script. Create meta-package file for creation of minimal system.

8 years agoonly test if-platform, if-cpu if corresponding set-platform, set-cpu is found.
Neal Andrew Crook [Mon, 27 Jun 2016 21:18:30 +0000 (22:18 +0100)]
only test if-platform, if-cpu if corresponding set-platform, set-cpu is found.

8 years agoReport byte ordering. Switch fsize and isize to match output of fsck.
Neal Andrew Crook [Mon, 27 Jun 2016 21:13:36 +0000 (22:13 +0100)]
Report byte ordering. Switch fsize and isize to match output of fsck.

8 years agoenable/disable pkg now working. Revise documentation to reflect current
Neal Andrew Crook [Sat, 25 Jun 2016 22:32:04 +0000 (23:32 +0100)]
enable/disable pkg now working. Revise documentation to reflect current
state of tool.

8 years agocomplete examples of adding/removing packages.
Neal Andrew Crook [Fri, 24 Jun 2016 19:59:02 +0000 (20:59 +0100)]
complete examples of adding/removing packages.

8 years agoSpec/describe the package enable/disable rules ready for implementation.
Neal Andrew Crook [Thu, 23 Jun 2016 19:42:22 +0000 (20:42 +0100)]
Spec/describe the package enable/disable rules ready for implementation.

8 years agoReformat from ASCII-art to markdown.
Neal Andrew Crook [Thu, 23 Jun 2016 18:46:18 +0000 (19:46 +0100)]
Reformat from ASCII-art to markdown.

8 years agocode6809: match the assembler
Alan Cox [Tue, 28 Jun 2016 19:12:30 +0000 (20:12 +0100)]
code6809: match the assembler

8 years agofunction: fix label clashes
Alan Cox [Tue, 28 Jun 2016 18:56:04 +0000 (19:56 +0100)]
function: fix label clashes

8 years agold09/as09: generate fuzix binaries
Alan Cox [Tue, 28 Jun 2016 18:24:25 +0000 (19:24 +0100)]
ld09/as09: generate fuzix binaries

This seems to be able to turn

.globl _start
.globl _main

.text

_start: jmp _main
FCC "F"
FCC "Z"
FCC "X"
FCC "1"
FCB 0x80
FDB 0
FDB (_codeend-_start)
FDB 0
FDB 0
FDB 0
_main:
rts
_codeend:

.data
_data
FDB 1234

.bss
_bss
FDB 12

into what looks like an actual binary

8 years agowritebin: fix screw up in conversion
Alan Cox [Tue, 28 Jun 2016 13:22:33 +0000 (14:22 +0100)]
writebin: fix screw up in conversion

Forgot to commit this

8 years agold09: ANSI clean up and prepare for Fuzix work
Alan Cox [Tue, 28 Jun 2016 12:24:54 +0000 (13:24 +0100)]
ld09: ANSI clean up and prepare for Fuzix work

8 years agoscc: remove debug so it now works on on 16bit again
Alan Cox [Tue, 28 Jun 2016 09:46:35 +0000 (10:46 +0100)]
scc: remove debug so it now works on on 16bit again

8 years agomalloc: do the overflow maths in unsigned
Alan Cox [Tue, 28 Jun 2016 09:46:15 +0000 (10:46 +0100)]
malloc: do the overflow maths in unsigned

8 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Fri, 24 Jun 2016 21:13:44 +0000 (22:13 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

8 years agoscc: sort of add support for void types and the rest of functions
Alan Cox [Fri, 24 Jun 2016 20:52:32 +0000 (21:52 +0100)]
scc: sort of add support for void types and the rest of functions

we now handle static functions, extern definitions of functions and function
declarations more nicely. We also understand void including the use of (void)

No typechecking other other magic is done at all.

8 years agoprimary: support \0nnn and \xnn forms
Alan Cox [Fri, 24 Jun 2016 17:05:17 +0000 (18:05 +0100)]
primary: support \0nnn and \xnn forms

8 years agodefs.h: void type
Alan Cox [Fri, 24 Jun 2016 16:59:38 +0000 (17:59 +0100)]
defs.h: void type

8 years agosym.c: allow for void functions but not variables
Alan Cox [Fri, 24 Jun 2016 16:59:15 +0000 (17:59 +0100)]
sym.c: allow for void functions but not variables

8 years agolex: add void type
Alan Cox [Fri, 24 Jun 2016 16:59:05 +0000 (17:59 +0100)]
lex: add void type

8 years agofunction.c: fix warning
Alan Cox [Fri, 24 Jun 2016 16:58:50 +0000 (17:58 +0100)]
function.c: fix warning

8 years agomain: turn data segment back on so we produce all the needed bits
Alan Cox [Fri, 24 Jun 2016 16:58:33 +0000 (17:58 +0100)]
main: turn data segment back on so we produce all the needed bits

8 years agocodegeneric: use frame pointer as base so it's easier to read
Alan Cox [Fri, 24 Jun 2016 16:58:17 +0000 (17:58 +0100)]
codegeneric: use frame pointer as base so it's easier to read

8 years agoscc: add prologue/epilogue hooks everywhere
Alan Cox [Fri, 24 Jun 2016 15:17:48 +0000 (16:17 +0100)]
scc: add prologue/epilogue hooks everywhere

8 years agocodegeneric: accurately reflect internal ops
Alan Cox [Fri, 24 Jun 2016 15:17:28 +0000 (16:17 +0100)]
codegeneric: accurately reflect internal ops

8 years agocodez80: facepalm
Alan Cox [Fri, 24 Jun 2016 15:17:02 +0000 (16:17 +0100)]
codez80: facepalm

8 years agoscc: tea break quickie
Alan Cox [Fri, 24 Jun 2016 15:15:55 +0000 (16:15 +0100)]
scc: tea break quickie

Tweak the parser logic so you can put a leading type on the function - not that
we record or check it yet. Also allow static functions.

The parsing was trivial so might as well do it

8 years agoMerge pull request #366 from beretta42/master
EtchedPixels [Fri, 24 Jun 2016 14:27:32 +0000 (15:27 +0100)]
Merge pull request #366 from beretta42/master

fuzix-basefs.pkg: fix liberror.txt placement

8 years agofuzix-basefs.pkg: fix liberror.txt placement
Brett Gordon [Thu, 23 Jun 2016 23:18:15 +0000 (19:18 -0400)]
fuzix-basefs.pkg: fix liberror.txt placement

8 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Thu, 23 Jun 2016 21:27:33 +0000 (22:27 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

8 years agoscc: minor fixes
Alan Cox [Thu, 23 Jun 2016 21:27:11 +0000 (22:27 +0100)]
scc: minor fixes

8 years agoscc: generic code output for debug, Make file for Linux etc
Alan Cox [Thu, 23 Jun 2016 19:42:46 +0000 (20:42 +0100)]
scc: generic code output for debug, Make file for Linux etc

8 years agoscc: fix wrong direction stack mod on Z80
Alan Cox [Thu, 23 Jun 2016 18:53:14 +0000 (19:53 +0100)]
scc: fix wrong direction stack mod on Z80

Still not well - the stack offsets for arguments appear to be ignoring the pushed
return code.

8 years agoMerge pull request #365 from beretta42/dwtime
EtchedPixels [Thu, 23 Jun 2016 18:34:38 +0000 (19:34 +0100)]
Merge pull request #365 from beretta42/dwtime

Dwtime

8 years agodwtime: fix signedness, change to truely static multiply.
Brett Gordon [Thu, 23 Jun 2016 17:50:18 +0000 (13:50 -0400)]
dwtime: fix signedness, change to truely static multiply.

8 years agodwtime: add header. remove defunct drivewire.h (in Kernel/include now)
Brett Gordon [Thu, 23 Jun 2016 17:47:31 +0000 (13:47 -0400)]
dwtime: add header. remove defunct drivewire.h (in Kernel/include now)

8 years agodwtime: revise call to dw_transaction for recent call change
Brett Gordon [Thu, 23 Jun 2016 16:57:46 +0000 (12:57 -0400)]
dwtime: revise call to dw_transaction for recent call change

8 years agococo3: implement rtc_secs() with drivewire.
Brett Gordon [Thu, 24 Mar 2016 19:44:33 +0000 (15:44 -0400)]
coco3: implement rtc_secs() with drivewire.

8 years agococo3: enable RTC code
Brett Gordon [Thu, 24 Mar 2016 17:11:46 +0000 (13:11 -0400)]
coco3: enable RTC code

8 years agococo3: gcc mis-compiles timer.c's RTC code
Brett Gordon [Thu, 24 Mar 2016 17:11:10 +0000 (13:11 -0400)]
coco3: gcc mis-compiles timer.c's RTC code

8 years agococo3: dwtime: fake a ___mulsi3 and use to simplify code.
Brett Gordon [Wed, 23 Mar 2016 13:12:22 +0000 (09:12 -0400)]
coco3: dwtime: fake a ___mulsi3 and use to simplify code.

8 years agococo3: runtime call dwtime.c's init() routine.
Brett Gordon [Tue, 22 Mar 2016 18:41:36 +0000 (14:41 -0400)]
coco3: runtime call dwtime.c's init() routine.

8 years agococo3: make dwtime module
Brett Gordon [Tue, 22 Mar 2016 18:40:43 +0000 (14:40 -0400)]
coco3: make dwtime module

8 years agococo3: add dwtime module
Brett Gordon [Tue, 22 Mar 2016 18:40:25 +0000 (14:40 -0400)]
coco3: add dwtime module

8 years agolibc: fix includes for abs/labs
Alan Cox [Thu, 23 Jun 2016 16:49:06 +0000 (17:49 +0100)]
libc: fix includes for abs/labs

8 years agold09: update so it builds on pure ANSI compilers
Alan Cox [Thu, 23 Jun 2016 16:48:05 +0000 (17:48 +0100)]
ld09: update so it builds on pure ANSI compilers

8 years agoscc: add draft 6809 and 6801 code gen, fix a bug in the Z80 case
Alan Cox [Thu, 23 Jun 2016 16:47:45 +0000 (17:47 +0100)]
scc: add draft 6809 and 6801 code gen, fix a bug in the Z80 case

8 years agocopt: add
Alan Cox [Thu, 23 Jun 2016 12:52:34 +0000 (13:52 +0100)]
copt: add

8 years agocc: initial Z80 support
Alan Cox [Thu, 23 Jun 2016 12:12:35 +0000 (13:12 +0100)]
cc: initial Z80 support

8 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Wed, 22 Jun 2016 19:37:35 +0000 (20:37 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

8 years agold09: Z80 cross build
Alan Cox [Wed, 22 Jun 2016 19:37:28 +0000 (20:37 +0100)]
ld09: Z80 cross build

8 years agoas09: Makefile for Z80 cross
Alan Cox [Wed, 22 Jun 2016 19:37:02 +0000 (20:37 +0100)]
as09: Makefile for Z80 cross

8 years agoSmall C 3.0 with some cleanups and ANSI processing
Alan Cox [Wed, 22 Jun 2016 19:34:02 +0000 (20:34 +0100)]
Small C 3.0 with some cleanups and ANSI processing

I've attached the 6809 code generator for the older compiler version as well.

We should be able to get a real C compiler in the space we have (CP/M manages it
for a passable ANSI C) but this will be fun for now and for debugging work.

8 years agoMerge pull request #363 from nealcrook/build-filesystem-ng
EtchedPixels [Wed, 22 Jun 2016 19:02:19 +0000 (20:02 +0100)]
Merge pull request #363 from nealcrook/build-filesystem-ng

First exposure of tool for per-application control of root disk contents

8 years agoChange separator from : to whitespace
Neal Andrew Crook [Wed, 22 Jun 2016 18:14:27 +0000 (19:14 +0100)]
Change separator from : to whitespace
Add "link" command to futures list.

8 years agobank16k: fix bug reported by Brett
Alan Cox [Wed, 22 Jun 2016 11:54:08 +0000 (12:54 +0100)]
bank16k: fix bug reported by Brett

8 years agoruncpm: no stdio needed
Alan Cox [Wed, 22 Jun 2016 09:09:14 +0000 (10:09 +0100)]
runcpm: no stdio needed

8 years agolibc: split libm nicely add a draft tinymalloc
Alan Cox [Tue, 21 Jun 2016 20:27:07 +0000 (21:27 +0100)]
libc: split libm nicely add a draft tinymalloc

8 years agolibc: fixups
Alan Cox [Tue, 21 Jun 2016 18:42:52 +0000 (19:42 +0100)]
libc: fixups

8 years agoAdd factor executable (was missing from ucp script)
Neal Andrew Crook [Tue, 21 Jun 2016 18:28:35 +0000 (19:28 +0100)]
Add factor executable (was missing from ucp script)

8 years agoMerge pull request #364 from beretta42/master
EtchedPixels [Tue, 21 Jun 2016 17:48:22 +0000 (18:48 +0100)]
Merge pull request #364 from beretta42/master

Fix some typos in libc includes

8 years agolibm: the backbone of the FP maths support
Alan Cox [Tue, 21 Jun 2016 17:45:34 +0000 (18:45 +0100)]
libm: the backbone of the FP maths support

Only actually using the single precision paths in the current platforms as the
SDCC Z80 port only supports "float", so we define double as float and #define
over the methods.

Anyone coming to this with a bigger box (can we do real doubles on 6809?) will need
to do a fair chunk of further work.

8 years agolibs: typos in declarations
Brett Gordon [Tue, 21 Jun 2016 17:11:16 +0000 (13:11 -0400)]
libs: typos in declarations

8 years agolevee: remove redeclaration of index, already declared in string.h
Brett Gordon [Tue, 21 Jun 2016 17:09:57 +0000 (13:09 -0400)]
levee: remove redeclaration of index, already declared in string.h

8 years agorand48: needs the header
Alan Cox [Tue, 21 Jun 2016 13:52:15 +0000 (14:52 +0100)]
rand48: needs the header

8 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Mon, 20 Jun 2016 19:03:59 +0000 (20:03 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

8 years agolibc: add some stragglers
Alan Cox [Mon, 20 Jun 2016 19:03:38 +0000 (20:03 +0100)]
libc: add some stragglers

8 years agoinclude: fixes for new C funcs
Alan Cox [Mon, 20 Jun 2016 19:02:58 +0000 (20:02 +0100)]
include: fixes for new C funcs

8 years agodrand48: the 48bit random functions
Alan Cox [Mon, 20 Jun 2016 19:02:29 +0000 (20:02 +0100)]
drand48: the 48bit random functions

Untested at this point

8 years agolibc: first batch of libm work
Alan Cox [Mon, 20 Jun 2016 19:02:04 +0000 (20:02 +0100)]
libc: first batch of libm work

8 years agoa64l: some of the crap in a libc is amazing
Alan Cox [Mon, 20 Jun 2016 18:58:17 +0000 (19:58 +0100)]
a64l: some of the crap in a libc is amazing

8 years agoMerge pull request #362 from nealcrook/lib-fix
EtchedPixels [Sun, 19 Jun 2016 15:31:50 +0000 (16:31 +0100)]
Merge pull request #362 from nealcrook/lib-fix

Tweaks to allow library to build on 6809

8 years agoRevise .gitignore for additional transient file copied from kernel tree
Neal Andrew Crook [Sat, 18 Jun 2016 23:05:53 +0000 (00:05 +0100)]
Revise .gitignore for additional transient file copied from kernel tree

8 years agoFirst exposure of tool for per-application control of root disk
Neal Andrew Crook [Sat, 18 Jun 2016 23:03:03 +0000 (00:03 +0100)]
First exposure of tool for per-application control of root disk
contents. Refer to Documentation/build-filesystem-ng

8 years agoTweaks to allow library to build on 6809
Neal Andrew Crook [Sat, 18 Jun 2016 22:18:47 +0000 (23:18 +0100)]
Tweaks to allow library to build on 6809

8 years agomalloc: commit new header file
Alan Cox [Sat, 18 Jun 2016 21:52:48 +0000 (22:52 +0100)]
malloc: commit new header file

Oops... 8(

8 years agoasctime: Fix compile failure
Alan Cox [Sat, 18 Jun 2016 21:51:16 +0000 (22:51 +0100)]
asctime: Fix compile failure

8 years agoREADME.md: CP/M emulator crossed off the list
Alan Cox [Sat, 18 Jun 2016 10:16:33 +0000 (11:16 +0100)]
README.md: CP/M emulator crossed off the list

8 years agolibc: Generate multiple libraries
Alan Cox [Fri, 17 Jun 2016 22:34:40 +0000 (23:34 +0100)]
libc: Generate multiple libraries

We now generate

libc
libm FP versions of standard routines that have smaller integer only ones
termcap
curses

as per proper Unix expectations and to avoid namespace problems with non termcap
or curses apps and libcurses

8 years agolibc: remove \r\n markers from assert.c and tidy
Alan Cox [Fri, 17 Jun 2016 22:34:20 +0000 (23:34 +0100)]
libc: remove \r\n markers from assert.c and tidy

8 years agolibc: update the includes to be closer to standards
Alan Cox [Fri, 17 Jun 2016 22:32:45 +0000 (23:32 +0100)]
libc: update the includes to be closer to standards

Fix some clashes FIXME a couple of problem cases

8 years agocut: fix warning
Alan Cox [Fri, 17 Jun 2016 22:32:06 +0000 (23:32 +0100)]
cut: fix warning