[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BASIC and the nitty-gritty of DOS 3.x



For kicks, I ported the SYM-1 BASIC (a little brother of FPBASIC) to the Apple. Why? I happened to have the source code, and it was small. :P

I was thinking about how to implement LOAD and SAVE on it, which I really don't know much about. The ZP stuff is very different from the Apple's but shares some resemblance, e.g., USR vector is at the same address. I didn't need the $0200-$02FF space so it lies fallow.

I was thinking of trying to come up with a modified "DOS 3.3 lite" that I could use to load and save the files (as type S). There's a few problems.

1. Although the loaders (for 48K and 64K symbasic) do not ratdance on DOS, the interpreter dances on zero page. The code would need to be edited to use different ZP addresses so as not to step on important variables.

Note - the input buffer is in zp from $1E to $65, and can prolly be used for scratch variables that don't need to be maintained. Most of the $Ex and $Fx area seems to be safe too - I use $F0-$F3 internally. The code sits from $6000-$81D1 on the 48K version, $D000-$F1E1 on the 64K version. (The additional code is mostly to handle Reset.)

2. I don't know how to do the equivalent of a bload or bsave without the help of the BASIC interface, which I won't have available.

-uso.