mirror of
https://github.com/bobbimanners/Zapple-II.git
synced 2024-06-02 12:41:27 +00:00
Updated README
This commit is contained in:
parent
914c214b2a
commit
e9f6fba574
73
README.md
73
README.md
|
@ -4,6 +4,7 @@ Z80 Softcard (or clone)
|
||||||
|
|
||||||
- Z80 cross assemblers running under ProDOS on the Apple II
|
- Z80 cross assemblers running under ProDOS on the Apple II
|
||||||
- CP/M BDOS emulation to allow CP/M programs to run under ProDOS
|
- CP/M BDOS emulation to allow CP/M programs to run under ProDOS
|
||||||
|
- Simple CP/M Command Console Processor (CCP)
|
||||||
- Sample program: Processor Technology's SOL-20 BASIC/5
|
- Sample program: Processor Technology's SOL-20 BASIC/5
|
||||||
|
|
||||||
Aztec C v3.2 can be found [on this website](http://aztecmuseum.ca).
|
Aztec C v3.2 can be found [on this website](http://aztecmuseum.ca).
|
||||||
|
@ -153,19 +154,29 @@ BDOS implementation at the top of memory. This has been patched by adding a
|
||||||
`DEC HL` instuction at line 47 (shout-out to Qkumba for finding what the
|
`DEC HL` instuction at line 47 (shout-out to Qkumba for finding what the
|
||||||
issue was!)
|
issue was!)
|
||||||
|
|
||||||
The EXEC file `RUNBASIC5` can be used to start BASIC/5.
|
BASIC/5 can now be started from the CCP prompt: `B:BASIC5`
|
||||||
|
|
||||||
## DDT 8080 Debugger (from CP/M 2.2)
|
## Other CP/M 2.2 Programs that work (to some degree)
|
||||||
|
|
||||||
We have enough BDOS calls to get this to work now!
|
- `DDT` debugger
|
||||||
|
- `ZSID` v1.4 debugger
|
||||||
|
- `DUMP` hex dump utility
|
||||||
|
- `PIP` (can copy files using `PIP DEST.COM=SOURCE.COM`)
|
||||||
|
- `STAT` (at least `STAT DSK` and `STAT filename` seem to work)
|
||||||
|
- `NSWEEP` file manager
|
||||||
|
|
||||||
The EXEC file `RUNDDT` can be used to start DDT.
|
Probably lots of other small, simple programs should also work.
|
||||||
|
|
||||||
## ZSID v1.4 Z80 Debugger (from CP/M 2.2)
|
## Programs known not to work yet
|
||||||
|
|
||||||
We have enough BDOS calls to get this to work now!
|
Most of these are two big for my current TPA (around 32K). I need to
|
||||||
|
rearrange things to make a bigger TPA, and this will probably involve
|
||||||
|
using auxiliary RAM.
|
||||||
|
|
||||||
|
- `MBASIC` - I think it tries to patch the BIOS.
|
||||||
|
- Wordstar - My eventual goal is to get this to work.
|
||||||
|
- Turbo Pascal - My eventual goal is to get this to work.
|
||||||
|
|
||||||
The EXEC file `RUNZSID` can be used to start ZSID.
|
|
||||||
|
|
||||||
# How to Build the Code
|
# How to Build the Code
|
||||||
|
|
||||||
|
@ -236,31 +247,39 @@ The code assumes a Z80 Softcard (or clone) in slot 4. This can be changed
|
||||||
by modifying the `SOFTCARD` address in `SOFTCARD65.S` and `SOFTCARD80.ASM`
|
by modifying the `SOFTCARD` address in `SOFTCARD65.S` and `SOFTCARD80.ASM`
|
||||||
if your card is in a different slot.
|
if your card is in a different slot.
|
||||||
|
|
||||||
I provided a couple of ProDOS EXEC files to load all the pieces and run the
|
To run the code, use `zapple2.po`, which is a ready made 800K disk image.
|
||||||
code:
|
You need to boot ProDOS from some other device, because this image is not
|
||||||
|
bootable (I should fix that!)
|
||||||
|
|
||||||
`RUNBASIC5` performs the following operations:
|
Run `SOFTCARD65` to start everything. This will relocate itself to high
|
||||||
|
memory and then load the Z80 code `SOFTCARD80`. The system will then
|
||||||
|
start the CCP and show the familiar `A>` prompt.
|
||||||
|
|
||||||
```
|
There are three CP/M 'drives' (actually ProDOS subdirectories) on the diskette
|
||||||
BLOAD /ZAPPLE2/SOFTCARD80.BIN,A$FFD,Ttxt
|
image: A, B and C.
|
||||||
BLOAD /ZAPPLE2/BASIC5.BIN,A$1100,T$00
|
|
||||||
BRUN /ZAPPLE2/SOFTCARD65
|
|
||||||
```
|
|
||||||
|
|
||||||
A little explanation is in order:
|
The following commands are implemented:
|
||||||
|
|
||||||
- The first line loads the Z80 code which provides the CP/M BDOS interface.
|
- `DIR`
|
||||||
It is loaded at address $0FFD because there is a three byte prefix on the
|
- `TYPE`
|
||||||
BIN file (created by Z80asm). The actual start address is $1000 in 6502
|
- Changing drives using `A:`, `B:`, etc.
|
||||||
address space, which is 0000H for the Z80.
|
- Launching a `.COM` file (just type the name and any arguments)
|
||||||
- The second line loads the BASIC5 image at $1100 (0100H for the Z80).
|
|
||||||
- Finally we just run the 6502 code in `SOFTCARD65` to bootstrap the process.
|
|
||||||
This loads at $0900. The start address is encoded in the binary, so we
|
|
||||||
don't need to specify it on loading/running the code.
|
|
||||||
|
|
||||||
The other EXEC file `RUNTESTSTUB` is the same, but omits the second step.
|
Wildcards using `*` are not yet supported.
|
||||||
Instead of running BASIC, it runs some internal test code that is part of
|
|
||||||
`SOFTCARD80.BIN`.
|
|
||||||
|
|
||||||
|
`REN`, `USER` and `SAVE` built-in commands are not supported yet either.
|
||||||
|
|
||||||
|
## Some things to try
|
||||||
|
|
||||||
|
- `DIR` - show files on current drive
|
||||||
|
- `DIR A:` - show files on another drive
|
||||||
|
- `DIR ABC?????.TXT` - show matching files using `?` wildcards
|
||||||
|
- `TYPE TEST.TXT` - view a text file
|
||||||
|
- `A:PIP B:MY.TXT=A:TEST.TXT` copy `TEST.TXT` from A: to B:, renaming it as `MY.TXT`
|
||||||
|
- `STAT DRV` - show info on the virtual drive
|
||||||
|
- `DDT MYPROG.COM` - debug `MYPROG.COM` using DDT (8800 debugger)
|
||||||
|
- `ZSID MYPROG.COM` - debug `MYPROG.COM` using ZSID (Z80 debugger)
|
||||||
|
- `DUMP MYPROG.COM` - hex dump of file
|
||||||
|
- `NSWEEP` - simple interactive file manager
|
||||||
|
- `BASIC5` - Processor Technology SOL-20 BASIC/5
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user