[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Interest in GS Applesoft compiler?
- Subject: Interest in GS Applesoft compiler?
- From: nathan@cco.caltech.edu (Nathan Mates)
- Date: 1995/05/07
- Newsgroups: comp.sys.apple2
- Organization: California Institute of Technology, Pasadena
I haven't written a compiler yet. Utilities, games, screen savers, the
like, yes. A compiler, no. Maybe I'm just a little deluded, but I've
been thinking for quite some time (almost 8 months) that a GS
Applesoft compiler would be a neat thing to have. Mostly, it's because
I like those old Eamon adventures occasionally, and would love to get
a bunch running on the GS. If you have a compiler & disk i/o manager,
you could convert a ProDOS adventure over in less than an hour.
Since other projects I keep on various burners (Swatdisk, psieve)
have mostly been completed, the Asoft compiler has reached the
advanced vaporware stage, and I might start coding rsn. This would be
a fairly brain-dead compiler, no optimizations or anything else that
suck a lot of time and effort to make things not work right. (I'm not
just talking about Orca/*; I work with grad turkeys hacking compilers,
and took part of a compiler class here).
Since I don't want to deal with building OMF stuff, and I don't
mind a little extra stange for now, I envision my compiler generating
an assembly file of the compiled code (which is easier to debug), and
then executable could be built by assembling that and linking in a set
of runtime stuff written in c/pascal/asm. This will likely make the
executable much bigger than the equivalent basic program, but it
should run _much_ faster. :)
Here are a few issues that sorta crossed my mind while thinking
about it:
- 40/80 Text, Lores/Double Lores- trivial with my really fast text
i/o routines, but that would toast over GNO compatability. The sticky
part about GNO/etc compatability is that there doesn't seem to be
an easy way to read the cursor position. [Say you HTAB #5. Texttools
wants you to give an X and Y position; you need a Y position before
you can go anywhere]
- Hires stuff. Emulate over to Shires? Shapes will definitely be very
far back onthe burner :)
- Peek, Poke, call. Only allow a few known ones.
- FP math. Use Asoft's internal routines (faster, but maybe harder
to use), or SANE?
- Debugger. Talk to Mike Hackett for info.
- Basic.System emulation. The worst part. Some commands like "PR#6"
should obviously not be allowed. But, if any disk i/o is to be allowed,
then all sorts of stuff like OPEN, READ, WRITE, CLOSE will have to be
emulated. BLOAD/BSAVE will be much harder to do, esp. for pictures,
shape tables, and the like.
Since I've thought about it for so long, it should be ovbious that
I'll actually be starting this. Not too sure why I'm posting all this
gunk; maybe it's because I want some guage of opinion before I start
or something. Beta copies would be at least a month or few down the
road, I think; I'd have to get this somewhat useful (starting would
probably be integer only, no arrays, 80-col text) before I let this
out.
Nathan Mates
--
<*> Nathan Mates http://www.ugcs.caltech.edu/~nathan/ <*>
# And he said to them, "To you has been given the secret of the
# Kingdom of God, but for those outside, everything comes in
# parables" Mark 4:11, NRSV