Modify DOS 3.3 to load Integer from 80 column card?

7 posts / 0 new
Last post
Offline
Last seen: 2 years 11 months ago
Joined: Apr 7 2021 - 19:48
Posts: 4
Modify DOS 3.3 to load Integer from 80 column card?

First post here. I know this is a strange one. I'm blind, so on my real and emulated Apple computers, I use an Echo II or II+ speech synthesizer with the Textalker software. Textalker loads itself into the language card under DOS 3.3, which means the normal DOS 3.3 trick of loading Intbasic into the language card won't work with the Echo speech. I'm attaching a disk image of games and programs which includes a smaller version of Integer Basic which does work with the Echo since it doesn't use the language card, and is only active when needed. When you want Integer, you just BRUN INTEGER, wait for the > prompt, then you're good to go until you FP, run an Applesoft program, reboot, etc.

My crazy idea the other day, which I have nowhere near the expertise to implement, goes as follows. When a disk boots, it runs code that first loads this smaller version of Integer into memory on the 80 column card, or complains loudly and aborts if one is not present. Then, it patches DOS to hijack the INT command handler/function code. The new INT code, instead of looking for Integer in the language card, copies it from the 80 column card into its proper place in main memory, then runs it. Ideally, this would allow for Applesoft and Integer programs to be run at will, since any time Integer was needed, it'd just yoink it from the 80 column memory and go on.

Any thoughts? Is this even possible, or am I wildly dreaming?

Offline
Last seen: 2 years 11 months ago
Joined: Apr 7 2021 - 19:16
Posts: 4
Size?

If I recall correctly, the II / II+ 80 column cards only had 2K bytes of memory. Even a small version of Integer Basic is probably larger than that, do you know it's size?

 

I'm going off of VERY old memories here, others may have fresher and deeper knowledge.

 

Offline
Last seen: 2 years 11 months ago
Joined: Apr 7 2021 - 19:48
Posts: 4
I'm talking about the
I'm talking about the extended 80 column card with 64K of RAM.
Online
Last seen: 41 min 27 sec ago
Joined: Jun 18 2010 - 13:54
Posts: 731
The flaw in your approach is

The flaw in your approach is where you say ," copies it from the 80 column card into its proper place in main memory." Intbasic's proper place is at E000-F800.

 

Do you know where and how much room Texttalker uses? INTEGER BASIC only uses 8K of the Language Card leaving the rest to hold whatever you want. The second 4K bank would be a litlle trickier but could still be used. So perhaps they could both co-exist in the language card.

 

Another option might be the ROMXe which can instantly switch between Integer , Applesoft, and many other System ROMs.

Offline
Last seen: 2 years 11 months ago
Joined: Apr 7 2021 - 19:48
Posts: 4
The version of Integer Basic
The version of Integer Basic I'm talking about doesn't load at $E000, but rather, in regular memory. I'm not a master of 6502 machine language, but from looking at the INTEGER binary on the disk I attached to the first message, it loads at $0800, then immediately moves probably most of itself to $8000, does a JSR $9000 which I assume does some initialization. Then it modifies some values in DOS and does a JMP $8003 which, presumably, starts the Integer interpreter. I think Textalker uses too much of the language card for it and Intbasic to coexist.
Online
Last seen: 41 min 27 sec ago
Joined: Jun 18 2010 - 13:54
Posts: 731
Interesting!Well that's a

Interesting!

Well that's a perfect candidate for the ROMXe board. Too busy to do it myself right now, but if you get the ROMXe when it comes out and want to tackle this I'd be more than happy to help. Here's a preliminary draft of the ROMifying tutorial which might give you some idea of how easy it would be:

ROMifying Tutorial

Offline
Last seen: 2 years 11 months ago
Joined: Apr 7 2021 - 19:48
Posts: 4
Actually I'm not targeting
Actually I'm not targeting hardware, but emulation under MAME. My use case is, for example, on a disk with both Applesoft and Integer programs, to be able to have a menu system that can seamlessly run both types of programs. If Textalker weren't involved, I could just load Integer into the language card and be done with it, but that won't work in my situation.
Log in or register to post comments