home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
beehive
/
utilitys
/
gpatch.arc
/
GPATCH.DOC
< prev
next >
Wrap
Text File
|
1990-07-21
|
4KB
|
114 lines
tm tm
Running Microsoft GBASIC on the Starcard (K.C.M. Lau)
------- --------- ------ -- --- -------- (April 1987)
This document describes how to get GBASIC.COM supplied with the Microsoft Z80
Softcard (Apple) working on the PCPI Applicard Z80 Starcard. You will need the
following files:
1. FREEHGR.DVR (and the associated .DOC file for instructions)
2. GPATCH.HEX
3. DDT.COM
4. GBASIC.COM (BASIC-80 Rev 5.2, Apple CP/M Version. Created 30-Mar-82)
If you intend to use hi-res graphics you must format a blank disk and install
FREEHGR.DVR on to it using INSTALL.COM supplied with the Starcard (See the
Starcard Manual chapter 5 'Modifying Drivers with Your Starcard' for details).
Note that FREEHGR.DVR must be installed as the second driver.
Copy files 2 - 4 on to the disk. Keep a backup of GBASIC.COM as the
modified version will not run on the Softcard anymore. Do the following:
A>DDT GBASIC.COM
DDT VERS 2.2
NEXT PC
6500 0100
-IGPATCH.HEX
-R
NEXT PC
6CB6 0000
-G0
A>SAVE 108 GBASIC.COM
You now have a version of BASIC that runs on the Starcard. Whenever you intend
to use hi-res graphics, make sure to boot from this disk. To run BASIC type:
A>GBASIC
Differences
-----------
Here are the differences between the Starcard version and the original:
o HCOLORs greater then 7 are not implemented exactly (note: HCOLOR=13 does not
give a reverse color).
o The GR command does not restrict the text window to the bottom 4 lines only;
hence, be careful of scrolling.
o CALL% which should call a 6502 routine, is not implemented.
o The EDIT command has been extensively modified to provide a screen oriented
line editor which should be easier to use. The command keys are based on
Wordstar:
printable character insert character at cursor
^P tab,^I,^J insert control character at cursor
^S, left arrow move cursor left one character
^D, right arrow move cursor right one character
^A move cursor left one word
^F, tab move cursor right one word
^R, ^B, up arrow move cursor to beginning of line
^C, ^N, down arrow move cursor to end of line
del delete character to left of cursor
^G delete character under cursor
^T delete word under and to right of cursor
^Y delete from cursor to end of line
^Q leave line unchanged and exit edit mode
ret accept changes and exit edit mode. Trailing
spaces are removed.
Notes
-----
o RAM locations 1000h - 3000h which was the hi-res screen memory on the
Softcard, is unavailable under the Starcard GBASIC as new code resides
there. Hence, software that tries to load a hi-res picture in to these
locations will damage BASIC.
o 6502 zero page locations that reside at F400h - F4FFh on the Softcard are
not found on the Starcard. Be careful of programs that poke these locations
as they will damage BIOS. Also there is no simple way of accessing 6502
locations and routines from the Starcard. One possible solution is to write
a Z80 routine that 'talks' to the 6502 via the common port.
o The modified edit command may prove to be too slow for external terminals
In that case you can revert to the original line editor by making the
following additional patches:
-S62A6
62A6 xx 16
62A7 xx 00
62A8 xx CD
62A9 xx .
o If inverse, normal, vtab, or home does not work, the screen codes may have
been changed (ie. by reconfiguring SFTVIDEO.DVR using CONFIGSV.COM). In this
case you will have to modify a table of screen codes located within
GBASIC.COM at 6485h - 64FFh (It has the same format as the software screen
function table found in the Apple CP/M BIOS). Here is the table:
6485 20 Cursor address coordinate offset.
If hi bit is 0 transmit order is YX else XY.
6486 1B Lead in character. For the following,
if hi bit is 0 no prefix else prefix with lead in:
6487 AA Clear screen
6488 D9 Clear to End of Page
6489 D4 Clear to End of Line
648A EB Set Normal Text
648B EA Set Inverse Text
648C 1E Home Cursor
648D BD Address Cursor
648E 0B Move Cursor Up One Line
648F 0C Non-destructively Move Cursor Forward
Home Cursor