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.