FUZIX.git
8 years agofcc: work around ./ problem in SDCC linker and fix bug in fcc extension handler
Alan Cox [Sun, 24 Jul 2016 11:47:46 +0000 (12:47 +0100)]
fcc: work around ./ problem in SDCC linker and fix bug in fcc extension handler

With both of these fixed we now properly handle doing things with a -o ./foo
target

8 years agoucp: fix mkdir on wrong-endian file systems
Alan Cox [Sun, 24 Jul 2016 11:25:50 +0000 (12:25 +0100)]
ucp: fix mkdir on wrong-endian file systems

8 years agoioctl: do the job right this time I hope
Alan Cox [Sun, 24 Jul 2016 11:11:36 +0000 (12:11 +0100)]
ioctl: do the job right this time I hope

We now have four ioctl classes but don't yet use the write only class

8 years agoRevert "ioctl: move the write check into the drivers"
Alan Cox [Sun, 24 Jul 2016 10:50:08 +0000 (11:50 +0100)]
Revert "ioctl: move the write check into the drivers"

This reverts commit c2c9fa5c6bb4ae5a7cbb5fb51b42ca5ce4d4d832.

Can't do it this way because we need to care about file handle permissions
at driver level and we deliberately don't pass all the handles down

8 years agoucp: fix mkfs and extended blocks
Alan Cox [Sat, 23 Jul 2016 21:58:37 +0000 (22:58 +0100)]
ucp: fix mkfs and extended blocks

** Not yet properly tested use with care!

8 years agoMerge pull request #382 from vandys/fserr
EtchedPixels [Sat, 23 Jul 2016 21:36:58 +0000 (22:36 +0100)]
Merge pull request #382 from vandys/fserr

Address FIXME of _open(); a catch-all ENFILE was returned for any

8 years agoioctl: move the write check into the drivers
Alan Cox [Sat, 23 Jul 2016 21:24:21 +0000 (22:24 +0100)]
ioctl: move the write check into the drivers

8 years agoAddress FIXME of _open(); a catch-all ENFILE was returned for any
Andy Valencia [Mon, 18 Jul 2016 21:41:34 +0000 (14:41 -0700)]
Address FIXME of _open(); a catch-all ENFILE was returned for any
 failure leading into newfile() (parent == NULL), or within newfile()
 (and its supporting routines, such as i_open() and ch_link()).
Instead, newfile() uniformly detects and sets errors (or lets errors
 from supporting routines propagate upward).  _open() is restructured
 to leave udata.u_error as set by newfile(), and thus permit the
 actual error code to reach the user.
"touch /x" when you don't have write access to "/" will thus now get
 EPERM, not ENFILE.

8 years agoMerge pull request #380 from vandys/smallc
EtchedPixels [Mon, 18 Jul 2016 09:43:33 +0000 (10:43 +0100)]
Merge pull request #380 from vandys/smallc

Issue 377: broken calling of function in expressions

8 years agoIssue 377: broken calling of function in expressions
Andy Valencia [Mon, 18 Jul 2016 01:03:14 +0000 (18:03 -0700)]
Issue 377: broken calling of function in expressions

8 years agoMerge pull request #378 from vandys/master
EtchedPixels [Sun, 17 Jul 2016 16:22:57 +0000 (17:22 +0100)]
Merge pull request #378 from vandys/master

6809 now uses its own stdint.h, not 6502's.

8 years ago6809 now uses its own stdint.h, not 6502's.
Andy Valencia [Fri, 15 Jul 2016 20:10:39 +0000 (13:10 -0700)]
6809 now uses its own stdint.h, not 6502's.
Add a few build bits to be gitignore'ed.

8 years agoMerge pull request #376 from vandys/master
EtchedPixels [Fri, 15 Jul 2016 17:55:56 +0000 (18:55 +0100)]
Merge pull request #376 from vandys/master

Addition docs for Coco3 target build/boot on MAME

8 years agoMerge pull request #372 from nealcrook/multicomp09_pass2
EtchedPixels [Fri, 15 Jul 2016 17:55:16 +0000 (18:55 +0100)]
Merge pull request #372 from nealcrook/multicomp09_pass2

Multicomp09 pass2

8 years agoMerge pull request #373 from beretta42/devtty
EtchedPixels [Fri, 15 Jul 2016 17:55:06 +0000 (18:55 +0100)]
Merge pull request #373 from beretta42/devtty

Fix dragon, coco3 graphics bounds checking

8 years agoMerge pull request #375 from beretta42/lib
EtchedPixels [Fri, 15 Jul 2016 17:54:55 +0000 (18:54 +0100)]
Merge pull request #375 from beretta42/lib

6809: compile libs separately

8 years agoAdd some notes as discovered while this newcomer first tried
Andy Valencia [Wed, 13 Jul 2016 17:52:07 +0000 (10:52 -0700)]
Add some notes as discovered while this newcomer first tried
to build the Coco3 FUZIX target and boott it on (Linux) MAME.

8 years agoutils 6809: link tget to termcap (rather than libm)
Brett Gordon [Tue, 12 Jul 2016 21:01:35 +0000 (17:01 -0400)]
utils 6809: link tget to termcap (rather than libm)

8 years ago6809: create links to new libraries
Brett Gordon [Tue, 12 Jul 2016 20:52:21 +0000 (16:52 -0400)]
6809: create links to new libraries

8 years agoutil: make tget with libm
Brett Gordon [Tue, 12 Jul 2016 19:41:08 +0000 (15:41 -0400)]
util: make tget with libm

8 years ago6809: separate libs for math and curses (match z80 makefile)
Brett Gordon [Tue, 12 Jul 2016 19:40:16 +0000 (15:40 -0400)]
6809: separate libs for math and curses (match z80 makefile)

8 years agomake stdlib.h match labs.c's declaration
Brett Gordon [Tue, 12 Jul 2016 16:49:04 +0000 (12:49 -0400)]
make stdlib.h match labs.c's declaration

8 years ago6809: build curses separate from libc
Brett Gordon [Tue, 12 Jul 2016 16:48:08 +0000 (12:48 -0400)]
6809: build curses separate from libc

8 years agorework setup so that delay loop can be removed. Good riddance.
Neal Andrew Crook [Sun, 10 Jul 2016 17:21:22 +0000 (18:21 +0100)]
rework setup so that delay loop can be removed. Good riddance.

8 years agocommit updates from .gitignore audit I did a while back; this was
Neal Andrew Crook [Sun, 10 Jul 2016 16:46:17 +0000 (17:46 +0100)]
commit updates from .gitignore audit I did a while back; this was
lingering in a git stash.

8 years agodragon-nx32: fix box bounds checking for gfx calls
Brett Gordon [Fri, 8 Jul 2016 14:55:04 +0000 (10:55 -0400)]
dragon-nx32: fix box bounds checking for gfx calls

8 years agofix kernel video driver
Brett Gordon [Sun, 3 Jul 2016 16:51:11 +0000 (12:51 -0400)]
fix kernel video driver

8 years agoTidy up MMU code and comments.
Neal Andrew Crook [Thu, 7 Jul 2016 22:08:57 +0000 (23:08 +0100)]
Tidy up MMU code and comments.

8 years agogcc would not let this past
Neal Andrew Crook [Thu, 7 Jul 2016 21:58:29 +0000 (22:58 +0100)]
gcc would not let this past

8 years agojanitorial/white-space/dos-line-end cleanup
Neal Andrew Crook [Thu, 7 Jul 2016 21:57:24 +0000 (22:57 +0100)]
janitorial/white-space/dos-line-end cleanup

8 years agoREvise instructions to suit new build script.
Neal Andrew Crook [Thu, 23 Jun 2016 18:27:01 +0000 (19:27 +0100)]
REvise instructions to suit new build script.

8 years agoBring drivewire.s changes across from coco3.
Neal Andrew Crook [Sat, 11 Jun 2016 18:39:57 +0000 (19:39 +0100)]
Bring drivewire.s changes across from coco3.
Comment out drivewire poll call here because I've not made any of the other
changes needed for drivewire support yet.
Corrections to some code comments.

8 years agoUse #define to turn virtual keyboard input on for debugging in the
Neal Andrew Crook [Wed, 1 Jun 2016 22:25:57 +0000 (23:25 +0100)]
Use #define to turn virtual keyboard input on for debugging in the
emulator.

8 years agosync with coco3 tweaks
Neal Andrew Crook [Wed, 1 Jun 2016 20:33:24 +0000 (21:33 +0100)]
sync with coco3 tweaks

8 years agoClean-up of MMU routines: remove redundant register save/restore. More
Neal Andrew Crook [Wed, 1 Jun 2016 20:18:13 +0000 (21:18 +0100)]
Clean-up of MMU routines: remove redundant register save/restore. More
indexing. Saves a few cycles here and there.

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