FUZIX.git
9 years agosyscall_exec: unsigned type for the basepage check
Alan Cox [Sun, 25 Jan 2015 20:43:23 +0000 (20:43 +0000)]
syscall_exec: unsigned type for the basepage check

Otherwise we break on 0x8000 +

9 years agozx128: first pass minor fixes
Alan Cox [Sun, 25 Jan 2015 20:42:43 +0000 (20:42 +0000)]
zx128: first pass minor fixes

Still need to sort the IDE out, and more importantly get the banked linker working

9 years agozx128: fix devtty header
Alan Cox [Sun, 25 Jan 2015 20:28:10 +0000 (20:28 +0000)]
zx128: fix devtty header

Lots more needed to start getting this port on the road usefully

9 years agomsx2: fix reference to unused symbol as the linker now cares
Alan Cox [Sun, 25 Jan 2015 19:56:06 +0000 (19:56 +0000)]
msx2: fix reference to unused symbol as the linker now cares

9 years agopcw8256: remove unused symbol from tricks.s
Alan Cox [Sun, 25 Jan 2015 19:47:09 +0000 (19:47 +0000)]
pcw8256: remove unused symbol from tricks.s

9 years agoz80pack: add raw I/O offset check
Alan Cox [Sun, 25 Jan 2015 17:52:25 +0000 (17:52 +0000)]
z80pack: add raw I/O offset check

9 years agonc100: fix silly error in raw check
Alan Cox [Sun, 25 Jan 2015 17:51:57 +0000 (17:51 +0000)]
nc100: fix silly error in raw check

9 years agonc100: fix devtty.h breakage from vt improvements
Alan Cox [Sun, 25 Jan 2015 17:48:01 +0000 (17:48 +0000)]
nc100: fix devtty.h breakage from vt improvements

9 years agotricks.s: remove reference to unused symbol - new linker cares
Alan Cox [Sun, 25 Jan 2015 17:47:01 +0000 (17:47 +0000)]
tricks.s: remove reference to unused symbol - new linker cares

9 years agonc100: fix tty table bug
Alan Cox [Sun, 25 Jan 2015 17:46:51 +0000 (17:46 +0000)]
nc100: fix tty table bug

9 years agodevlpr: update comment - 1uS required for strobe
Alan Cox [Sun, 25 Jan 2015 17:46:27 +0000 (17:46 +0000)]
devlpr: update comment - 1uS required for strobe

9 years agonc100,devrd: check lengths are valid, update comment
Alan Cox [Sun, 25 Jan 2015 17:46:10 +0000 (17:46 +0000)]
nc100,devrd: check lengths are valid, update comment

9 years agosyscall_exec: further work - mostly to persuade sdcc to generate passable code
Alan Cox [Sun, 25 Jan 2015 17:38:06 +0000 (17:38 +0000)]
syscall_exec: further work - mostly to persuade sdcc to generate passable code

9 years agotrs80: update to support direct to user space I/O
Alan Cox [Sun, 25 Jan 2015 17:37:36 +0000 (17:37 +0000)]
trs80: update to support direct to user space I/O

9 years agokernel.h: inode lengths are unsigned, tell the compiler this
Alan Cox [Sun, 25 Jan 2015 17:37:03 +0000 (17:37 +0000)]
kernel.h: inode lengths are unsigned, tell the compiler this

9 years agotgl6502: fix old comment
Alan Cox [Sun, 25 Jan 2015 17:36:51 +0000 (17:36 +0000)]
tgl6502: fix old comment

9 years agosyscall_exec: start cleaning up
Alan Cox [Sun, 25 Jan 2015 16:09:04 +0000 (16:09 +0000)]
syscall_exec: start cleaning up

Throw out the magic CP/M support - this can be better done by attaching helper code
to the CP/M binary that does an alloca and loads the emulator into the space then
runs it to move the first bytes back right, set up CP/M and go.

9 years agolowlevel-z80: fix asm error: missing #
Alan Cox [Sun, 25 Jan 2015 16:08:01 +0000 (16:08 +0000)]
lowlevel-z80: fix asm error: missing #

9 years agofixedbank: don't import unused and undefined symbols
Alan Cox [Sun, 25 Jan 2015 16:07:10 +0000 (16:07 +0000)]
fixedbank: don't import unused and undefined symbols

The newer linker errors this

9 years agoz80/6502: final (hopefully) alternate magic bytes for relocatables
Alan Cox [Sun, 25 Jan 2015 15:57:44 +0000 (15:57 +0000)]
z80/6502: final (hopefully) alternate magic bytes for relocatables

9 years agoz80: define PROGLOAD in the asm side of things, also tidy PROG_BASE to match C PROGBASE
Alan Cox [Sun, 25 Jan 2015 15:54:08 +0000 (15:54 +0000)]
z80: define PROGLOAD in the asm side of things, also tidy PROG_BASE to match C PROGBASE

This gives us the foundation to do relocation handling by passing the start of user
code its address in IY

9 years agoSIG_DFL: note must be zero, ready for execve tidy
Alan Cox [Sun, 25 Jan 2015 15:46:56 +0000 (15:46 +0000)]
SIG_DFL: note must be zero, ready for execve tidy

9 years agotgl6502: set up ready to allow relocatable binaries.
Alan Cox [Sun, 25 Jan 2015 15:45:38 +0000 (15:45 +0000)]
tgl6502: set up ready to allow relocatable binaries.

9 years agoexecve: use direct user mappings
Alan Cox [Sun, 25 Jan 2015 00:24:06 +0000 (00:24 +0000)]
execve: use direct user mappings

If your disk devices don't support this then you'll need to enable the
CONFIG_LEGACY_EXEC option and fix the target. (This probably will get renamed
because if we get to stuff like 68000 it may be we have a cache big enough to
make execve via it useful)

This makes execve much faster, way faster on slow memory devices. The remaining
performance killer is the lack of vfork.

9 years agotgl6502: enable raw I/O on the rom driver
Alan Cox [Sun, 25 Jan 2015 00:23:50 +0000 (00:23 +0000)]
tgl6502: enable raw I/O on the rom driver

9 years agobank16k_low: remove debug
Alan Cox [Sun, 25 Jan 2015 00:05:09 +0000 (00:05 +0000)]
bank16k_low: remove debug

9 years agosocz80: definitely a "don't spin" platform
Alan Cox [Sat, 24 Jan 2015 23:40:34 +0000 (23:40 +0000)]
socz80: definitely a "don't spin" platform

9 years agotty: allow -1 return from waitready to indicate the driver knows sleeping is good
Alan Cox [Sat, 24 Jan 2015 23:39:03 +0000 (23:39 +0000)]
tty: allow -1 return from waitready to indicate the driver knows sleeping is good

9 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sat, 24 Jan 2015 23:34:26 +0000 (23:34 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

9 years agoMerge pull request #84 from willsowerbutts/fixdf
EtchedPixels [Sat, 24 Jan 2015 23:34:15 +0000 (23:34 +0000)]
Merge pull request #84 from willsowerbutts/fixdf

Fix strerror, df

9 years agombr: Fix stray > at end of output with four primary partitions, no extended partitions
Will Sowerbutts [Sat, 24 Jan 2015 23:13:10 +0000 (23:13 +0000)]
mbr: Fix stray > at end of output with four primary partitions, no extended partitions

9 years agofilesystem: Add /usr/lib/liberror.txt expected by strerror()
Will Sowerbutts [Sat, 24 Jan 2015 23:03:08 +0000 (23:03 +0000)]
filesystem: Add /usr/lib/liberror.txt expected by strerror()

9 years agoApplications: Make df work
Will Sowerbutts [Sat, 24 Jan 2015 23:04:30 +0000 (23:04 +0000)]
Applications: Make df work

9 years agobank16k_low: Introduce 16K low common banking logic and use it
Alan Cox [Sat, 24 Jan 2015 21:23:18 +0000 (21:23 +0000)]
bank16k_low: Introduce 16K low common banking logic and use it

We need a different algorithm because we must keep the low page safe not the high
one. The standard bank16k grows by inserting pages before the existing repeating
top map so that common is preserved in high space. The 6502 has common in low
space so we must instead preserve the first page mapping.

9 years agoexec: introduce MAPBASE as distinguished from PROGBASE
Alan Cox [Sat, 24 Jan 2015 21:22:19 +0000 (21:22 +0000)]
exec: introduce MAPBASE as distinguished from PROGBASE

PROGBASE is where the code starts
MAPBASE is where the memory mapping begins

This is needed for systems with a low mapped common

9 years agochmem: allow for 6502 and Z80
Alan Cox [Sat, 24 Jan 2015 21:21:42 +0000 (21:21 +0000)]
chmem: allow for 6502 and Z80

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

9 years agotgl6502: kill stray space
Alan Cox [Sat, 24 Jan 2015 16:03:05 +0000 (16:03 +0000)]
tgl6502: kill stray space

9 years agotgl6502: switch to 16K banking
Alan Cox [Sat, 24 Jan 2015 16:01:44 +0000 (16:01 +0000)]
tgl6502: switch to 16K banking

No swapping yet (and swap for 16K bank needs some core tweaks). Tested with shell
and login paths but not heavily.

9 years agodevlpr: use need_resched
Alan Cox [Sat, 24 Jan 2015 16:01:26 +0000 (16:01 +0000)]
devlpr: use need_resched

9 years agoMerge pull request #82 from willsowerbutts/rootfs
EtchedPixels [Sat, 24 Jan 2015 13:18:27 +0000 (13:18 +0000)]
Merge pull request #82 from willsowerbutts/rootfs

Add missing /tmp to root filesystem. /etc/mtab removed by init.

9 years agoproc: Add need_resched()
Alan Cox [Sat, 24 Jan 2015 13:07:10 +0000 (13:07 +0000)]
proc: Add need_resched()

Use this to make the tty code behave better

9 years agoAdd missing /tmp to root filesystem. /etc/mtab removed by init.
Will Sowerbutts [Sat, 24 Jan 2015 00:23:49 +0000 (00:23 +0000)]
Add missing /tmp to root filesystem. /etc/mtab removed by init.

9 years agoMerge pull request #81 from willsowerbutts/fixstty
EtchedPixels [Sat, 24 Jan 2015 00:22:41 +0000 (00:22 +0000)]
Merge pull request #81 from willsowerbutts/fixstty

Library: Synchronise termios.h with kernel. Fix stty util.

9 years agolibc: forgot to add these
Alan Cox [Sat, 24 Jan 2015 00:21:35 +0000 (00:21 +0000)]
libc: forgot to add these

9 years agoLibrary: Synchronise termios with kernel. Fix stty util.
Will Sowerbutts [Sat, 24 Jan 2015 00:08:03 +0000 (00:08 +0000)]
Library: Synchronise termios with kernel. Fix stty util.

9 years agoMerge pull request #80 from willsowerbutts/fixmknod
EtchedPixels [Fri, 23 Jan 2015 23:48:26 +0000 (23:48 +0000)]
Merge pull request #80 from willsowerbutts/fixmknod

Kernel: Bug fix: _mknod() always failed

9 years agoMerge pull request #79 from willsowerbutts/fixvfprintf
EtchedPixels [Fri, 23 Jan 2015 23:38:09 +0000 (23:38 +0000)]
Merge pull request #79 from willsowerbutts/fixvfprintf

Library: Bug fix for vfprintf()

9 years agoMerge pull request #78 from willsowerbutts/readme
EtchedPixels [Fri, 23 Jan 2015 23:37:58 +0000 (23:37 +0000)]
Merge pull request #78 from willsowerbutts/readme

Update README.md file

9 years agoKernel: Bug fix: _mknod() always failed
Will Sowerbutts [Fri, 23 Jan 2015 23:26:41 +0000 (23:26 +0000)]
Kernel: Bug fix: _mknod() always failed

9 years agoLibrary: Bug fix for vfprintf()
Will Sowerbutts [Fri, 23 Jan 2015 20:40:42 +0000 (20:40 +0000)]
Library: Bug fix for vfprintf()

9 years agoUpdate README.md file
Will Sowerbutts [Fri, 23 Jan 2015 19:18:45 +0000 (19:18 +0000)]
Update README.md file

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

9 years agotime_t: Fix up all the time_t stuff in libc for 32bit afflicted platforms
Alan Cox [Fri, 23 Jan 2015 00:23:06 +0000 (00:23 +0000)]
time_t: Fix up all the time_t stuff in libc for 32bit afflicted platforms

Trying to get the 6502 to do 64bit time_t would be the alterntative for some
crazy cc65 hacker

9 years ago6502: first cut at signal handler logic
Alan Cox [Fri, 23 Jan 2015 00:03:11 +0000 (00:03 +0000)]
6502: first cut at signal handler logic

This is quite ugly because the C stack may not be consistent during an IRQ
event. Punt most of the mess to the C app and require 6502 apps all have
a signal handling stub vectored at base + 20

9 years agoMerge pull request #75 from willsowerbutts/n8vem-boot
EtchedPixels [Thu, 22 Jan 2015 11:45:06 +0000 (11:45 +0000)]
Merge pull request #75 from willsowerbutts/n8vem-boot

n8vem-mark4 UNA BIOS boot sector, update README files for p112 and n8vem-mark4.

9 years agoMerge pull request #74 from willsowerbutts/idefix
EtchedPixels [Thu, 22 Jan 2015 11:42:27 +0000 (11:42 +0000)]
Merge pull request #74 from willsowerbutts/idefix

Kernel: devide: Fix false-positive detection of drives

9 years agoKernel: p112 README changes
Will Sowerbutts [Wed, 21 Jan 2015 22:10:05 +0000 (22:10 +0000)]
Kernel: p112 README changes

9 years agoKernel: n8vem-mark4 UNA BIOS boot sector and instructions
Will Sowerbutts [Wed, 21 Jan 2015 22:09:45 +0000 (22:09 +0000)]
Kernel: n8vem-mark4 UNA BIOS boot sector and instructions

9 years agoKernel: devide: Fix false-positive detection of drives
Will Sowerbutts [Wed, 21 Jan 2015 20:58:09 +0000 (20:58 +0000)]
Kernel: devide: Fix false-positive detection of drives

9 years agoMerge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Wed, 21 Jan 2015 20:27:42 +0000 (20:27 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX

9 years agoMerge pull request #73 from willsowerbutts/fstool
EtchedPixels [Wed, 21 Jan 2015 20:27:20 +0000 (20:27 +0000)]
Merge pull request #73 from willsowerbutts/fstool

Simple script to build a root filesystem, plus tiny patch to ucp.

9 years agoatexit: clean up all the atexit code and fix the improper casts
Alan Cox [Wed, 21 Jan 2015 20:24:27 +0000 (20:24 +0000)]
atexit: clean up all the atexit code and fix the improper casts

Turns out atexit isn't a cc65 bug rather an interesting property of the
compiler.

cc65 requires the called function to unstack the arguments so that it can
fold together the argument popping and local recovery. This means that
calling a function declared as foo(void) cast as foo(int) doesn't work and
trashes your local variables.

A new to me and excitingly novel way of shooting yourself in the boot, but
perfectly valid compiler behaviour.

9 years agoSimple script to build a root filesystem, plus tiny patch to ucp.
Will Sowerbutts [Wed, 21 Jan 2015 19:47:39 +0000 (19:47 +0000)]
Simple script to build a root filesystem, plus tiny patch to ucp.

9 years agoMerge pull request #72 from willsowerbutts/p112floppy
EtchedPixels [Wed, 21 Jan 2015 14:33:37 +0000 (14:33 +0000)]
Merge pull request #72 from willsowerbutts/p112floppy

Kernel: p112 floppy disk driver and floppy disk boot support

9 years agotricks.s: remove stray debug
Alan Cox [Wed, 21 Jan 2015 14:30:54 +0000 (14:30 +0000)]
tricks.s: remove stray debug

9 years agoKernel: p112 floppy disk driver and floppy disk boot support
Will Sowerbutts [Wed, 21 Jan 2015 13:31:49 +0000 (13:31 +0000)]
Kernel: p112 floppy disk driver and floppy disk boot support

The driver for the SMC floppy disk controller is a straight port of the
driver from UZI-180. It uses neither DMA nor interrupts.

The p112 platform can now be booted from floppy disk. The current boot
sector is somewhat rudimentary and requires the floppy disk to be
dedicated to the kernel (it cannot also hold a Fuzix filesystem).

9 years agoREADME: Update 6502 README
Alan Cox [Mon, 19 Jan 2015 00:50:50 +0000 (00:50 +0000)]
README: Update 6502 README

9 years ago6502: C library workaround for cc65 bug
Alan Cox [Sun, 18 Jan 2015 23:37:36 +0000 (23:37 +0000)]
6502: C library workaround for cc65 bug

9 years ago6502: now we have the runtime in common space, remove the extra copies
Alan Cox [Sun, 18 Jan 2015 16:41:31 +0000 (16:41 +0000)]
6502: now we have the runtime in common space, remove the extra copies

9 years agoMakefile: introduce CODE3
Alan Cox [Sun, 18 Jan 2015 16:37:28 +0000 (16:37 +0000)]
Makefile: introduce CODE3

We don't use CODE3 separately for anything but 6502 yet

9 years ago6502: Move the C runtime into common
Alan Cox [Sun, 18 Jan 2015 16:30:21 +0000 (16:30 +0000)]
6502: Move the C runtime into common

As its threaded code we really don't want to be bankswitching calls into the
runtime!

9 years agoMakefile.6502: use our atoi() and set the target
Alan Cox [Sat, 17 Jan 2015 20:51:53 +0000 (20:51 +0000)]
Makefile.6502: use our atoi() and set the target

If we don't set the target we end up with petscii paths not ascii ones in the
C library and that doesn't end well

9 years agotricks,6502: fix bugs in fork/switchin
Alan Cox [Sat, 17 Jan 2015 20:50:36 +0000 (20:50 +0000)]
tricks,6502: fix bugs in fork/switchin

We can now fork and switch between both processes happily. Some problems seem
to be left with exiting but unclear if those are kernel or init

9 years agotgl6502: remove more debug
Alan Cox [Sat, 17 Jan 2015 20:50:21 +0000 (20:50 +0000)]
tgl6502: remove more debug

9 years agolowlevel-6502: fix outstring etc
Alan Cox [Sat, 17 Jan 2015 20:49:36 +0000 (20:49 +0000)]
lowlevel-6502: fix outstring etc

9 years agotgl6502: turn off some of our debugging bits
Alan Cox [Sat, 17 Jan 2015 15:36:59 +0000 (15:36 +0000)]
tgl6502: turn off some of our debugging bits

9 years agosyscall_6502: generate correct varargs stubs
Alan Cox [Sat, 17 Jan 2015 15:33:17 +0000 (15:33 +0000)]
syscall_6502: generate correct varargs stubs

Syscalls are now working. Init gets as far as the login prompt then switches
back to the parent and traps into the monitor

9 years agosyscall_name: open is varargs
Alan Cox [Sat, 17 Jan 2015 15:32:59 +0000 (15:32 +0000)]
syscall_name: open is varargs

9 years ago6502: syscalls with no argument require nothing pushing
Alan Cox [Sat, 17 Jan 2015 14:46:30 +0000 (14:46 +0000)]
6502: syscalls with no argument require nothing pushing

9 years agoMerge pull request #71 from willsowerbutts/z80monitor
EtchedPixels [Sat, 17 Jan 2015 14:41:44 +0000 (14:41 +0000)]
Merge pull request #71 from willsowerbutts/z80monitor

Kernel: Simple monitor program for Z80 and Z180, useful for inspecting machine state.

9 years agoKernel: Simple monitor program for Z80 and Z180, useful for inspecting
Will Sowerbutts [Sat, 17 Jan 2015 12:15:24 +0000 (12:15 +0000)]
Kernel: Simple monitor program for Z80 and Z180, useful for inspecting
machine state.

Platform must provide an "inchar" routine which waits for a character on
the console and returns it in A.

This patch also implements the monitor on the p112 and n8vem-mark4
platforms.

9 years agotricks.s: tgl6502 fork fix - copy 7 banks not 8
Alan Cox [Sat, 17 Jan 2015 02:17:31 +0000 (02:17 +0000)]
tricks.s: tgl6502 fork fix - copy 7 banks not 8

9 years agotgl6502: more debugging but we can now execute fork() ok
Alan Cox [Sat, 17 Jan 2015 02:16:15 +0000 (02:16 +0000)]
tgl6502: more debugging but we can now execute fork() ok

9 years agotgl6502: snapshot of syscall work
Alan Cox [Sat, 17 Jan 2015 01:13:43 +0000 (01:13 +0000)]
tgl6502: snapshot of syscall work

We make syscalls now, but the arguments are mashed.

9 years agotgl6502/devrd: Remember to round the block offset off
Alan Cox [Sat, 17 Jan 2015 00:50:06 +0000 (00:50 +0000)]
tgl6502/devrd: Remember to round the block offset off

Otherwise end end up copying crap around. With this applied /init is loaded
into memory correctly

9 years agousermem: clean up 6502 debug on ugets
Alan Cox [Fri, 16 Jan 2015 23:04:31 +0000 (23:04 +0000)]
usermem: clean up 6502 debug on ugets

9 years agotgl6502: Get the romdisc fixed and as far as entering userspace
Alan Cox [Fri, 16 Jan 2015 23:02:22 +0000 (23:02 +0000)]
tgl6502: Get the romdisc fixed and as far as entering userspace

9 years agostart: the top of user memory we fake up depends on program base
Alan Cox [Fri, 16 Jan 2015 23:00:00 +0000 (23:00 +0000)]
start: the top of user memory we fake up depends on program base

9 years agousermem: Get the 6502 usermem working
Alan Cox [Fri, 16 Jan 2015 22:58:14 +0000 (22:58 +0000)]
usermem: Get the 6502 usermem working

Some hacks left over that want cleaning up, and it's also very slow the way
it is done, but this is a generic 'reference' approach so will do for now

9 years agold65.cfg: define stubs for crt0.s to use
Alan Cox [Fri, 16 Jan 2015 22:57:42 +0000 (22:57 +0000)]
ld65.cfg: define stubs for crt0.s to use

9 years agocrt0.: we need to copy STUBS as well as COMMONMEM
Alan Cox [Fri, 16 Jan 2015 22:57:20 +0000 (22:57 +0000)]
crt0.: we need to copy STUBS as well as COMMONMEM

9 years ago6502: sei after we switched memory banks and set our flags up
Alan Cox [Fri, 16 Jan 2015 22:56:58 +0000 (22:56 +0000)]
6502: sei after we switched memory banks and set our flags up

9 years ago6502: kernel.def was out of date - fix it
Alan Cox [Fri, 16 Jan 2015 22:56:39 +0000 (22:56 +0000)]
6502: kernel.def was out of date - fix it

9 years agousermem-6502: use tmp2,ptr2 and document that ptr1/tmp1 are for the mappers
Alan Cox [Fri, 16 Jan 2015 20:48:10 +0000 (20:48 +0000)]
usermem-6502: use tmp2,ptr2 and document that ptr1/tmp1 are for the mappers

Still all disabled while we debug

9 years agotgl6502: correct comment in crt0
Alan Cox [Fri, 16 Jan 2015 20:47:39 +0000 (20:47 +0000)]
tgl6502: correct comment in crt0

9 years agotgl6502: Store the reference commonmem ROM copy right at the top of memory
Alan Cox [Fri, 16 Jan 2015 20:46:06 +0000 (20:46 +0000)]
tgl6502: Store the reference commonmem ROM copy right at the top of memory

This plus discard etc can live anywhere really so stick them right up the top
so it's easier to see what our memory usage looks like

9 years agofilesys: correct invalid ptr check
Alan Cox [Fri, 16 Jan 2015 20:45:32 +0000 (20:45 +0000)]
filesys: correct invalid ptr check

9 years ago6502: add warning about ordering of stash_zp
Alan Cox [Fri, 16 Jan 2015 20:45:15 +0000 (20:45 +0000)]
6502: add warning about ordering of stash_zp

9 years agousermem_6502: add uzero, uputc and uputw
Alan Cox [Fri, 16 Jan 2015 17:54:17 +0000 (17:54 +0000)]
usermem_6502: add uzero, uputc and uputw

Still need to do uget, uput and ugets