FUZIX.git
8 years agoFix apparent typos that caused gcc-6809 to barf.
Neal Andrew Crook [Wed, 27 Jul 2016 18:26:57 +0000 (19:26 +0100)]
Fix apparent typos that caused gcc-6809 to barf.
Delete trailing whitespace, for fun.

8 years agoMerge pull request #385 from beretta42/ashr
EtchedPixels [Tue, 26 Jul 2016 17:50:25 +0000 (18:50 +0100)]
Merge pull request #385 from beretta42/ashr

6809: ashrsi3: 8 bit shift optimization

8 years agosmallc: Updates
Alan Cox [Tue, 26 Jul 2016 17:47:20 +0000 (18:47 +0100)]
smallc: Updates

- basics for register variables
- assorted other improvements to move towards better code generation

8 years ago6809: restore memory state in case of int while in kernel.
Brett Gordon [Tue, 26 Jul 2016 14:30:40 +0000 (10:30 -0400)]
6809: restore memory state in case of int while in kernel.

8 years ago6809: ashrsi3: 8 bit shift optimization
Brett Gordon [Tue, 26 Jul 2016 14:19:58 +0000 (10:19 -0400)]
6809: ashrsi3: 8 bit shift optimization

8 years agotrs80: first cut at dw_transaction
Alan Cox [Tue, 26 Jul 2016 10:18:41 +0000 (11:18 +0100)]
trs80: first cut at dw_transaction

8 years agoMerge pull request #384 from beretta42/ashr
EtchedPixels [Tue, 26 Jul 2016 09:43:03 +0000 (10:43 +0100)]
Merge pull request #384 from beretta42/ashr

Add a schlocky ashrsi3 to 6809, fix devdw.

8 years agodevdw: forgot to increment the loop var
Brett Gordon [Tue, 26 Jul 2016 04:02:42 +0000 (00:02 -0400)]
devdw: forgot to increment the loop var

8 years ago6809: add ___ashrsi3
Brett Gordon [Tue, 26 Jul 2016 03:32:19 +0000 (23:32 -0400)]
6809: add ___ashrsi3

8 years agoREADME: update mtx entry
Alan Cox [Mon, 25 Jul 2016 20:03:08 +0000 (21:03 +0100)]
README: update mtx entry

8 years agomtx: update docs
Alan Cox [Mon, 25 Jul 2016 20:02:46 +0000 (21:02 +0100)]
mtx: update docs

8 years agomtx: make it easier to config with or without swap
Alan Cox [Mon, 25 Jul 2016 19:57:00 +0000 (20:57 +0100)]
mtx: make it easier to config with or without swap

8 years agodevdw: hopefully update correctly for new block APIs
Alan Cox [Mon, 25 Jul 2016 16:38:21 +0000 (17:38 +0100)]
devdw: hopefully update correctly for new block APIs

8 years agodragon-nx32: update floppy driver for block API changes
Alan Cox [Mon, 25 Jul 2016 16:37:50 +0000 (17:37 +0100)]
dragon-nx32: update floppy driver for block API changes

8 years agopcw8256: update floppy driver to new API
Alan Cox [Mon, 25 Jul 2016 16:37:21 +0000 (17:37 +0100)]
pcw8256: update floppy driver to new API

8 years agococo2: update to new block API
Alan Cox [Mon, 25 Jul 2016 16:36:55 +0000 (17:36 +0100)]
coco2: update to new block API

8 years agonc100: udpate to new block I/O
Alan Cox [Mon, 25 Jul 2016 16:36:42 +0000 (17:36 +0100)]
nc100: udpate to new block I/O

8 years agotrs80: update to match block changes
Alan Cox [Mon, 25 Jul 2016 16:36:14 +0000 (17:36 +0100)]
trs80: update to match block changes

8 years agomtx: adapt to new block ops
Alan Cox [Mon, 25 Jul 2016 16:35:53 +0000 (17:35 +0100)]
mtx: adapt to new block ops

8 years agoz80pack: adapter to block changes
Alan Cox [Mon, 25 Jul 2016 16:35:28 +0000 (17:35 +0100)]
z80pack: adapter to block changes

8 years agoblock io: rationalise blkdev and swap
Alan Cox [Mon, 25 Jul 2016 16:34:38 +0000 (17:34 +0100)]
block io: rationalise blkdev and swap

blk_op variables want thinning out but that can be done later

8 years agodevio: add helpers to start rationalising the I/O paths
Alan Cox [Mon, 25 Jul 2016 16:34:00 +0000 (17:34 +0100)]
devio: add helpers to start rationalising the I/O paths

8 years agold: more tidying
Alan Cox [Sun, 24 Jul 2016 20:51:36 +0000 (21:51 +0100)]
ld: more tidying

8 years agoas: more tidying up
Alan Cox [Sun, 24 Jul 2016 20:51:23 +0000 (21:51 +0100)]
as: more tidying up

8 years agocpm: cache syscall vector for apps that reuse the RST vector
Alan Cox [Sun, 24 Jul 2016 17:06:46 +0000 (18:06 +0100)]
cpm: cache syscall vector for apps that reuse the RST vector

8 years agoSmallC: remove some unused code
Alan Cox [Sun, 24 Jul 2016 14:49:04 +0000 (15:49 +0100)]
SmallC: remove some unused code

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