Will Sowerbutts [Fri, 6 Jan 2017 19:02:15 +0000 (19:02 +0000)]
Kernel: n8vem-mark4: Change to dynamic bufpool
Will Sowerbutts [Fri, 6 Jan 2017 18:53:44 +0000 (18:53 +0000)]
Kernel: p112: Change to dynamic bufpool
Will Sowerbutts [Sun, 8 Jan 2017 23:00:43 +0000 (23:00 +0000)]
Kernel: zeta-v2: Implement /dev/rd and new /dev/mem
This implements the new /dev/mem and /dev/rd drivers for the zeta-v2
platform.
Will Sowerbutts [Sun, 8 Jan 2017 22:47:58 +0000 (22:47 +0000)]
Kernel: p112, n8vem-mark4: Implement /dev/rd and new /dev/mem
This implements the new /dev/mem and /dev/rd drivers for the Z180
based platforms.
p112: Note that the ROM disk is not useful on P112 as the ROM is limited
to 32KB in size and is unmapped from the CPU address space.
Will Sowerbutts [Sun, 8 Jan 2017 22:44:34 +0000 (22:44 +0000)]
Kernel: New /dev/mem driver
The old /dev/mem provided access to kernel memory only and is renamed to
/dev/kmem (minor number remains 1).
The new /dev/mem (minor number 4) is a character device which allows
userspace applications to access any address in the CPU physical memory
map using lseek(), read() and write(). Platforms need to define
CONFIG_DEV_MEM in config.h and provide the functions devmem_read() and
devmem_write().
Will Sowerbutts [Sun, 8 Jan 2017 22:27:59 +0000 (22:27 +0000)]
Kernel: New devrd driver: block device backed by CPU-addressed memory.
New driver supports two devices:
Block device /dev/rd0 (minor 0) -- a ROM disk
Block device /dev/rd1 (minor 1) -- a RAM disk
Minors 2+ may be used for other RAM disks in the future
Platforms need to provide DEV_RD_ROM_START, DEV_RD_ROM_SIZE,
DEV_RD_RAM_START and DEV_RD_RAM_SIZE which specify the start address (in
physical memory) and length (in bytes) of each device.
Platforms also need to provide a rd_platform_copy() function.
Will Sowerbutts [Sun, 8 Jan 2017 22:15:01 +0000 (22:15 +0000)]
Kernel: Fix kernel.def U_DATA offsets
EtchedPixels [Sun, 8 Jan 2017 12:22:08 +0000 (12:22 +0000)]
Merge pull request #473 from willsowerbutts/bugfix
Kernel: bread() should mark blocks as free on read failure
Will Sowerbutts [Thu, 5 Jan 2017 21:06:30 +0000 (21:06 +0000)]
Kernel: bread() should mark blocks as free on read failure
EtchedPixels [Wed, 4 Jan 2017 15:35:55 +0000 (15:35 +0000)]
Merge pull request #472 from willsowerbutts/levee
Applications: levee: Build versions for ansi, vt52 and termcap
Will Sowerbutts [Wed, 4 Jan 2017 14:54:01 +0000 (14:54 +0000)]
Applications: levee: Build versions for ansi, vt52 and termcap
EtchedPixels [Wed, 4 Jan 2017 12:55:25 +0000 (12:55 +0000)]
Merge pull request #471 from willsowerbutts/zetav2fixes
Fixes for zeta-v2 platform
EtchedPixels [Wed, 4 Jan 2017 12:54:54 +0000 (12:54 +0000)]
Merge pull request #470 from willsowerbutts/buildfixes
Minor build fixes
Will Sowerbutts [Wed, 28 Dec 2016 22:08:40 +0000 (22:08 +0000)]
Applications/util/tget: Link with termcap library
Will Sowerbutts [Wed, 28 Dec 2016 17:23:08 +0000 (17:23 +0000)]
zeta-v2: Remove fuzix.com, fuzix.rom when cleaning
Will Sowerbutts [Wed, 28 Dec 2016 17:24:50 +0000 (17:24 +0000)]
zeta-v2: Save a few bytes
Will Sowerbutts [Wed, 28 Dec 2016 17:30:14 +0000 (17:30 +0000)]
zeta-v2: Call program_vectors for kernel on boot.
This fixes a bug which was preventing zeta-v2 from booting.
Will Sowerbutts [Wed, 28 Dec 2016 17:21:05 +0000 (17:21 +0000)]
Applications/util/termcap.c: Update function declarations to modern C
syntax as required by recent versions of sdcc.
Will Sowerbutts [Wed, 28 Dec 2016 17:25:22 +0000 (17:25 +0000)]
Applications/util: Add missing make targets that package declares
Will Sowerbutts [Wed, 28 Dec 2016 17:26:06 +0000 (17:26 +0000)]
Kernel binman: fix off-by-one error, allowing COMMONMEM to use the last
byte of RAM (at address 0xFFFF).
EtchedPixels [Mon, 19 Dec 2016 20:47:14 +0000 (20:47 +0000)]
Merge pull request #469 from beretta42/cksum
Cksum
Alan Cox [Mon, 19 Dec 2016 20:46:16 +0000 (20:46 +0000)]
coco2cart: Initial patches from Brett Gordon for cocosdc
Brett Gordon [Mon, 19 Dec 2016 14:49:28 +0000 (09:49 -0500)]
cksum.c: further match gnu cksum algo, crc with file length.
Brett Gordon [Mon, 19 Dec 2016 14:13:42 +0000 (09:13 -0500)]
cksum.c: replace CRC LUT with Posix poly
Alan Cox [Mon, 12 Dec 2016 17:51:18 +0000 (17:51 +0000)]
coco2cart: update ACIA support to match nx32
Add speed setting etc to the Dragon64 UART
Alan Cox [Mon, 12 Dec 2016 17:51:02 +0000 (17:51 +0000)]
coco2cart: remove obsolete comment
Alan Cox [Mon, 12 Dec 2016 17:45:34 +0000 (17:45 +0000)]
mini_ide: fix a prototype
Alan Cox [Sat, 10 Dec 2016 14:30:29 +0000 (14:30 +0000)]
coco3: fix a comment
Alan Cox [Tue, 6 Dec 2016 19:17:15 +0000 (19:17 +0000)]
coco2cart: remove dead code
Alan Cox [Tue, 6 Dec 2016 19:05:30 +0000 (19:05 +0000)]
bank: propogate some changes
Alan Cox [Tue, 6 Dec 2016 19:05:17 +0000 (19:05 +0000)]
Makefile: add bank8k
Alan Cox [Tue, 6 Dec 2016 18:24:31 +0000 (18:24 +0000)]
bank8k: ho hum...
Alan Cox [Tue, 6 Dec 2016 00:20:51 +0000 (00:20 +0000)]
bank8k: add prototypes
Alan Cox [Tue, 6 Dec 2016 00:18:02 +0000 (00:18 +0000)]
bank8k: first cut at an 8K banking module
This needs to handle the tables differently as they don't fit in the page
pointers but that also lets us address Brett's wish for video mapping which
with 8K banking actually sort of makes sense on the COCO3.
Alan Cox [Sun, 4 Dec 2016 14:41:44 +0000 (14:41 +0000)]
coco2cart: document disk layout
Alan Cox [Sun, 4 Dec 2016 14:31:54 +0000 (14:31 +0000)]
execve: fix deadlock/crash
If a process sets files to be closed with O_CLOEXEC and those files are ones
that sleep during the close (eg a socket), and at the same time as it is
sleeping then on a little box with not many buffers you can easily deadlock
or run out of buffers.
Only allow one execve process at a time. As the disk I/O on a little 8bit
micro takes the full CPU time, and the only blocking case is the obscure
O_CLOEXEC one the performance impact of this change is pretty close to nil,
but it does mean we need to be careful not to let anything block for long
while closing.
For networking this will need a little bit of care and it also introduces
a bizarre corner case deadlock if you are using the userspace networking
daemon. You must ensure the daemon does not itself try to do an execve
while a socket might be waiting to close. As the network daemon can already
tie itself in knots if it attempts to use sockets, and is very special this
seems acceptable.
Alan Cox [Sun, 4 Dec 2016 14:31:30 +0000 (14:31 +0000)]
coco2cart: reclaim buffers
Tidy up the oddments that need deleting, and update the README
Alan Cox [Sun, 4 Dec 2016 13:46:42 +0000 (13:46 +0000)]
coco2cart: introduce swap enabled single process model
With the small core changes the 6809 banked ports can now swap while the
interrupts are enabled. This relies upon the fact the vectors are always
mapped so while not too hard on 6809 and 6502 the Z80 ports where the low
256 bytes are both IRQ vectors and part of the user map will probably need
a bit more work.
Alan Cox [Sun, 4 Dec 2016 13:46:01 +0000 (13:46 +0000)]
coco2cart: buffer pool into asm
This moves the buffer pool into its own section so that we can make sure
it lies next to discard
Alan Cox [Sun, 4 Dec 2016 13:45:24 +0000 (13:45 +0000)]
coco2cart: prepare for discard recovery
Align everything so that we can reclaim the discard memory space
Alan Cox [Sun, 4 Dec 2016 13:37:54 +0000 (13:37 +0000)]
process: changes for IRQ when swapping
Don't scribble on the udata when it is unsafe
Don't charge time to processes when swapping them
Alan Cox [Sun, 4 Dec 2016 13:37:08 +0000 (13:37 +0000)]
kernel: allow platforms to override the default task switch rate
This is useful on pure swap systems for example.
Alan Cox [Sun, 4 Dec 2016 13:36:36 +0000 (13:36 +0000)]
kdata: In preparation for IRQ enabled swap introduce an inswap status byte
Alan Cox [Sun, 4 Dec 2016 13:21:27 +0000 (13:21 +0000)]
coco2cart: update the README file
Alan Cox [Sat, 3 Dec 2016 21:44:10 +0000 (21:44 +0000)]
coco2cart: add link file
Alan Cox [Sat, 3 Dec 2016 21:43:29 +0000 (21:43 +0000)]
coco2cart: fix swapping logic
Alan Cox [Sat, 3 Dec 2016 21:03:38 +0000 (21:03 +0000)]
bcpl: tidy up problems with Z80 from changes, add split int/linker
Need to merge the split one and the paging logic
Alan Cox [Sat, 3 Dec 2016 20:19:41 +0000 (20:19 +0000)]
bcpl: remove a stdio usage and a pointless indirection
Faster faster..
Alan Cox [Wed, 30 Nov 2016 18:50:59 +0000 (18:50 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Wed, 30 Nov 2016 18:44:37 +0000 (18:44 +0000)]
scc: turn arguments the right way round
Small C has an irritating design feature that means it stacks arguments left
to right not right to left. Rather than working around this use a spool file
so we can put the code fragments in right to left order.
This totally changes the ABI, which is fine because we aren't using it for
anything and the old ABI is a PITA. With this done we can actually write sane
syscall stubs.
Would benefit from optimisations to also use the internal buffer as a stack
not just flush to the spool file as we stack code fragments.
Needless to say all the old varargs gunge is now a) broken and b) not needed
EtchedPixels [Sun, 27 Nov 2016 17:16:26 +0000 (17:16 +0000)]
Merge pull request #467 from beretta42/netdb
netd: fix gethostbyname: only add dns answers that are inet addrs.
Brett Gordon [Sun, 27 Nov 2016 14:46:32 +0000 (09:46 -0500)]
netd: fix gethostbyname: only add answsers that are inet addrs.
EtchedPixels [Thu, 24 Nov 2016 16:10:16 +0000 (16:10 +0000)]
Merge pull request #466 from nealcrook/v7-man-pages
V7 man pages (all platforms)
nealcrook [Thu, 24 Nov 2016 08:15:25 +0000 (08:15 +0000)]
V7 man pages (all platforms)
Add man pages (origin: nordier distribution, like the source code) for all
V7 stuff where they exist.
In all cases man pages are in a separate package within the same package
file; this allows a space-limited system to disable the man packages.
EtchedPixels [Wed, 23 Nov 2016 13:26:32 +0000 (13:26 +0000)]
Merge pull request #465 from nealcrook/BCPL
Application BCPL updates for all platforms.
nealcrook [Wed, 23 Nov 2016 11:45:51 +0000 (11:45 +0000)]
Add simple example programs
nealcrook [Wed, 23 Nov 2016 11:45:11 +0000 (11:45 +0000)]
Add files from BCPL kit.
nealcrook [Wed, 23 Nov 2016 11:41:40 +0000 (11:41 +0000)]
Merge branch 'BCPL' of https://github.com/nealcrook/FUZIX into BCPL
Conflicts:
Applications/BCPL/README
nealcrook [Wed, 23 Nov 2016 09:47:42 +0000 (09:47 +0000)]
remove duplicated "#ifdef PAGEDMEM"
nealcrook [Tue, 22 Nov 2016 22:25:29 +0000 (22:25 +0000)]
implement least-recently-used page replacement scheme in place of the
fixed scheme used during debug. Removed per-page access count which I
formerly considered using as part of the replacement algo.
nealcrook [Tue, 22 Nov 2016 22:09:38 +0000 (22:09 +0000)]
Do proper status checking on all the file operations.
EtchedPixels [Tue, 22 Nov 2016 22:06:09 +0000 (22:06 +0000)]
Merge pull request #462 from nealcrook/sh
Modifications to sh, all platforms: support for comments, add man-page, fix some build warnings, tweak package files
nealcrook [Tue, 22 Nov 2016 21:42:19 +0000 (21:42 +0000)]
bcpl is a script to automate the build process. The first FUZIX shell
script!! Expand README to describe its use and caveats.
nealcrook [Tue, 22 Nov 2016 21:15:23 +0000 (21:15 +0000)]
Add opensolaris license that applies to some parts of this set of
files, in particular stuff originating from the heirloom project.
EtchedPixels [Tue, 22 Nov 2016 19:28:45 +0000 (19:28 +0000)]
Merge pull request #463 from beretta42/dwinit
coco3: better/conditional initialization of drivewire
EtchedPixels [Tue, 22 Nov 2016 19:28:27 +0000 (19:28 +0000)]
Merge pull request #464 from beretta42/netd
coco3: make netd device module talk proper lwwire
Brett Gordon [Tue, 22 Nov 2016 18:28:33 +0000 (13:28 -0500)]
coco3: better/conditional initialization of drivewire
nealcrook [Tue, 22 Nov 2016 17:15:33 +0000 (17:15 +0000)]
BCPL package file.
nealcrook [Tue, 22 Nov 2016 17:13:59 +0000 (17:13 +0000)]
Dual-build. Working but need to add checks for return status after
file operation.
nealcrook [Tue, 22 Nov 2016 17:13:23 +0000 (17:13 +0000)]
Build infrastructure
Brett Gordon [Thu, 17 Nov 2016 22:42:56 +0000 (17:42 -0500)]
coco3: make netd device module talk proper lwwire
nealcrook [Tue, 22 Nov 2016 15:30:53 +0000 (15:30 +0000)]
abstract read and write into macros. Code almost identical.. one place
that it differs is the byte write in blibc which used to use a pointer
and which is now a plainer access.
nealcrook [Tue, 22 Nov 2016 14:33:03 +0000 (14:33 +0000)]
seoarate physical from virtual address space. Set up defines for
host and target systems.
nealcrook [Tue, 22 Nov 2016 09:51:20 +0000 (09:51 +0000)]
Mistakenly made a branch from my BCPL work instead of from Unwind the bcpl stuff from here.
Revert "expand the instructions for using the original bcpl kit files. Add"
This reverts commit
8934c001c5f9a270c08a6516e3da2e2a3b4f3d9e.
nealcrook [Tue, 22 Nov 2016 09:50:22 +0000 (09:50 +0000)]
Mistakenly made a branch from my BCPL work instead of from Unwind
the bcpl stuff from here.
Revert "Refernece cgtest.b"
This reverts commit
e327d0297d52d098441fda7cdc7c2e4866323577.
nealcrook [Tue, 22 Nov 2016 09:47:14 +0000 (09:47 +0000)]
Revert "Add files from BCPL kit and some simple example programs."
This reverts commit
7eec99c7ec337818e34a3c782c093f3f1e1b0e8a.
nealcrook [Tue, 22 Nov 2016 09:39:30 +0000 (09:39 +0000)]
Add sh.1 manpage to fuzix-sh package.
Add hard link of /usr/bin/[ to /usr/bin/test in fuzix-cmd package.
nealcrook [Tue, 22 Nov 2016 09:32:40 +0000 (09:32 +0000)]
remove unsupported nroff at the start, document #-delimited comments.
nealcrook [Tue, 22 Nov 2016 09:26:45 +0000 (09:26 +0000)]
sh.1 manpage retrieved from archival V7 distribution.
nealcrook [Tue, 22 Nov 2016 09:25:58 +0000 (09:25 +0000)]
Revert "sh manpage from heirloom-sh - describes a superset of the functionality in"
This reverts commit
731eb043e49277bb062d8ac5965c15ba37f5c27b.
nealcrook [Tue, 22 Nov 2016 09:17:35 +0000 (09:17 +0000)]
sh manpage from heirloom-sh - describes a superset of the functionality in
the FUZIX V7-origin sh.
nealcrook [Tue, 22 Nov 2016 09:15:47 +0000 (09:15 +0000)]
Port support for comment-to-end-of-line via '#' from heirloom-sh: while
loop added to the start of word() in word.c
nealcrook [Tue, 22 Nov 2016 08:39:07 +0000 (08:39 +0000)]
Using assignments as truth values seems to have been a favoured
programming style of Mr Bourne. gcc moans about it though:
"suggest parentheses around assignment used as truth value"
so in the interests of fewer compile warnings I have complied with the
suggestion.
nealcrook [Mon, 21 Nov 2016 22:25:49 +0000 (22:25 +0000)]
Add files from BCPL kit and some simple example programs.
nealcrook [Mon, 21 Nov 2016 22:24:01 +0000 (22:24 +0000)]
Refernece cgtest.b
nealcrook [Mon, 21 Nov 2016 15:55:03 +0000 (15:55 +0000)]
expand the instructions for using the original bcpl kit files. Add
description of icintv.
Brett Gordon [Tue, 15 Nov 2016 20:27:50 +0000 (15:27 -0500)]
fuzix: netd
enclosed is a patch for netd. Have fun figuring out netd.c :) This gives me
(active open only) native networking. Me and Ron Klein have been testing
this with success. Please advise,
brett
Alan Cox [Sun, 20 Nov 2016 17:49:53 +0000 (17:49 +0000)]
select test tool
Alan Cox [Sat, 19 Nov 2016 12:39:30 +0000 (12:39 +0000)]
vfscanf/fprintf_m: push missing stubs
Alan Cox [Sat, 19 Nov 2016 12:02:23 +0000 (12:02 +0000)]
6502: switch to current cc65 not mine with hacks
Alan Cox [Sat, 19 Nov 2016 11:42:53 +0000 (11:42 +0000)]
execl: 6502 support
EtchedPixels [Wed, 16 Nov 2016 12:48:07 +0000 (12:48 +0000)]
Merge pull request #454 from nealcrook/apps-tidy
levee cleanup, and various other app tweaks and tidies
EtchedPixels [Wed, 16 Nov 2016 12:46:39 +0000 (12:46 +0000)]
Merge pull request #458 from beretta42/dw
coco3: drivewire: dynamic polling back-off.
Brett Gordon [Wed, 16 Nov 2016 01:53:54 +0000 (20:53 -0500)]
coco3: drivewire: dynamic polling back-off.
nealcrook [Tue, 15 Nov 2016 16:53:55 +0000 (16:53 +0000)]
platforms: all. Revise .gitignore to add dwdate.
nealcrook [Tue, 15 Nov 2016 10:25:15 +0000 (10:25 +0000)]
Bring in line with master so that this will merge cleanly
nealcrook [Tue, 15 Nov 2016 08:19:39 +0000 (08:19 +0000)]
Revert "change 6809 makefiles to point to Library/include/6809 rather than"
This reverts commit
78a3da526b98b974b305f97d03d606d3bd280548.
Reverting becasue this change had already been applied from elsewhere by the
time I tried to push this branch upstream.
Alan Cox [Sun, 13 Nov 2016 00:17:52 +0000 (00:17 +0000)]
v65: update todo list
Alan Cox [Sun, 13 Nov 2016 00:13:47 +0000 (00:13 +0000)]
Makefile: add new targets coco2cart and v65
Alan Cox [Sun, 13 Nov 2016 00:12:49 +0000 (00:12 +0000)]
termcap: move buffers off stack