diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..2c35db4 --- /dev/null +++ b/README.markdown @@ -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. diff --git a/befunge.html b/befunge.html deleted file mode 100755 index f177f83..0000000 --- a/befunge.html +++ /dev/null @@ -1,106 +0,0 @@ - - -

Apple Befunge

- -

Go to the Apple Befunge Web Site -| Download the Apple Befunge Disk Image 1.0 -| Obtain an Apple ][+ Emulator -| Go Insane - -

-
- -

Apple Befunge is a retrolanguage for the Apple ][+ -based mainly on Befunge-93. - -

Differences

- -

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, -screen size limits program size. - -

Improvements

- -

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 rest of -the Apple ][+ system. - -

Implementations

- -

On the ESDOS-][-formatted -Apple Befunge Disk Image 1.0 -there is: - -

- -

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. - -

Licsensing

- -

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.) - -

Known Bugs

- -

In APPLE BEFUNGE EDITOR: - -

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.) - -

Subtle bug in either % (modulo) or ' (greater than) or -hex.bf - not entirely sure which. - -

To Do List

- -

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 ][.) - -

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. - -

Put a great many more example Apple Befunge programs on the disk image. - -

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. - -


-

Last Updated Jul 3 ©2000 Cat's Eye Technologies. - diff --git a/original_index.html b/original_index.html deleted file mode 100755 index eab1aa4..0000000 --- a/original_index.html +++ /dev/null @@ -1,41 +0,0 @@ - -Cat's Eye Technologies' Apple ][+ Retrodevelopment Lunacy Server - - - -

- -
Disclaimer: this page does not actually exist. You are currently hallucinating. -
 APPLE ][+ 
-Retrodevelopment Lunacy Server
- -

Cat's Eye Technologies encourages the engineering of new -and innovative software for the Apple ][+ computing platform -as an act of retrodevelopment. - -

This page was established to provide, free to all websurfers, - our contribution to this cheerful insanity. - -

Among our efforts include thus far so far we have (sic): - -

-
-

  -

  -

-
-] RUN
-?BULLSH*T ERROR IN 20
-
-] LIST 20
-20  2 + 2 = 5
-

  -

  -


Last Updated Jul 3 ©2000 Cat's Eye Technologies.
- -