mirror of
https://github.com/catseye/Apple-Befunge.git
synced 2025-03-12 12:34:47 +00:00
Refactor docs.
This commit is contained in:
parent
38545b988f
commit
d1f0d2165c
82
README.markdown
Normal file
82
README.markdown
Normal 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.
|
106
befunge.html
106
befunge.html
@ -1,106 +0,0 @@
|
||||
<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>
|
@ -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> APPLE ][+ </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>
|
||||
<p>
|
||||
<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>
|
||||
<p>
|
||||
<hr><i>Last Updated Jul 3 ©2000 <a href="http://www.catseye.mb.ca/">Cat's Eye Technologies</a>.</i></center>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user