Alan Cox [Sun, 23 Nov 2014 00:40:27 +0000 (00:40 +0000)]
z80pack-lite: bring into alignment with modernity
Alan Cox [Sun, 23 Nov 2014 00:40:12 +0000 (00:40 +0000)]
z80pack-lite: clean up old code
Alan Cox [Sun, 23 Nov 2014 00:39:56 +0000 (00:39 +0000)]
z80pack-lite: bring up to date a bit more
Alan Cox [Sun, 23 Nov 2014 00:39:23 +0000 (00:39 +0000)]
z80pack-lite: clean up config, use common devfd
Alan Cox [Sun, 23 Nov 2014 00:38:25 +0000 (00:38 +0000)]
z80pack: devfd updates
Alan Cox [Sun, 23 Nov 2014 00:07:38 +0000 (00:07 +0000)]
z80pack: Move devfd somewhere common
Begin folding all the common z80pack bits together
Alan Cox [Sat, 22 Nov 2014 22:55:07 +0000 (22:55 +0000)]
Makefile: remove comment - staying with uzi.lnk ordering for now
Alan Cox [Sat, 22 Nov 2014 22:54:56 +0000 (22:54 +0000)]
pcw8256: fix ramtop definition
Alan Cox [Sat, 22 Nov 2014 22:50:21 +0000 (22:50 +0000)]
pcw8256: fix swap defines
Alan Cox [Sat, 22 Nov 2014 22:48:15 +0000 (22:48 +0000)]
pcw8256: Various fixes
Make sure we link the commonmem.s first
Use the standard commonmem
Move the written parts of common clear of the first 256 bytes (so swap can
work)
Alan Cox [Sat, 22 Nov 2014 22:47:31 +0000 (22:47 +0000)]
commonmem: switch some platforms to using the new .include
Alan Cox [Sat, 22 Nov 2014 22:46:30 +0000 (22:46 +0000)]
commonmem: add a standard Z80 commonmem to .include
Alan Cox [Sat, 22 Nov 2014 20:54:46 +0000 (20:54 +0000)]
z80pack: fix comment
Alan Cox [Sat, 22 Nov 2014 20:51:30 +0000 (20:51 +0000)]
vdp: Create a shared device area
We want this as there are MSX1 boxes with MSX2 memory mappers (or from our
viewpoint MSX2 boxes with MSX1 video). In addition it turns out that the VDP
used on the Memotech MTX series machines is basically the same beastie.
Alan Cox [Sat, 22 Nov 2014 00:48:18 +0000 (00:48 +0000)]
_open: fix static corruptor
We can block in a tty open, which if another open then occurs leaves
the staticfast "ino" corrupted. Save it in a temporary variable so that
for we still get almost all the benefit of staticfast here.
Alan Cox [Sat, 22 Nov 2014 00:43:16 +0000 (00:43 +0000)]
mm: remove fairly useless and non-portable optimisation hack
Far better to optimise usercopy functions if you need to
Alan Cox [Sat, 22 Nov 2014 00:12:34 +0000 (00:12 +0000)]
types: rework the types for the BASE/TOP configurations
This makes it a fair bit cleaner
Alan Cox [Fri, 21 Nov 2014 23:20:43 +0000 (23:20 +0000)]
nc100: Update to put platform _kernel_flag in common
Alan Cox [Fri, 21 Nov 2014 23:20:11 +0000 (23:20 +0000)]
nc100: Correct tty code
Update the nc100 specific tty code to match the new combined terminal structure
Alan Cox [Fri, 21 Nov 2014 15:06:36 +0000 (15:06 +0000)]
pagemap_realloc: This is the amount of memory neede relative to BASE not LOAD
Now we have a clear divide fix up the broken assumption
Alan Cox [Fri, 21 Nov 2014 15:06:11 +0000 (15:06 +0000)]
usermem: always trap NULL pointers
Low vectors are hard due to the cp/mn emulation
Alan Cox [Fri, 21 Nov 2014 15:05:04 +0000 (15:05 +0000)]
bank16/32k: compute common area allowance
We propogate the common into each high bank so must allow for it. Remove
the hardcoded 4K assumption as it's trivial to do so, and also socz80 at
least doesn't need 0xF000 to be the common base.
Alan Cox [Fri, 21 Nov 2014 15:03:32 +0000 (15:03 +0000)]
syscall_exec: Introduce the notion of both a base and a load address
Eg on Z80 our base is 0 but we load at 0x200. On 6502 our base and load
are going to be higher and the same, ditto probably 6809
Alan Cox [Fri, 21 Nov 2014 15:01:59 +0000 (15:01 +0000)]
devsys: note a Z80 assumption to fix
Alan Cox [Thu, 20 Nov 2014 23:38:01 +0000 (23:38 +0000)]
init: Fix environment handling
From: Will Sowerbutts
Alan Cox [Thu, 20 Nov 2014 23:36:59 +0000 (23:36 +0000)]
putenv: Fix NULL environment handling
From: Will Sowerbutts
Alan Cox [Thu, 20 Nov 2014 23:35:55 +0000 (23:35 +0000)]
ultoa: this one escaped the pruning
Noted by Will Sowerbutts
Alan Cox [Thu, 20 Nov 2014 23:34:26 +0000 (23:34 +0000)]
crt0: Correct environment and argument parsing
From: Will Sowerbutts
kernel sets up the stack differently: argc, argv, environ[]
Alan Cox [Tue, 18 Nov 2014 21:13:01 +0000 (21:13 +0000)]
unbanked: Update comments
Will pointed out the comments in unbanked about Z180 were bogus, and indeed
were also out of date.
Also turns out we can't have the kernel at physical 0 and banks for user
copy and for udata on the Z180 as the N8VEM-4 and probably others have ROM
at physical 0
Alan Cox [Tue, 18 Nov 2014 20:37:10 +0000 (20:37 +0000)]
bank32: make passive provision for awkward boxes with low 32K switching
This allows you to define them as a 32K paged system and use the provided
swap and page hooks, plus your switch functions to copy blocks between the
spare parts of the high 32K and the pages they are stashed in.
This means that with a typical usage model of a single large app performance
will basically be as good as a sensible layout, and only if you have two
larger apps actively running at once will it degrade much.
This will be pretty much essential to cover the uBee and the N8VEM-2.
Alan Cox [Tue, 18 Nov 2014 11:55:33 +0000 (11:55 +0000)]
pcw8256: Continued work
This fixes parts of the floppy logic and moves kernel_flag as per core
changes.
We now load the superblock correctly but things to castors up when we start
to load init. We appear to be asking for the right track/sector but more
debugging is needed.
Alan Cox [Tue, 18 Nov 2014 11:54:24 +0000 (11:54 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Merge with patches applied via github
Alan Cox [Tue, 18 Nov 2014 11:53:08 +0000 (11:53 +0000)]
From: William R Sowerbutts
Correct the inode type in a dirent.
We accidentally kept the 32bit type from ELKS
EtchedPixels [Tue, 18 Nov 2014 11:28:51 +0000 (11:28 +0000)]
Merge pull request #14 from atsidaev/ucp
ucp: chmod parameters order fixed
Alexander Tsidaev [Tue, 18 Nov 2014 10:46:37 +0000 (15:46 +0500)]
ucp: chmod parameters order fixed
Alan Cox [Mon, 17 Nov 2014 21:39:28 +0000 (21:39 +0000)]
lowlevel-z80: remove accidentally commited debugging code
Alan Cox [Sun, 16 Nov 2014 16:30:12 +0000 (16:30 +0000)]
dragon: continue fleshing out
At this point it's a fairly complete build minus I/O devices but with some
guesswork on how we will deal with irq and syscall handling given the odd
memory mappings.
It does at least suggest that we can put it in cartridge + single task in
memory mode.
Alan Cox [Sun, 16 Nov 2014 16:20:58 +0000 (16:20 +0000)]
lowlevel-z80: di/ei handling
Handle both di/ei restore cases don't assume we are just stacking disables
Alan Cox [Sun, 16 Nov 2014 16:18:48 +0000 (16:18 +0000)]
6502: Start fleshing out how the port would work
Very incomplete at this point
Alan Cox [Sun, 16 Nov 2014 16:18:07 +0000 (16:18 +0000)]
execve: remove some debug noise
Alan Cox [Sat, 15 Nov 2014 22:38:40 +0000 (22:38 +0000)]
6502test: flesh out a little of the 6502 init paths
Alan Cox [Sat, 15 Nov 2014 21:14:57 +0000 (21:14 +0000)]
binman: memcpy the initialized data over
This accidentally got removed when I stripped it down from the full
featured kernel version.
Alan Cox [Sat, 15 Nov 2014 13:59:44 +0000 (13:59 +0000)]
process: kernel flag has moved to common
Alan Cox [Sat, 15 Nov 2014 13:57:38 +0000 (13:57 +0000)]
z80pack: put the kernel flag in common
As this is checked with the kernel not mapped it's important it lives somewhere
more suitable
Alan Cox [Sat, 15 Nov 2014 13:57:04 +0000 (13:57 +0000)]
usermem-z80: return 0
Alan Cox [Sat, 15 Nov 2014 13:56:39 +0000 (13:56 +0000)]
usermem: fix error handling
Alan Cox [Sat, 15 Nov 2014 13:55:38 +0000 (13:55 +0000)]
z80pack, tricks: update bankfork
We now use all but 4K for base memory so we may need to copy more space.
Without this fix programs with large or no chmem crashes in fork()
Alan Cox [Fri, 14 Nov 2014 18:30:12 +0000 (18:30 +0000)]
z80pack: Make the bootblock in the Makefile
Update README
Alan Cox [Fri, 14 Nov 2014 18:09:48 +0000 (18:09 +0000)]
start: fix screw up in tty changes
Alan Cox [Fri, 14 Nov 2014 16:17:03 +0000 (16:17 +0000)]
binman: Clean crap out of tools binman version
Alan Cox [Thu, 13 Nov 2014 21:53:16 +0000 (21:53 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Thu, 13 Nov 2014 21:52:04 +0000 (21:52 +0000)]
Makefile: allow for banking tests
No I've no idea how I'd do the banking functions either yet, but it proves
we can build most of it (still busted for device I/O calls)
Alan Cox [Thu, 13 Nov 2014 21:51:43 +0000 (21:51 +0000)]
dragon,devtty: mask chars for braindead video
EtchedPixels [Wed, 12 Nov 2014 21:24:20 +0000 (21:24 +0000)]
Merge pull request #13 from erkinalp/master
Removed implicit ints in mkfs.c
erkinalp [Wed, 12 Nov 2014 18:55:20 +0000 (20:55 +0200)]
Removed implicit ints in mkfs.c
Some functions have return type int implicitly, which is forbidden by C99. This commit corrects them.
Alan Cox [Wed, 12 Nov 2014 00:56:50 +0000 (00:56 +0000)]
tty: Group objects together so the compiler can use one pointer register
Takes 100 bytes off tty_inproc alone
Alan Cox [Wed, 12 Nov 2014 00:30:01 +0000 (00:30 +0000)]
6809: bank names should be strings
Alan Cox [Tue, 11 Nov 2014 23:30:02 +0000 (23:30 +0000)]
banking: lay the groundwork
Unfortunately the current m6809 gcc build banking support is broken and
doesn't remember to add the bank names with the .db for the bank so it fails
to assemble.
Uglies:
- We put all syscalls in the same bank to avoid having to have a 'far' pointer
form for the syscall table
- We don't do this for devices, so will need to rig up some far pointer
hackery for this
Alan Cox [Tue, 11 Nov 2014 23:25:24 +0000 (23:25 +0000)]
syscall_other: Fix bracketing
Alan Cox [Tue, 11 Nov 2014 23:06:50 +0000 (23:06 +0000)]
idump: We don't want the debugging in discard !
Alan Cox [Tue, 11 Nov 2014 21:44:45 +0000 (21:44 +0000)]
dragon: Initial bits towards a Dragon64 port of sorts
That's if you count replacing the boot ROMs as a "port"
Alan Cox [Tue, 11 Nov 2014 21:42:10 +0000 (21:42 +0000)]
m6809test: Switch t using lwlink directly and fix some oddments
This allows us to actually control memory the way we need
Alan Cox [Tue, 11 Nov 2014 21:41:44 +0000 (21:41 +0000)]
swap: correct sign of pointers
Alan Cox [Tue, 11 Nov 2014 21:41:27 +0000 (21:41 +0000)]
single: fix types
Alan Cox [Tue, 11 Nov 2014 12:37:49 +0000 (12:37 +0000)]
6502: unbitrot
Alan Cox [Tue, 11 Nov 2014 12:37:20 +0000 (12:37 +0000)]
cpu: push time_t into CPU dependencies
Alan Cox [Tue, 11 Nov 2014 12:36:44 +0000 (12:36 +0000)]
usermem: const v const pointer compares
Remove warnings (cc65 is overly pedantic)
Alan Cox [Tue, 11 Nov 2014 12:36:01 +0000 (12:36 +0000)]
vt: Don't assume char is signed (next sdcc will change this, 6502 isnt)
Alan Cox [Tue, 11 Nov 2014 12:35:49 +0000 (12:35 +0000)]
process: fix ACCT build
Alan Cox [Tue, 11 Nov 2014 12:20:41 +0000 (12:20 +0000)]
syscall_exec: use staticfast to shave 0.5K off execve()
Alan Cox [Tue, 11 Nov 2014 11:53:09 +0000 (11:53 +0000)]
fuzix: break out execve()
We need to split this into pieces and also allow some of it to be
cpu specific
Alan Cox [Mon, 10 Nov 2014 21:53:08 +0000 (21:53 +0000)]
bootrom: Some corrections from Manuel Pazos
Plus some tidying of them to match the sdcc assembler
Still doesn't work but its hopefully closer now
EtchedPixels [Mon, 10 Nov 2014 14:33:33 +0000 (14:33 +0000)]
Merge pull request #12 from atsidaev/zx128-clean
zx128: uzi.lnk, keyboard support and fixes
Alexander Tsidaev [Mon, 10 Nov 2014 13:24:05 +0000 (18:24 +0500)]
zx128: uzi.lnk added
Alexander Tsidaev [Mon, 10 Nov 2014 13:40:08 +0000 (18:40 +0500)]
zx128: keyboard support for tty
Alexander Tsidaev [Sun, 9 Nov 2014 20:24:56 +0000 (01:24 +0500)]
zx128: disable switchin/switchout since they are not implemented and cause a di:halt
Alexander Tsidaev [Sun, 9 Nov 2014 20:23:49 +0000 (01:23 +0500)]
zx128: scroll functions fix
Alan Cox [Mon, 10 Nov 2014 01:00:50 +0000 (01:00 +0000)]
6809: unbitrot versus changes we've made elsewhere
Still not a "real" port, but it compiles again
Alan Cox [Mon, 10 Nov 2014 01:00:37 +0000 (01:00 +0000)]
filesys: fix gcc warn/errors
Alan Cox [Mon, 10 Nov 2014 01:00:23 +0000 (01:00 +0000)]
tty: fix bracketing
EtchedPixels [Sun, 9 Nov 2014 11:23:58 +0000 (11:23 +0000)]
Merge pull request #11 from atsidaev/zx128-clean
zx128: Initial ZX Spectrum 128 support
Alexander Tsidaev [Sun, 9 Nov 2014 09:51:59 +0000 (14:51 +0500)]
zx128: Initial ZX Spectrum 128 support
Alan Cox [Sat, 8 Nov 2014 23:25:06 +0000 (23:25 +0000)]
msx1: scan for AB rom signatures, hash the first 2K
First steps to detecting the disks etc
Alan Cox [Sat, 8 Nov 2014 23:24:51 +0000 (23:24 +0000)]
devio: use "else" in kprintf
Alan Cox [Sat, 8 Nov 2014 22:40:00 +0000 (22:40 +0000)]
msx1/tricks.s: Fix missing globals
Alan Cox [Sat, 8 Nov 2014 22:34:23 +0000 (22:34 +0000)]
socz80: fix tty, more alignment with the current codebase
Still needs chunks of code writing for the fork copier and actual MMU loading
Alan Cox [Sat, 8 Nov 2014 22:11:32 +0000 (22:11 +0000)]
pcw8256,README: Instructions for build/boot
Tested build and boot instructions to get a bootable kernel image. This is
a raw bootable image so you can boot it on joyce without owning any of the
Locoscript or CP/M 'start of day' discs
Alan Cox [Sat, 8 Nov 2014 22:11:16 +0000 (22:11 +0000)]
pcw8256: comment out debugging for keyboard
Alan Cox [Sat, 8 Nov 2014 22:10:52 +0000 (22:10 +0000)]
pcw8256: update to the new major/minor numbers
Without this we panic with no tty on boot
Alan Cox [Fri, 7 Nov 2014 20:51:12 +0000 (20:51 +0000)]
msx1: memory mapping and other logic
The big TODO for userspace here is to implement forkcopy (copying 32K between
two blocks of MegaRAM)
Alan Cox [Fri, 7 Nov 2014 00:50:09 +0000 (00:50 +0000)]
README: Random ramblings about how a port might work
Alan Cox [Fri, 7 Nov 2014 00:49:29 +0000 (00:49 +0000)]
msx1: sketch out the bits needed to work the brain dead slot system
Plus find the megarams.
All untested.
Alan Cox [Thu, 6 Nov 2014 22:22:54 +0000 (22:22 +0000)]
msx1: Add the initial bits
This is basically in parallel with MSX2 but with the various memory manager
bits stripped out (new one needed) and 40 char vdp code
Alan Cox [Thu, 6 Nov 2014 21:47:47 +0000 (21:47 +0000)]
msx2: fix crash on outchar debug
Alan Cox [Thu, 6 Nov 2014 21:38:39 +0000 (21:38 +0000)]
msx: Add initial (non working) bootrom test, also make it build fuzix.com
Alan Cox [Thu, 6 Nov 2014 21:38:24 +0000 (21:38 +0000)]
binman: minor cleaning/commenting
Alan Cox [Thu, 6 Nov 2014 21:38:03 +0000 (21:38 +0000)]
vdp: scrolling sizes are wrong
Fix some hex/dec confusions
Alan Cox [Thu, 6 Nov 2014 12:15:05 +0000 (12:15 +0000)]
msx2: fix video
With these small vdp corrections we have a proper 80x25 display
Alan Cox [Thu, 6 Nov 2014 00:38:56 +0000 (00:38 +0000)]
platforms: add platform_interrupt_all everywhere
Alan Cox [Thu, 6 Nov 2014 00:31:28 +0000 (00:31 +0000)]
lowlevel-z80: various (important) fixes
1. Exit with reti, most platforms don't care but a few do so avoid
digging holes
2. MSX2 is the first platform we handle where not servicing an IRQ
jams you in a loop. Provide a hook to always service some interrupts
even if we are on an IRQ stack or otherwise detained from calling
platform_interrupt
3. The di() call saved the flags but forgot to DI, this fixes several
rather odd bugs I'm sure
4. The signal processing on irq return is suspect, note it for future
sorting out.
With this and the MSX2 fixes we get closer to a basic MSX2 boot