EWTILENI@pucc.UUCP (04/04/87)
For anyone who missed it, the following text shows you how to get CoCoMax 2
(yes, CoCoMax 2) running on your CoCo 3.
- ERIC -
<SNIP> <SNIP> <SNIP> <SNIP> <SNIP> <YOU GET THE IDEA...>
Using CoCoMax on the CoCo-3
by Ken Schunk
This information is public domain. Post it anywhere. Copy it and give
it to your friends. Line your bird cage with it. Just please leave my name
on it (Unless you decide to line your birdcage. Then I don't care..)
Two simple poke's are all that is needed for CoCoMax-2 to run on the
CoCo-3. The file that must be modified is the COCOMAX/BIN file. To modify
it to work on the CoCo-3, place a BACKUP of the CoCoMax disk in your disk
drive and type the following:
CLEAR 200,&H3FFF
LOADM"COCOMAX/BIN"
POKE &H53FB,&HFE
POKE &H53FC,&HEF
If you are using a X-Pad driver, LOADM it at this point.
SAVEM"COCOMAX/BIN",&H4000,&H7FFF,&H492B
That's all there is to it if you can use an unmodified HiRes input pack.
If you are using a multipak with Tandy's new PAL chip, you will need to
modify the HiRes pack to get it to work, since the PAL chip will not let
you read from the pack. You have a choice of a couple of solutions. You can
modify the pack to be readdressed below &HFF80, such as &HFF60. This will
require some knowledge of electronics, since some switching of address
lines is required. The other possibility is to use a different PAL chip
that allows reading of addresses above &HFF80. I THINK that Spectrum
Products may have such a device. Yet another solution would be to not use
the pack, and use a different device, such as an X-Pad.
If you do readdress the pack or use an X-Pad, you will need to modify
MAXTITLE/SYS to allow it to work with the new device. One poke is all that
is needed to prevent MAXTITLE/SYS from locking into an endless loop. To fix
it, use:
PCLEAR 5
LOADM"MAXTITLE/SYS"
POKE &HED8,&H21
SAVEM"MAXTITLE/SYS",&HE00,&H266C,&HA027
If you readdress the pack, you will also need to modify COCOMAX/BIN to
allow it to read the pack at it's new address. The pokes needed are:
POKE &H562D, (Low order byte of pack address)
POKE &H7ACE, (Low order byte of pack address)
For example, if you modified to pack to be addressed at $FF60, you would
use the pokes :POKE &H562D,&H60:POKE &H7ACE,&H60.
Remember, these pokes modify COCOMAX/BIN. You first need to LOADM it,
then do the pokes. Remember to SAVEM it when you are done.
If you use the X-Pad, you will need a driver for the X-Pad, such as the
following EDTASM+ assembly code:
ORG $5839 ;Start of first mouse area
START CMPB #2 ;Is it a button request?
LBEQ L2 ;Yes - handle button call
LDA $FF61 ;Read pen Y position
DECB ;B has 1 if Y and 2 if X
BNE L4 ;Skip if call was for Y
LDA $FF60 ;Get pen X position
L4 LDY #TMP ;Point to data storage
STA ,Y ;Save pen position
CLRB ;Point to data with B,Y
RTS ;Back to CoCoMax
TMP RMB 1 ;Data area
ORG $562A ;Start of second mouse area
LBRA START ;Jump to read if called here
L2 LDA $FF62 ;Read pen status
ASRA ;Get pen switch bit to 'C'
BCS L3 ;Return pen down info
LDA #$80 ;Map in expected pen value
L3 LBRA L4 ;Return value to COCOMAX
END START
Enjoy
"Never try to teach a pig UUCP : ALLEGRA!PSUVAX1!PUCC.BITNET!EWTILENI
how to sing. It only ARPA : EWTILENI@PUCC.PRINCETON.EDU
wastes your time and BITNET: EWTILENI@PUCC.BITNET
annoys the pig." DELPHI: TILENIUS (ALSO MCI MAIL)
VOID WHERE INEXPLICABLE PHONE : 609-734-0048