[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple IIplus ROMs in original II?
- Subject: Re: Apple IIplus ROMs in original II?
- From: Paul Schlyter <pausch@saaf.se>
- Date: Mon, 14 Mar 2005 13:40:26 +0100
- Newsgroups: comp.sys.apple2
- References: <RsudneQFP4AKra7fRVn-3Q@comcast.com> <JE6Zd.10575$yp.7261@newssvr11.news.prodigy.com> <1110783459.eeb48cdb38a58be9d006e5851e2178ce@teranews> <sTeZd.831$Ue6.801@trndny04>
- User-agent: MicroPlanet-Gravity/2.70.2067
- Xref: g2news1.google.com comp.sys.apple2:9439
In article <sTeZd.831$Ue6.801@trndny04>,
MollyBaker@Spam.GMAIL.Spam.Spam.Spam.Com says...
> What would be nice is if an INTBASIC interpreter could be hacked so as
> not to interfere with ProDOS.
>
> I wonder if it could be done?
Of course it can be done! But it will require some work.... basically
you'd have to do this:
1. Reverse engineer Integer Basic into an assembly source file, then go
through that file manually and replace numeric values for addresses with
symbolic names as much as possible.
2. Reassemble your reverse engineered assembly source to the same
addresses and verify that you get an identical binary.
3. Reassemble it for other addresses for the code, and verify that it
still works. Fix the problems you encounter when doing this.
4. Move around the page zero addresses Integer Basic uses (by giving
new values to the symbolic names for these addresses you added in
step 1) to other page zero addresses and verify that Integer Basic still
works. Clobber the original Integer baisc page zero addresses with
random garbage - verify that your new Integer Basic still works. Fix
any problems you encounter while dong this.
6. Now you're almost done! You'll just have to find some zero page
addresses which ProDOS doesn't use. The page zero addresses used
by Applesoft are good candidates - let your modifed Integer Basic
remember them somewhere when it starts upp, and restore them when
it exits. Verify that your Integer basic wirks with ProDOS and
that ProDOS still works fine after your modified Integer Basic
has been terminated.
7. Now you're almost done! You might still have to fix some Integer
Basic programs which relies on the standard page zero usage by
Integer Basic through PEEK's and POKE's ......
That's it! :-)
Anyone willing to do this? For someone reasonably fluent in 6502
assembly language I'd expect it to take perhaps a week or two if
you devote a lot of time to it each day -- and more if you devote
less time to it each day....