[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IIe ROM code modifications - exchange tape drivers for ???
- Subject: Re: IIe ROM code modifications - exchange tape drivers for ???
- From: "mspangler" <mspangler@gemsi.com>
- Date: 9 Apr 2005 20:19:55 -0700
- Complaints-to: groups-abuse@google.com
- In-reply-to: <a8Y5e.17066$vt1.13830@edtnps90>
- Injection-info: f14g2000cwb.googlegroups.com; posting-host=64.113.21.202; posting-account=FywLGgwAAABNZpwzSaEb24PoCT-Gg1do
- Newsgroups: comp.sys.apple2
- Organization: http://groups.google.com
- References: <a8Y5e.17066$vt1.13830@edtnps90>
- User-agent: G2/0.2
- Xref: g2news1.google.com comp.sys.apple2:10234
Craig Bower wrote:
> Hi All,
>
> I'm trying to find out the start and end locations of any and all
cassette
> tape routines built into the //e ROM code.
>
> Reason? I want to reprogram these areas on my Applewin emulator to
do
> something else. As it's extremely unlikely I'll ever hook a cassette
tape
> player to my PC.
>
If you are interested in the monitor only, see the monitor Rom listing,
although, if you have the enhanced IIe roms, most of the routines are
in actually in the C500 page. The C500 space is not in the rom listing
anywhere, but you can poke the intcxrom bytes and copy it down to main
Ram from applesoft. The main monitor cassette port code is at FECD
(write) and FEFD (read). And there is a 9 byte routine at FCC9 for
writing some header.
In the unenhanced IIe, the cassette routines are in the same spot as in
the II+.
For the Applesoft cassette routines; run, don't walk for the nearest
copy of Beagle basic, which has complete replacement routines for all
five of them. However, if you are working with an enhanced IIe, the
relocation of SHLOAD to the C500 space messes up things a bit. And
Scrldn doesn't work at all on an enhanced IIe. However, most of the
routines can be relocted elsewhere with some minor tinkering.
I'm doing the same basic thing you are, but burning the ROMS for my
IIe. With my enhanced IIe, I have substituted SWAP for SHLOAD (by
putting it down the C500 space just like SHLOAD was.) I've got ELSE in
place of LOAD (only problem was changing the token identifier), TONE in
place of SAVE, REPEAT in place of RECALL, and UNTIL in place of STORE
(and overflowing into the never used HFIND at F5CB). Repeat and Until
are from an article in Apple Assembly Line.
This part is all done and tested out. I had also put HSCRN in place of
WAIT, but decided WAIT was more useful. I am debating scrapping SPEED
and vectoring it to HSCRN down in the C500 space by way of F777, which
is the enhanced IIe way to TAPEPNT. I may also trash HIMEM for
something useful, since I use mostly PRODOS and using HIMEM with PRODOS
running is asking for trouble.
Between the two entries at SHLOAD, and the read and write entries in
the monitor, there are four ways down to the C500 area, so the
potential is there. The only thing you can't do from the C500 space is
talk to a slot. And you have to remember to get the slots turned on
after you exit and before you JMP or RTS somewhere else. So watch for
commands that JMP NEWSTT, and don't put them there, or at least not
their ends.
Note that other excitement is possible too. If you can live without
lowercase support from Applesoft, you could take the II+ version, and
write it together with the enhanced IIe monitor, and use Beagle Basic
pretty much as is (except SCRLDN, which won't work.) If you are
willing to loose a half done implementation of double low res graphics,
you could put the either the enhanced IIe applesoft (with new commands)
in place of the IIc applesoft, and you would lose only the SWAP
command. (Anything that could fit inside the D000 to F7FF space of
Applesoft would still work.)
I think you could also put this self contained applesoft into a GS as
well. I don't know enough about GS Roms to say, but If I find the
pinout of that odd ROM, I should be able to replace it with either a
128K 32 pin eprom and adapter, or two 64L 28 pin eproms and adapter.
Then I could have the new Applesoft there as well. It might be easier
to find a book on AC Basic or some other Basic that will run on an
older version of P-16, so that everything will fit on a single floppy
(which is the problem with a couple of other Basics for the GS (System
6 only.)
ROM hacking stretches my limited hacking skills to their limits. I'm
trying to put the IIc 65C02 disassembler into the IIe. Almost made it,
last time, and I think I found the problem. Just need to find time to
try again. If I can't get it to work, I may use the IIe debug rom image
(which has a 65C02 dissassembler, and other goodies) add in the self
contained Applesoft described above, and go with that.
Hope this helps.
Mike