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
Alan Cox [Thu, 6 Nov 2014 00:29:17 +0000 (00:29 +0000)]
msx2: various platform side and vdp fixes
With these and the small core fixes to follow we blow up for reasons I don't
yet understand in the uput() call in create_init. Presumably some kind of
mapping setup bug. With that commented we hit the boot device request, at
which point we have no keyboard.
Display is still wonky. Guess it wants an MSXpert to figure out whats wrong
with the 80x25 setup
Alan Cox [Wed, 5 Nov 2014 22:37:17 +0000 (22:37 +0000)]
msx2: Make the cursor work
I was clearly not awake pasting the initial cursor code together.
This gives us a correct text rendering, except for the mysterious double
copy which presumably is a VDP set up error of some kind.
Alan Cox [Wed, 5 Nov 2014 22:29:16 +0000 (22:29 +0000)]
README.md: quick follow up fix
EtchedPixels [Wed, 5 Nov 2014 22:28:34 +0000 (22:28 +0000)]
Merge pull request #8 from marioaugustorama/master
Fix formatting.
Alan Cox [Wed, 5 Nov 2014 20:49:32 +0000 (20:49 +0000)]
msx2: further work on video - closer
We now get the font, and most of the text. The move to a new line keeps
wiping the start of the next, and it appears twice.
Alan Cox [Wed, 5 Nov 2014 19:20:56 +0000 (19:20 +0000)]
syscall_other: optimisations
Cache the inode calculation in execve, otherwise each loop pass must recompute
it as the compiler can't know the functions don't touch it.
Add a couple of staticfasts
Alan Cox [Wed, 5 Nov 2014 19:20:30 +0000 (19:20 +0000)]
filesys/syscall2: optimise a few spots with staticfast
Alan Cox [Wed, 5 Nov 2014 19:18:51 +0000 (19:18 +0000)]
cpu: introduce "staticfast"
On Z80 and to an extent 6502 we gain a lot if we can pin some of our
auto variables to static addresses. Clearly this can only be done for
non-re-entrant functions but our architecture means we have plenty of them
6809 is not really so aflicted so uses auto.
Mario Nunes [Wed, 5 Nov 2014 17:27:29 +0000 (17:27 +0000)]
Fix formatting.
Alan Cox [Wed, 5 Nov 2014 14:06:23 +0000 (14:06 +0000)]
From
2ea7e7e52e5e2411bb91415f20d593dc8131b655 Mon Sep 17 00:00:00 2001
From: root <root@magniette.org>
Date: Wed, 5 Nov 2014 09:53:25 +0100
Subject: Clean some forgotten files in make clean + ignore some generated files in gitignore
Alan Cox [Wed, 5 Nov 2014 13:59:22 +0000 (13:59 +0000)]
pcw8256: add uzi.lnk that was missed from the commits
Noted by github:joyce8256
EtchedPixels [Wed, 5 Nov 2014 13:55:28 +0000 (13:55 +0000)]
Merge pull request #6 from Rappalot/master
Convert zmac format source files to sdasz80
Rappalot [Wed, 5 Nov 2014 01:50:22 +0000 (02:50 +0100)]
Convert zmac format source files to sdasz80
Alan Cox [Wed, 5 Nov 2014 00:08:32 +0000 (00:08 +0000)]
msx2: initial bootstrap debugging
We get as far as enabling interrupts then curl up and die. The VDP
programming also doesn't set text80 but does produce some interesting
flashing blobs
Alan Cox [Tue, 4 Nov 2014 20:36:49 +0000 (20:36 +0000)]
Makefile/link: Update all the other link files to match the previous change
EtchedPixels [Tue, 4 Nov 2014 20:32:35 +0000 (20:32 +0000)]
Merge pull request #4 from gmacd/master
Add condition to build z80pack on Mac
Graham MacDonald [Tue, 4 Nov 2014 08:42:35 +0000 (08:42 +0000)]
Add condition to build z80pack on Mac
Alan Cox [Tue, 4 Nov 2014 00:07:11 +0000 (00:07 +0000)]
msx2: Further random guesswork as we go - memory sizing
Alan Cox [Mon, 3 Nov 2014 21:55:00 +0000 (21:55 +0000)]
msx2: RAM fixup
Apparently RAM is added in the reverse order to tht expected - 3 is at 0x000
2 is at 0x4000 etc. Add them properly then add 0 so that init picks up the
initial 0xC000 bank for common and udata
Alan Cox [Mon, 3 Nov 2014 21:45:13 +0000 (21:45 +0000)]
msx2: Add an initial wild guess at what MSX2 will need
Hopefully that'll be a basis for someone who knows something about MSX2
to fill in the blanks. In particular my VDP code is a wild untested guess
Alan Cox [Mon, 3 Nov 2014 19:26:53 +0000 (19:26 +0000)]
Makefile: call the final result fuzix.bin not uzi.bin
Still need to rename all the temporaries
Alan Cox [Mon, 3 Nov 2014 19:26:00 +0000 (19:26 +0000)]
README: first take at instructions for building
No these are not sufficient yet
EtchedPixels [Mon, 3 Nov 2014 19:24:23 +0000 (19:24 +0000)]
Merge pull request #3 from erkinalp/master
Converted all function definitions into prototype style in mkfs.c
erkinalp [Mon, 3 Nov 2014 16:38:15 +0000 (18:38 +0200)]
Converted all function definitions into prototype style in mkfs.c
Alan Cox [Mon, 3 Nov 2014 00:11:06 +0000 (00:11 +0000)]
pcw8256,fdc765: not the architectural question around banking and swap
Basically the problem is this:
On a 16K banked machine we have 0x0000-0xBFFF holding user code and we can
switch between processes low 48K with gay abandon. However the top 16K holds
process memory, common, *and* our stacks.
What probably needs to happen is that either we bounce such buffers (slow) or
teach the swap device driver in the platform to do bank flipping.
The problem with this last one is that
- it has to be done per platform
- some machines have brain damaged banking where a given address in a bank
cannot be remapped to a different virtual address
Unfortunately it's not obvious how to create a generic solution that doesn't
punish sensibly designed machines.
Alan Cox [Mon, 3 Nov 2014 00:06:33 +0000 (00:06 +0000)]
pcw8256,fdc765.s: Use outi not ini for writes, comment the code fully
This still doesn't explain why we misparse the status errors.
Alan Cox [Sun, 2 Nov 2014 23:52:37 +0000 (23:52 +0000)]
emulator: Add code for lseek() rather than the UZI v6 seek
Not yet tested, but this should be the basis to bootstrap CP/M emulation
code in the OS environment. At that point we can retarget the UZIX native
compiler setup for FUZIX and have a native compiler for userspace (yay!)
Alan Cox [Sun, 2 Nov 2014 18:37:32 +0000 (18:37 +0000)]
px4plus: update comments, remember to swap the uarea
Alan Cox [Sun, 2 Nov 2014 18:37:12 +0000 (18:37 +0000)]
swap: Fix silly bug
Alan Cox [Sat, 1 Nov 2014 17:07:35 +0000 (17:07 +0000)]
nc100/200: update notes, start adding NC200 support
Alan Cox [Sat, 1 Nov 2014 15:45:18 +0000 (15:45 +0000)]
px4 init: Remember to set the video base !
Alan Cox [Sat, 1 Nov 2014 15:40:33 +0000 (15:40 +0000)]
Makefile: introduce the _VIDEO segment, rebalance CODE and CODE2
Not that the linker can bank the things yet...
Alan Cox [Sat, 1 Nov 2014 15:40:13 +0000 (15:40 +0000)]
crt0.s: Prepare for _VIDEO
Alan Cox [Sat, 1 Nov 2014 15:39:36 +0000 (15:39 +0000)]
crt0: Prepare for _VIDEO area