Refactor docs.

This commit is contained in:
Cat's Eye Technologies 2012-02-20 10:13:51 -06:00
parent 38545b988f
commit d1f0d2165c
3 changed files with 82 additions and 147 deletions

82
README.markdown Normal file
View File

@ -0,0 +1,82 @@
Apple Befunge
=============
Apple Befunge is a "retrolanguage" for the Apple ][+. Being written
in Applesoft BASIC, it should also work on an Apple //e or similar
model of 8-bit Apple computer (or, of course, an emulator thereof.)
It is based largely on [Befunge-93](https://catseye.tc/projects/befunge93/),
with some Befunge-98-isms, and some instructions and behaviour peculiar to
the Apple 8-bit architecture.
Differences from Befunge-93
---------------------------
The Apple ][+ has no lowercase characters. In Apple Befunge, `G`, `P`
and `V` do what `g`, `p`, and `v` do in Befunge-93.
The Apple ][+ has no ``` (backtick) symbol. Instead, the `'` (apostrophe)
symbol is used (it's undefined in Befunge-93.)
The Apple ][+ has no `~` (tilde) symbol. Instead, the `=` (equals sign)
symbol is used (it's undefined in Befunge-93.)
The Apple ][+ has no `|` (vertical bar) symbol. Instead, the letter `I`
is used (it's undefined in Befunge-93.)
The Apple ][+'s screen is only 40x24, not 80x25, and until a scrolling
version of the Apple Befunge debugger is made, program size is limited to
the screen size.
Enhancements
------------
Letters `A` through `F` represent values 10 through 15, respectively.
The `;` (semicolon) symbol begins and ends "ignoremode".
If the _x_ argument to `G` is negative, the result is PEEK(_y_).
If the _x_ argument to `P` is negative, the result is POKE _y_, _d_.
The `]` instruction pops an argument _a_ off the stack; the result is `CALL` _a_.
These three instructions allow a direct interface to the architecture of the
8-bit Apple system on which Apple Befunge is running.
Implementations
---------------
The distribution contains an Apple disk image, formatted with _ESDOS ][_.
It contains:
* a full visual debugger/editor for Apple Befunge called
`APPLE BEFUNGE EDITOR`;
* a less obtrustive but unfinished interpreter called
`APPLE BEFUNGE RUNNER`; and
* a handful of Befunge programs which have been converted to Apple Befunge
format.
The distribution also contains the source code, in ASCII text, for
`APPLE BEFUNGE EDITOR` and `APPLE BEFUNGE RUNNER`. The source `APPLE BE
along with a copy of this HTML page.
License
-------
The source code for `APPLE BEFUNGE EDITOR` and `APPLE BEFUNGE RUNNER` are
hereby placed, by me, the author, in the public domain.
Known Bugs and Shortcomings
---------------------------
The coordinate (39,23) can only contain blank space; I have not yet put
in code to draw instructions in that part of the screen, without scrolling
it. Apparently, I once knew how to do this, but I never bothered; I no
longer know how, but I could probably look it up.
Subtle bug in either `%` (modulo) or `'` (greater than) or `hex.bf` --
not entirely sure which.
A good reorganization of `APPLE BEFUNGE EDITOR` source 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.

View File

@ -1,106 +0,0 @@
<html>
<center><h1>Apple Befunge</h1>
<p> <a href="http://www.catseye.mb.ca/vintage/apple/befunge.html">Go&nbsp;to&nbsp;the&nbsp;Apple&nbsp;Befunge&nbsp;Web&nbsp;Site</a>
| <a href="http://www.catseye.mb.ca/vintage/apple/apple-befunge-dsk-1.zip">Download&nbsp;the&nbsp;Apple&nbsp;Befunge&nbsp;Disk&nbsp;Image&nbsp;1.0</a>
| <a href="http://geta.life.uiuc.edu/~badger/apple2.html">Obtain&nbsp;an&nbsp;Apple&nbsp;][+&nbsp;Emulator</a>
| <a href="http://www.catseye.mb.ca/esoteric/befunge/src/">Go&nbsp;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&nbsp;Befunge&nbsp;Disk&nbsp;Image&nbsp;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 &copy;2000 <a href="http://www.catseye.mb.ca/">Cat's Eye Technologies</a>.</i>
</html>

View File

@ -1,41 +0,0 @@
<html><head>
<title>Cat's Eye Technologies' Apple ][+ Retrodevelopment Lunacy Server</title>
</head>
<body bgcolor=#000000 text=#ffffff link=#00dd00 vlink=#008800 alink=#00ff00>
<center>
<img src="/img/3qtrsize.gif">
<br><font size=-3><i>Disclaimer: this page does not actually exist. You are currently hallucinating.</i></font>
<table><tr><td bgcolor=#ffffff><font color=#000000 size=+4><tt><b><blink>&nbsp;APPLE&nbsp;][+&nbsp;</blink></b></tt></font></td></tr></table>
<font size=+2>Retrodevelopment Lunacy Server</font></center>
<p>Cat's Eye Technologies encourages the engineering of <b>new</b>
and <b>innovative</b> software for the Apple ][+ computing platform
as an act of <i>retrodevelopment</i>.
<p>This page was established to provide, free to all websurfers,
our contribution to this cheerful insanity.
<p>Among our efforts include thus far so far we have (<i>sic</i>):
<ul>
<li><a href="befunge.html">Apple Befunge</a>
<p>A version of the Befunge language for the Apple ][+,
based mainly on Befunge-93. Disk version 1.0 plus
source (Applesoft BASIC in text file.)
</ul>
<hr>
<p>&nbsp;
<p>&nbsp;
<center><table cellpadding=20 border=2><tr><td><pre>
] RUN
?BULLSH*T ERROR IN 20
] LIST 20
20 2 + 2 = 5</pre></td></tr></table>
<p>&nbsp;
<p>&nbsp;
<hr><i>Last Updated Jul 3 &copy;2000 <a href="http://www.catseye.mb.ca/">Cat's Eye Technologies</a>.</i></center>
</body>
</html>