FUZIX.git
9 years agoKernel: d_flush() flushes the write cache of a device, using the private
Will Sowerbutts [Sun, 11 Jan 2015 23:41:49 +0000 (23:41 +0000)]
Kernel: d_flush() flushes the write cache of a device, using the private
device ioctl BLOCK_FLUSH_CACHE.

d_flush() is called on a device whenever a writable file is closed.

9 years agoMerge pull request #64 from willsowerbutts/blkdevfix
EtchedPixels [Sun, 11 Jan 2015 20:47:13 +0000 (20:47 +0000)]
Merge pull request #64 from willsowerbutts/blkdevfix

blkdev: Bug fix - final blkdev_table entry could not be used

9 years agoblkdev: Bug fix - final blkdev_table entry could not be used
Will Sowerbutts [Sun, 11 Jan 2015 17:47:43 +0000 (17:47 +0000)]
blkdev: Bug fix - final blkdev_table entry could not be used

9 years agotgl6502: fix various basic things such as __fastcall__ for memcpy
Alan Cox [Sat, 10 Jan 2015 22:28:26 +0000 (22:28 +0000)]
tgl6502: fix various basic things such as __fastcall__ for memcpy

Now things look a bit saner and we get to the point of sitting on our butt
waiting for a keyboard input.

9 years ago6502: save the zero page magic bits on interrupt, other minor fixups
Alan Cox [Sat, 10 Jan 2015 21:46:50 +0000 (21:46 +0000)]
6502: save the zero page magic bits on interrupt, other minor fixups

9 years agotricks.s: fork and copy routine for the 6502
Alan Cox [Sat, 10 Jan 2015 21:06:42 +0000 (21:06 +0000)]
tricks.s: fork and copy routine for the 6502

Or at least a first guess thereat

9 years agotgl6502: start fleshing out the 6502 version of tricks.s
Alan Cox [Sat, 10 Jan 2015 18:33:59 +0000 (18:33 +0000)]
tgl6502: start fleshing out the 6502 version of tricks.s

9 years agocrt0.s: load $FF into S not $0
Alan Cox [Sat, 10 Jan 2015 14:47:26 +0000 (14:47 +0000)]
crt0.s: load $FF into S not $0

9 years agotgl6502: update README
Alan Cox [Sat, 10 Jan 2015 00:48:58 +0000 (00:48 +0000)]
tgl6502: update README

9 years agotglsplice: turns fuzix.bin into 6502.rom.
Alan Cox [Sat, 10 Jan 2015 00:44:48 +0000 (00:44 +0000)]
tglsplice: turns fuzix.bin into 6502.rom.

We burn a bank the way we do it right now. Possibly we could instead swap two
banks over so that 0x41 stays the top bank.

9 years agotgl6502: initial bring up tree elements for the TGL6502 platform
Alan Cox [Sat, 10 Jan 2015 00:43:20 +0000 (00:43 +0000)]
tgl6502: initial bring up tree elements for the TGL6502 platform

There is a lot left to fill in on the 6502 tree. There are also some very
weird bugs right now such as kprintf working/not working depending upon subtle
changes to code sizes elsewhere. It's hard at this point to tell if its
emulator bugs, something weird in the setup code, compiler etc.

All part of the fun.

9 years ago6502: don't built -tc128, we want ascii not petsci
Alan Cox [Sat, 10 Jan 2015 00:41:40 +0000 (00:41 +0000)]
6502: don't built -tc128, we want ascii not petsci

9 years agoprocess.c: turn debug back off in default build
Alan Cox [Sat, 10 Jan 2015 00:40:46 +0000 (00:40 +0000)]
process.c: turn debug back off in default build

9 years agoprocess.c: fix build with the full debug enabled
Alan Cox [Sat, 10 Jan 2015 00:40:25 +0000 (00:40 +0000)]
process.c: fix build with the full debug enabled

9 years ago6502: some code tidy
Alan Cox [Sat, 10 Jan 2015 00:40:14 +0000 (00:40 +0000)]
6502: some code tidy

9 years ago6502: stubs for usermem
Alan Cox [Sat, 10 Jan 2015 00:40:04 +0000 (00:40 +0000)]
6502: stubs for usermem

9 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sat, 10 Jan 2015 00:39:46 +0000 (00:39 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

9 years agoMerge pull request #63 from willsowerbutts/endian
EtchedPixels [Sat, 10 Jan 2015 00:27:07 +0000 (00:27 +0000)]
Merge pull request #63 from willsowerbutts/endian

devide, mbr: Remove little endian assumptions

9 years agoMerge pull request #61 from adx11/master
EtchedPixels [Sat, 10 Jan 2015 00:26:03 +0000 (00:26 +0000)]
Merge pull request #61 from adx11/master

Makefile: add missing clean targets

9 years agodevide: Address another little-endian assumption
Will Sowerbutts [Fri, 9 Jan 2015 19:56:03 +0000 (19:56 +0000)]
devide: Address another little-endian assumption

9 years agombr: Do not assume little-endian
Will Sowerbutts [Thu, 8 Jan 2015 22:03:49 +0000 (22:03 +0000)]
mbr: Do not assume little-endian

9 years agodevide: Do not assume little-endian
Will Sowerbutts [Thu, 8 Jan 2015 21:48:12 +0000 (21:48 +0000)]
devide: Do not assume little-endian

9 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Fri, 9 Jan 2015 16:53:14 +0000 (16:53 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

9 years agoMakefile: add missig clean targets
Anthony DeStefano [Fri, 9 Jan 2015 01:16:15 +0000 (20:16 -0500)]
Makefile: add missig clean targets

tools/bankld can use Makefile
tools/bihx and tools/bintomdv are built in the Makefile
common.ihx, common.bin, and relocs.dat are outputs from tools/binhx

9 years agoMerge pull request #59 from willsowerbutts/tickfix
EtchedPixels [Thu, 8 Jan 2015 21:31:04 +0000 (21:31 +0000)]
Merge pull request #59 from willsowerbutts/tickfix

Kernel: Fix definition of ticks_t

9 years agoKernel: Fix definition of ticks_t
Will Sowerbutts [Thu, 8 Jan 2015 19:38:14 +0000 (19:38 +0000)]
Kernel: Fix definition of ticks_t

9 years agoFinal tweaks and TRS80 now swaps on partitions other than 0
Alan Cox [Tue, 6 Jan 2015 23:28:15 +0000 (23:28 +0000)]
Final tweaks and TRS80 now swaps on partitions other than 0

You can now set up a 10MB hd or similar with a mix of disk and swap, and it
also won't randomly pee on disks it doesn't own.

9 years agotrslabel: correct set up
Alan Cox [Tue, 6 Jan 2015 23:12:18 +0000 (23:12 +0000)]
trslabel: correct set up

9 years agostart: update year
Alan Cox [Tue, 6 Jan 2015 23:10:34 +0000 (23:10 +0000)]
start: update year

9 years agotrslabel: initial quick hack volume labeller for TRS80 volumes
Alan Cox [Tue, 6 Jan 2015 23:06:15 +0000 (23:06 +0000)]
trslabel: initial quick hack volume labeller for TRS80 volumes

9 years agotrs80: fix silly bug in devhd - 256 byte sectors so we want 2,+128
Alan Cox [Tue, 6 Jan 2015 23:05:50 +0000 (23:05 +0000)]
trs80: fix silly bug in devhd - 256 byte sectors so we want 2,+128

9 years agodiskgeom: correct lba struct
Alan Cox [Tue, 6 Jan 2015 23:05:36 +0000 (23:05 +0000)]
diskgeom: correct lba struct

9 years agotrs80/core: Enable the pieces we need for TRS80 with labels
Alan Cox [Tue, 6 Jan 2015 22:25:18 +0000 (22:25 +0000)]
trs80/core: Enable the pieces we need for TRS80 with labels

This is very much a work in progress. Mostly pushing it so that Will can
compare with the blkdev work and the needs of the two models in terms
of functionality and size.

9 years agoanalysemap: allow -a to also size discard functions
Alan Cox [Tue, 6 Jan 2015 22:24:37 +0000 (22:24 +0000)]
analysemap: allow -a to also size discard functions

9 years agodiskgeom: disk geometry and mini partitions for small boxen
Alan Cox [Tue, 6 Jan 2015 21:41:46 +0000 (21:41 +0000)]
diskgeom: disk geometry and mini partitions for small boxen

9 years agoTidy up the DISCARD hack
Alan Cox [Tue, 6 Jan 2015 21:34:50 +0000 (21:34 +0000)]
Tidy up the DISCARD hack

9 years agoblkdev: Break apart blkdev_init
Alan Cox [Tue, 6 Jan 2015 12:31:14 +0000 (12:31 +0000)]
blkdev: Break apart blkdev_init

There are two reasons for doing this

1. We push a lot of arguments, and will need to push more which will break the
   planned banked kernel, as well as eating memory
2. We want to give drivers the ability to provide their own alternative scan
   methods

Doing the alloc/assign/scan sequence doesn't cost us anything but is much
more flexible.

9 years agoanalysemap: don't list _DISCARD functions in hogs.txt
Alan Cox [Tue, 6 Jan 2015 12:30:10 +0000 (12:30 +0000)]
analysemap: don't list _DISCARD functions in hogs.txt

We don't actually want to keep seeing discardable boot code all over the
hog listing, we want to see the real offenders who stay resident.

9 years agodevhd: TRS80 devhd swap was done, remove comment about it
Alan Cox [Tue, 6 Jan 2015 12:22:16 +0000 (12:22 +0000)]
devhd: TRS80 devhd swap was done, remove comment about it

9 years agolevee: Remove binaries from git tree, go with -O3
Alan Cox [Tue, 6 Jan 2015 12:13:15 +0000 (12:13 +0000)]
levee: Remove binaries from git tree, go with -O3

9 years agoTODO: update for things done
Alan Cox [Tue, 6 Jan 2015 12:12:23 +0000 (12:12 +0000)]
TODO: update for things done

9 years agoMerge pull request #57 from slp/to_upstream
EtchedPixels [Tue, 6 Jan 2015 01:48:41 +0000 (01:48 +0000)]
Merge pull request #57 from slp/to_upstream

Minor fixes for building z80pack platform.

9 years agocreatedrives: fix TMPUCP definition.
Sergio L. Pascual [Mon, 5 Jan 2015 23:41:25 +0000 (00:41 +0100)]
createdrives: fix TMPUCP definition.

9 years agocreatedrives: add more binaries to hard disk.
Sergio L. Pascual [Mon, 5 Jan 2015 23:40:34 +0000 (00:40 +0100)]
createdrives: add more binaries to hard disk.

9 years agodev/z80pack/devtty.c: Drop static attribute to make SDCC happy.
Sergio L. Pascual [Mon, 5 Jan 2015 23:35:22 +0000 (00:35 +0100)]
dev/z80pack/devtty.c: Drop static attribute to make SDCC happy.

9 years agoKernel/Makefile: move plus sign to start of statement.
Sergio L. Pascual [Mon, 5 Jan 2015 23:34:11 +0000 (00:34 +0100)]
Kernel/Makefile: move plus sign to start of statement.

9 years agoMerge pull request #55 from willsowerbutts/binman
EtchedPixels [Mon, 5 Jan 2015 18:28:48 +0000 (18:28 +0000)]
Merge pull request #55 from willsowerbutts/binman

binman: tidy up, fail when _DISCARD grows to overlap _COMMONMEM

9 years agoMerge pull request #56 from willsowerbutts/propio2
EtchedPixels [Mon, 5 Jan 2015 18:28:15 +0000 (18:28 +0000)]
Merge pull request #56 from willsowerbutts/propio2

PropIOv2

9 years agoMerge pull request #54 from willsowerbutts/mbr
EtchedPixels [Mon, 5 Jan 2015 18:27:43 +0000 (18:27 +0000)]
Merge pull request #54 from willsowerbutts/mbr

mbr: Save 16 bytes, fix bug

9 years agoKernel: mbr: Fix bug when four primary partitions are present (also saves 15 bytes)
Will Sowerbutts [Mon, 5 Jan 2015 02:32:24 +0000 (02:32 +0000)]
Kernel: mbr: Fix bug when four primary partitions are present (also saves 15 bytes)

9 years agoAdd my name to the new blkdev, mbr code
Will Sowerbutts [Mon, 5 Jan 2015 01:56:29 +0000 (01:56 +0000)]
Add my name to the new blkdev, mbr code

9 years agon8vem-mark4: Tidy up config, make ASCI0 console again, move PropIO
Will Sowerbutts [Mon, 5 Jan 2015 01:28:46 +0000 (01:28 +0000)]
n8vem-mark4: Tidy up config, make ASCI0 console again, move PropIO
register definitions into a new n8vem.h header file.

9 years agon8vem-mark4: add support for console on PropIO v2 board.
Anthony DeStefano [Mon, 5 Jan 2015 00:36:23 +0000 (19:36 -0500)]
n8vem-mark4: add support for console on PropIO v2 board.

9 years agobinman: Fix stuttering comment
Will Sowerbutts [Mon, 5 Jan 2015 01:02:00 +0000 (01:02 +0000)]
binman: Fix stuttering comment

9 years agobinman: Fail when _DISCARD grows to overlap _COMMONMEM
Will Sowerbutts [Mon, 5 Jan 2015 00:49:44 +0000 (00:49 +0000)]
binman: Fail when _DISCARD grows to overlap _COMMONMEM

9 years agobinman: Remove redundant code
Will Sowerbutts [Mon, 5 Jan 2015 00:49:12 +0000 (00:49 +0000)]
binman: Remove redundant code

9 years agombr: Save one byte
Will Sowerbutts [Mon, 5 Jan 2015 00:12:29 +0000 (00:12 +0000)]
mbr: Save one byte

9 years agoMerge pull request #53 from willsowerbutts/blkdev
EtchedPixels [Sun, 4 Jan 2015 22:59:49 +0000 (22:59 +0000)]
Merge pull request #53 from willsowerbutts/blkdev

Avoid infinite loops in mbr_parse() with faulty input

9 years agoAvoid infinite loops in mbr_parse() with faulty input
Will Sowerbutts [Sun, 4 Jan 2015 22:47:20 +0000 (22:47 +0000)]
Avoid infinite loops in mbr_parse() with faulty input

9 years agoMerge pull request #52 from willsowerbutts/blkdev
EtchedPixels [Sun, 4 Jan 2015 22:35:12 +0000 (22:35 +0000)]
Merge pull request #52 from willsowerbutts/blkdev

Introduce new "blkdev" layer for 512-byte sector partitioned drives.

9 years agoIntroduce new "blkdev" layer for 512-byte sector partitioned drives.
Will Sowerbutts [Sun, 4 Jan 2015 21:54:01 +0000 (21:54 +0000)]
Introduce new "blkdev" layer for 512-byte sector partitioned drives.

Hardware drivers are now responsible for the bare mimumum -- identify
the storage devices present, figure out how large they are, and provide
a function to read/write sectors.

The concept of "slices" goes away, instead we will use a separate
partition for each file system.

The blkdev layer handles PC-style MBR partition tables, both primary and
extended partitions, up to a maximum of 15 partitions per drive. The
partition numbering is chosen to be compatible with Linux.

Storage drivers no longer each require a separate entry in the device
switch table.

9 years agovdp1: propogate fix from VDP2
Alan Cox [Sun, 4 Jan 2015 21:03:52 +0000 (21:03 +0000)]
vdp1: propogate fix from VDP2

9 years agoMerge pull request #51 from geijoenr/toupstream
EtchedPixels [Sun, 4 Jan 2015 21:02:11 +0000 (21:02 +0000)]
Merge pull request #51 from geijoenr/toupstream

fixes msx2

9 years agopcw8256: rework the keyboard, fix a build breakage
Alan Cox [Sun, 4 Jan 2015 21:01:34 +0000 (21:01 +0000)]
pcw8256: rework the keyboard, fix a build breakage

9 years agovt.c: Add support for the '·' key
Alan Cox [Sun, 4 Jan 2015 21:01:18 +0000 (21:01 +0000)]
vt.c: Add support for the '·' key

9 years agomsx2: fix memory sizing
geijoenr [Sun, 4 Jan 2015 20:48:50 +0000 (21:48 +0100)]
msx2: fix memory sizing

it was off by 3 pages

9 years agovdp2: fix scroll_up
geijoenr [Sun, 4 Jan 2015 20:46:58 +0000 (21:46 +0100)]
vdp2: fix scroll_up

9 years agokeycode: Add more codes, move CTRL back to fix build breakage
Alan Cox [Sun, 4 Jan 2015 20:33:21 +0000 (20:33 +0000)]
keycode: Add more codes, move CTRL back to fix build breakage

9 years agoplatform-trs80/README: fix boot block file name
Faisal Abbas [Sun, 4 Jan 2015 17:15:58 +0000 (22:15 +0500)]
platform-trs80/README: fix boot block file name

9 years agoREADME: fix bin file name to fuzix.bin
Faisal Abbas [Sun, 4 Jan 2015 17:15:57 +0000 (22:15 +0500)]
README: fix bin file name to fuzix.bin

9 years agostart: Note a FIXME
Alan Cox [Sun, 4 Jan 2015 17:38:33 +0000 (17:38 +0000)]
start: Note a FIXME

9 years agopcw8256: missed a devtty.h
Alan Cox [Sun, 4 Jan 2015 17:38:22 +0000 (17:38 +0000)]
pcw8256: missed a devtty.h

9 years agotrs80: use the new keyboard defines
Alan Cox [Sun, 4 Jan 2015 17:38:02 +0000 (17:38 +0000)]
trs80: use the new keyboard defines

9 years agonc100: use the new keyboard defines
Alan Cox [Sun, 4 Jan 2015 17:37:40 +0000 (17:37 +0000)]
nc100: use the new keyboard defines

9 years agovt: Add a vt_ helper for console keyboard code input
Alan Cox [Sun, 4 Jan 2015 17:37:10 +0000 (17:37 +0000)]
vt: Add a vt_ helper for console keyboard code input

9 years agotty: make keyboard maps visible and standard names
Alan Cox [Sun, 4 Jan 2015 17:36:32 +0000 (17:36 +0000)]
tty: make keyboard maps visible and standard names

9 years agodragon: make the keyboard maps external so we can load them from apps
Alan Cox [Sun, 4 Jan 2015 17:35:16 +0000 (17:35 +0000)]
dragon: make the keyboard maps external so we can load them from apps

9 years agodevio: note FIXME on device close
Alan Cox [Sun, 4 Jan 2015 17:34:40 +0000 (17:34 +0000)]
devio: note FIXME on device close

9 years agokeycode.h: Add definitions for keycodes
Alan Cox [Sun, 4 Jan 2015 17:33:43 +0000 (17:33 +0000)]
keycode.h: Add definitions for keycodes

We encode them 0x00-0x7F: standard keycodes
0x80-0x9F: space for magic fixups in unicode
0xA0+: escape, char sequences

9 years agotrs80: correct size of shift kbd map so we don't waste memory
Alan Cox [Sun, 4 Jan 2015 14:13:33 +0000 (14:13 +0000)]
trs80: correct size of shift kbd map so we don't waste memory

9 years agoMerge pull request #45 from willsowerbutts/fixstdlib
EtchedPixels [Sun, 4 Jan 2015 12:44:06 +0000 (12:44 +0000)]
Merge pull request #45 from willsowerbutts/fixstdlib

Fixes to standard library

9 years agoMerge pull request #46 from geijoenr/toupstream
EtchedPixels [Sun, 4 Jan 2015 12:37:20 +0000 (12:37 +0000)]
Merge pull request #46 from geijoenr/toupstream

msx2: add MegaSD driver

9 years agomsx2: add MegaSD driver
geijoenr [Sun, 4 Jan 2015 01:24:28 +0000 (02:24 +0100)]
msx2: add MegaSD driver

using the generic devsd driver maybe is not the fastest option because we need
to switch slots many times when sending commands, but it works as expected and
performance is acceptable for now.

9 years agoLibrary: Remove duplicate tcflush hiding in tcflow.c -- although we
Will Sowerbutts [Sat, 3 Jan 2015 23:20:35 +0000 (23:20 +0000)]
Library: Remove duplicate tcflush hiding in tcflow.c -- although we
still don't have a tcflow()!

9 years agoLibrary: Scrub additional functions when importing the sdcc libraries.
Will Sowerbutts [Sat, 3 Jan 2015 23:09:58 +0000 (23:09 +0000)]
Library: Scrub additional functions when importing the sdcc libraries.

9 years agocmp: Use _ultoa in place of ultostr
Will Sowerbutts [Sat, 3 Jan 2015 22:49:43 +0000 (22:49 +0000)]
cmp: Use _ultoa in place of ultostr

9 years agoApplications: Remove .bin files when cleaning
Will Sowerbutts [Sat, 3 Jan 2015 22:44:30 +0000 (22:44 +0000)]
Applications: Remove .bin files when cleaning

9 years agoLibrary: Make the string functions match the prototypes in stdlib.h
Will Sowerbutts [Sat, 3 Jan 2015 22:20:03 +0000 (22:20 +0000)]
Library: Make the string functions match the prototypes in stdlib.h

Rename single-argument ltoa and ultoa to _ltoa and _ultoa.

Rename non-standard ltostr and ultostr to __ltostr and __ultostr, change
prototypes in stdlib.h to match expected arguments.

New implementations of ltoa, ultoa based on __ltostr, __ultostr.

Change vfprintf to call __ltostr and __ultostr.

Change _itoa to call _ltoa.

Now we have:

_ltoa, _ultoa, _itoa: Take a single argument (value).

__ltostr, __ultostr: Take two arguments (value, radix).

ltoa, ultoa: Take three arguments (value, buffer, radix). Calls either
__ltostr or __ultostr and copies the result into the user-provided
buffer.

9 years agosignals: cleanup chksig a little, clear mask on ignored no-op signals
Alan Cox [Sat, 3 Jan 2015 22:20:04 +0000 (22:20 +0000)]
signals: cleanup chksig a little, clear mask on ignored no-op signals

9 years agotty: small improvements
Alan Cox [Sat, 3 Jan 2015 22:03:03 +0000 (22:03 +0000)]
tty: small improvements

Shave 90 bytes off tty_inproc (still too big!)
Fix VKILL bug
Timeout/VMIN handling

9 years agoMerge pull request #44 from willsowerbutts/buildfixes2
EtchedPixels [Sat, 3 Jan 2015 20:51:30 +0000 (20:51 +0000)]
Merge pull request #44 from willsowerbutts/buildfixes2

Fixes to build the kernel

9 years agoMerge pull request #43 from willsowerbutts/buildfixes
EtchedPixels [Sat, 3 Jan 2015 20:50:32 +0000 (20:50 +0000)]
Merge pull request #43 from willsowerbutts/buildfixes

Minor improvements to Makefiles etc

9 years agoLibrary: Do not fail when c.lib symlink already exists
Will Sowerbutts [Sat, 3 Jan 2015 17:58:05 +0000 (17:58 +0000)]
Library: Do not fail when c.lib symlink already exists

9 years agoKernel: Makefile corrections
Will Sowerbutts [Sat, 3 Jan 2015 16:38:18 +0000 (16:38 +0000)]
Kernel: Makefile corrections

9 years agoKernel: Convert final uses of c_dirty to CDIRTY flag
Will Sowerbutts [Sat, 3 Jan 2015 16:37:33 +0000 (16:37 +0000)]
Kernel: Convert final uses of c_dirty to CDIRTY flag

9 years agoKernel: Fix minor typo in timer.h
Will Sowerbutts [Sat, 3 Jan 2015 16:28:04 +0000 (16:28 +0000)]
Kernel: Fix minor typo in timer.h

9 years agoMinor Makefile fixes
Will Sowerbutts [Sat, 3 Jan 2015 16:17:37 +0000 (16:17 +0000)]
Minor Makefile fixes

Libary: Link syslib.lib to c.lib (which is the name fcc expects to use)

Applications: Use fcc to build, remove reference to env.c and uname.c
which are not present in the git repository.

9 years agoMake Library/Makefile clean and build all tools
Will Sowerbutts [Sat, 3 Jan 2015 16:05:56 +0000 (16:05 +0000)]
Make Library/Makefile clean and build all tools

9 years agofcc: Make installation directory easier to configure
Will Sowerbutts [Sat, 3 Jan 2015 16:03:24 +0000 (16:03 +0000)]
fcc: Make installation directory easier to configure

9 years agoflock: add C library pieces
Alan Cox [Sat, 3 Jan 2015 15:58:53 +0000 (15:58 +0000)]
flock: add C library pieces