\
@    

APPLE-1 for Apple II

Here is a program to run the Apple-1 monitor (and other Apple-1 programs with a small patch) on an Apple II.

To load the program, from Applesoft BASIC, go into the monitor:
]CALL -151

Enter the program in the monitor starting at $8000:
*8000:

Paste this program into an Apple II emulator or somehow copy it to a real Apple II. apple1.hgr2.8000.bin.hex.txt

To run the Apple-1 for Apple II program, from the monitor:
*8000G
And, from Applesoft BASIC:
]CALL32768

Control Q will quit.  Control L will clear the screen.  Control ^ will allow you to enter control L and control Q and control ^.

There are patches to echo a character to the display and get a key from the keyboard. I am not sure if newlines work quite properly as I don't have an Apple I to see how these actually work.  It uses HGR2 for the display so that the RAM from 0.3FFF is available.

Patches:  Replace the bytes AD 12 D0 with 20 70 80 in your Apple-1 programs.  LDA $D012 becomes JSR $8070.  Also, replace the bytes AD 11 D0 with 20 70 80 in your Apple-1 programs.  LDA $D011 becomes JSR $8070.  I did this with "lunar" lander and the program worked.


Name Kind Size
---- ---- ----
apple1-boot.dsk disk image
  startup disk
 140 KB (143,360 bytes)
apple1.dsk Apple DOS 3.3 disk image
  not a startup disk
 140 KB (143,360 bytes)
apple1.dsk.gz gzip compressed archive   4 KB (3,022 bytes)
apple1.dsk.zip zip archive   4 KB (3,145 bytes)
apple1.hgr2.8000.bin.hex.txt Plain text  12 KB (11,135 bytes)

Notes:

By default, echoing the underscore character rubs out the previous character on the screen which is not how the Apple-1 works.  To display the underscore character, apply this patch to the Apple-1 for Apple II program:

8179:EA EA

It also appears, that the linefeed character does a linefeed, whereas on the Apple-1, the linefeed character does nothing.  To disable the linefeed action, apply this patch:

8155:EA EA