mirror of
https://github.com/catseye/Apple-Befunge.git
synced 2024-06-02 06:41:35 +00:00
107 lines
4.1 KiB
HTML
Executable File
107 lines
4.1 KiB
HTML
Executable File
<html>
|
|
|
|
<center><h1>Apple Befunge</h1>
|
|
|
|
<p> <a href="http://www.catseye.mb.ca/vintage/apple/befunge.html">Go to the Apple Befunge Web Site</a>
|
|
| <a href="http://www.catseye.mb.ca/vintage/apple/apple-befunge-dsk-1.zip">Download the Apple Befunge Disk Image 1.0</a>
|
|
| <a href="http://geta.life.uiuc.edu/~badger/apple2.html">Obtain an Apple ][+ Emulator</a>
|
|
| <a href="http://www.catseye.mb.ca/esoteric/befunge/src/">Go Insane</a>
|
|
|
|
</center>
|
|
<hr>
|
|
|
|
<p>Apple Befunge is a retrolanguage for the Apple ][+
|
|
based mainly on <a href="http://www.catseye.mb.ca/esoteric/befunge/">Befunge-93</a>.
|
|
|
|
<h3>Differences</h3>
|
|
|
|
<p>The Apple ][+ has no lowercase characters. In Apple
|
|
Befunge, G, P and V do what g, p, and v do in Befunge-93.
|
|
|
|
<p>The Apple ][+ has no ` (backtick) symbol. Instead the
|
|
' (apostrophe) symbol is used (it's undefined in Befunge-93.)
|
|
|
|
<p>The Apple ][+ has no ~ (tilde) symbol. Instead the
|
|
= (equals sign) symbol is used (it's undefined in Befunge-93.)
|
|
|
|
<p>The Apple ][+ has no | (vertical bar) symbol. Instead the
|
|
letter I is used (it's undefined in Befunge-93.)
|
|
|
|
<p>The Apple ][+'s screen is only 40x24, not 80x25, and until
|
|
a scrolling version of the Apple Befunge debugger is made,
|
|
screen size limits program size.
|
|
|
|
<h3>Improvements</h3>
|
|
|
|
<p>Letters A through F represent values 10 through 15 respectively.
|
|
|
|
<p>The ; (semicolon) symbol begins and ends "ignoremode".
|
|
|
|
<p>If the <i>x</i> argument to G is negative, the result is PEEK(<i>y</i>).
|
|
|
|
If the <i>x</i> argument to P is negative, the result is POKE <i>y</i>, <i>d</i>.
|
|
|
|
The ] instruction pops an argument <i>a</i> off the stack; the result is CALL <i>a</i>.
|
|
|
|
These three instructions allow a direct interface to the rest of
|
|
the Apple ][+ system.
|
|
|
|
<h3>Implementations</h3>
|
|
|
|
<p>On the ESDOS-][-formatted
|
|
<a href="http://www.catseye.mb.ca/vintage/apple/apple-befunge-dsk-1.zip">Apple Befunge Disk Image 1.0</a>
|
|
there is:
|
|
|
|
<ul>
|
|
<li> a full visual debugger/editor for Apple Befunge
|
|
called APPLE BEFUNGE EDITOR
|
|
<li> a less obtrustive but unfinished interpreter called APPLE BEFUNGE RUNNER
|
|
<li> and a handful
|
|
of Befunge programs which have been converted to Apple Befunge format.
|
|
</ul>
|
|
|
|
<p>Also in the ZIP archive which contains the disk image, are the source
|
|
codes (ASCII text) for APPLE BEFUNGE EDITOR and the 'diffs' for APPLE BEFUNGE RUNNER,
|
|
along with a copy of this HTML page.
|
|
|
|
<h3>Licsensing</h3>
|
|
|
|
<p>All Apple Befunge material is freely redistributable. If you
|
|
make a derivative work based on Apple Befunge or any of its tools,
|
|
all I ask is that you contact me so that we can link web pages
|
|
(or I can host your stuff on my site if you don't have a web page.)
|
|
|
|
<h3>Known Bugs</h3>
|
|
|
|
<p>In APPLE BEFUNGE EDITOR:
|
|
|
|
<p>The coordinate (39,23) can only contain blank space (not yet put
|
|
in code to draw instructions in that part of the screen, without
|
|
scrolling it. I know how to do it, I just haven't bothered.)
|
|
|
|
<p>Subtle bug in either % (modulo) or ' (greater than) or
|
|
<tt>hex.bf</tt> - not entirely sure which.
|
|
|
|
<h3>To Do List</h3>
|
|
|
|
<p>Finish the APPLE BEFUNGE RUNNER program
|
|
to execute an Apple Befunge program
|
|
non-visually, with more normal I/O for .,=&.
|
|
It needs to ask the user for a filename when run
|
|
(no command-line arguments in ESDOS ][.)
|
|
|
|
<p>A good reorganization of APPLE BEFUNGE EDITOR is in order. The push and pop subroutines
|
|
should probably be as near the beginning of the program as possible. Should hold more
|
|
constant values in variables. All the editor-dependent stuff should be in the same place
|
|
so it can be wiped out more easily by APPLE BEFUNGE RUNNER.
|
|
|
|
<p>Put a great many more example Apple Befunge programs on the disk image.
|
|
|
|
<p>Write an APPLE BEFUNGE TO APPLESOFT COMPILER. Will probably need
|
|
a deeper understanding of the tokenizing mechanism and the filesystem
|
|
to accomplish this, since I'll need to write type "A" files.
|
|
|
|
<p><hr>
|
|
<p><i>Last Updated Jul 3 ©2000 <a href="http://www.catseye.mb.ca/">Cat's Eye Technologies</a>.</i>
|
|
</html>
|