Cocoa Pom 1 version 0.1
8 January 2004
Joe Crobak
joecrow@mac.com
http://www.cs.lafayette.edu/~crobakj/cocoapom1/ (source available here, too)

I apologize ahead of time about the size of this readme file.  You really only need to read 2 or 3 sections, but I won't tell you which ones.

Could someone hook me up with a cool icon?

Contents
1) About this release
2) What is it?
3) About the Apple 1
4) Software Features
5) Getting Started
6) Possible Future Features
7) Known Bugs
8) History
9) About the file format
10) Legal
11) Just joking, there's only 10 sections

1) About this release:
----------------------
Woohoo!!! This is the first public release of Cocoa Pom 1.  Cocoa Pom 1 is based upon the Java Apple 1 Emulator by VARHILLE.

I expect this release to be very buggy.  Please let me know of any bug you find, no matter how small.  Describe how to recreate the bug if possible.  I have a feeling that some of the emulation code is not working properly, let me know if you might have an inclination as to what is wrong with it or if you'd like to try to help me debug it.  Basically, give me all the feedback you can come up with!  You can email me (joecrow@mac.com).  

If cocoa pom 1 crashes on startup, you might have a bad preferences file.  To delete the preferences file, right click on "Cocoa Pom 1.app" and select "Show Package Contents." Open Contents, and Open Resources, then delete the file "pom1.preferences."

The software directory contains a bunch of programs you can try to run.  BASIC almost works!

I never would have spent the time on this were it not for the encouragement of Tom Owad.

2) What is it ? (from the Pom1 readme)
--------------------------------------
"Pom1 has been developed to comemorate the works of Steve Wozniak,
who set out to develop a machine that would change the world forever.
That machine has come to be known as the Apple I.

"Pom1 primary emulates the 6502 microprocessor and extends it to the 
Apple I computer. It was designed as a challenging first Java programming exercise."

3) About the Apple 1 (From the Apple 1 Manual):
_______________________________________________
Microprocessor:                         Mos Technology 6502
     Micorprocessor Clock Frequency:   1.023 MHz
     Effective Cycle Frequency:        0.960 MHz    
      (Including Refresh Waits)

Memory:                                 16-pin, 4K Dynamic, type 4096 (2104)
     On-board RAM Capacity:            8K bytes (4K supplied)

Other Features:
     dynamic memory
     "contains resident system monitor software, enabling the user, via the keyboard
       and display, to write, examine, debug, and run programs efficiently"
     Display contains its own memory

I/O
     Output is formatted to 40 chars/line, 24 lines/page
     Each Character is 5x7 pixels
     Autoscrolling
     The Apple I only accepts "upper case alpha (A-F, R)."

4) Software Features:
---------------------				How to Access it:
- Loading of memory				(File...Load)
- Saving of a portion or all of memory		(File...Save)
- Three emulated screen sizes			(Emulator Menu)
- Scanline (for double or triple size)		(Emulator...Scanline)
- Multiple text/background colors		(Emulator...Config)
- Multiple Memory Sizes				(Emulator...Config)
- Multiple Terminal Output Speeds		(Emulator...Config)
- Uses Sim6502 style save/load files		(Save/Load)

5) Getting Started:
-------------------
FIRST:
Hit the RESET button to enter the system monitor. A backslash should be displayed and the cursor should drop to the next line.

SECOND:
Type- 0 : A9 b 0 b AA b 20 b EF b FF b E8 b 8A b 4C b 2 b 0 (RET)
(0 is a zero, NOT an alpha "O"; b means blank or space; and (RET) hit the "return" key on the keyboard)

THIRD:
Type- 0.A (RET)
(This should print out, on the display, the program you have just entered.)

FOURTH:
Type- 0R (RET)
(R means run the program.)


THE PROGRAM SHOULD THEN PRINT OUT ON THE DISPLAY A CONTINUOUS STREAM OF ASCII CHARACTERS. TO STOP THE PROGRAM AND RETURN TO THE SYSTEM MONITOR, HIT THE "RESET" BUTTON. TO RUN AGAIN, TYPE: R (RET). 

6) Possible Future Features:
----------------------------
- Some sort of implementation of the "tape recording" device.
- Better (more flexible and safe) loading of files.
- A debug window that shows all of the debug output from the program.
- YOU tell ME! (joecrow@mac.com)

7) Known Bugs:
--------------
- I don't think Cocoa Pom 1 will properly handle any key-combinations.
- Some emulation code does not work properly, for example, Basic does not run correctly.  If you are interested in helping me debug the emulation of cocoa pom 1, let me know (joecrow@mac.com).

8) History:
-----------
Version 0.1:
The first public release of the Cocoa version of the Apple 1 emulator "Pom1," originally written by VERHILLE.

Older:
Cocoa Pom 1 is based on Pom 1 v0.61 by VARHILLE

9) About the File Format:
-------------------------
The Load/Save files are a series of memory address and values for memory addresses, all in hexidecimal values.  The format is as follows:

XXXX: YY ZZ AA BB CC ...

Where XXXX is the hexidecimal value for the address, and each subsequent value is a hexidecimal value for the bytes addressed in order left to right starting with address XXXX.  As of version 0.1, the address may be of any length, but each value for a byte must be 2 characters.  There must be exactly one space between the semicolon and the first value and exactly one space between the rest of the values.

The only form of comments is C++/Java style comments of two slashes: "//".

Not obeying this file format is bound to cause a crash or some other kind of mess up (and you might not find out right away).

10) Legal:
----------
Released under the GPL.  I'm in no way responsible for what might happen if you choose to use this software.  Sorry, I'm a poor college student :).  If you don't like that, then don't run the software.

The Apple1 Bios is copyrighted by Steve Wozniak and Apple Computer.

This product is not affiliated with, nor authorized or licensed in any way by
Apple Computer, its affiliates or subsidiaries.