From dd7b333f769f2027c515d64ff622d546e1856456 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Thu, 19 Sep 2013 15:26:25 -0700 Subject: [PATCH 1/2] Remove instructions on exiting a2pid keystrokes - no longer supported --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7be9bb2..5b91283 100755 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ NOTE - For USB serial port users and non-Raspberry Pi owners: This isn't actual Reboot the Apple II with the newly created floppy in the start-up drive. If everything is configured correctly, you should be able to login to the Raspberry Pi with your Apple II keyboard. If you have an Apple II Mouse, that should control the cursor in X, or in the console if you have gdm installed. -Using a2pi: The Apple //c and //e keyboards are pretty minimal compared to modern keyboards, and the Apple II Mouse only has one button. In order to provide most of the funcitonality required of modern OSes, the Open-Apple and Closed-Apple keys are used as modifiers to enhance the keyboard and mouse. On the keyboard, Open-Apple acts just like the Alt key. The Closed-Apple key acts like a Fn key, changing the actual key codes. Currently, the Closed-Apple key will modify the number keys 1-0 as funciton keys F1-F10 and the arrow keys as Left-Arrow=Home, Right-Arrow=End, Up-Arrow=PgUp, Down-Arrow=PgDn. For the mouse, when you click the mouse button by itself, that is the left(default)-click. Open-Apple along with the mouse button will return the right-click, and Closed-Apple along with the mouse button will return the middle-click. If you should ever need to exit a2pi, press Closed-Apple ESC on the Apple II keyboard. This will exit both the code on the Apple II and the Raspberry Pi. This is useful when developing and debugging the drivers/daemons. a2pid can be run directly (not as a daemon) by leaving off the '--daemon' option. Enabling printf's in the code allows one to watch the packets arrive and get processed when run from a network ssh session. +Using a2pi: The Apple //c and //e keyboards are pretty minimal compared to modern keyboards, and the Apple II Mouse only has one button. In order to provide most of the funcitonality required of modern OSes, the Open-Apple and Closed-Apple keys are used as modifiers to enhance the keyboard and mouse. On the keyboard, Open-Apple acts just like the Alt key. The Closed-Apple key acts like a Fn key, changing the actual key codes. Currently, the Closed-Apple key will modify the number keys 1-0 as funciton keys F1-F10 and the arrow keys as Left-Arrow=Home, Right-Arrow=End, Up-Arrow=PgUp, Down-Arrow=PgDn. For the mouse, when you click the mouse button by itself, that is the left(default)-click. Open-Apple along with the mouse button will return the right-click, and Closed-Apple along with the mouse button will return the middle-click. a2pid can be run directly (not as a daemon) by leaving off the '--daemon' option. Enabling printf's in the code allows one to watch the packets arrive and get processed when run from a network ssh session. Theory of operation: Apple II Pi works by running code on the Apple II and the Raspberry Pi, talking to each other with a simple protocol. The Apple II basically appears to the Raspberry Pi as an external peripheral, not unlike a USB keyboard and mouse. The Apple II floppy boots into ProDOS and runs a simple machine language program that scans the keyboard, and mouse if present, sending the events out the serial port to the Raspberry Pi. It is a very simple protocol and the serial port is running at 115.2K baud, so it is fast and low overhead. On the Raspberry Pi, a little daemon runs, waiting for packets on the serial port, converts the Apple II events into Linux compatible events, and inserts them into the input subsystem. This daemon also has a socket interface (port 6551) that can be used to access the Apple II memory and execute arbitrary code. Look at a2lib.c for implementation. From 96447dddfa187c63c09931c270261828b6c90116 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Thu, 19 Sep 2013 15:28:35 -0700 Subject: [PATCH 2/2] Update "exit-client" keystrokes. --- docs/input.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/input.txt b/docs/input.txt index 3120f3e..511de33 100755 --- a/docs/input.txt +++ b/docs/input.txt @@ -19,7 +19,7 @@ Three special key sequences affect the operaton of the Apple II client/server co Ctrl-Reset key sequence will re-establish the client/server connection and jump to the BASIC cold-start routine, assuming the client code hasn't been damaged. -OpenApple-SolidApple-Escape will exit both the client and server programs. The client Apple II code can be restarted as above. The server daemon will have to be started from another computer logged in to the Raspberry Pi, or a USB keyboard connected to the Pi. Type 'sudo a2pid --daemon' to restart the server process. +OpenApple-SolidApple-Delete will exit the client program. The client Apple II code can be restarted as above. The server daemon will have to be killed and started from another computer logged in to the Raspberry Pi, or a USB keyboard connected to the Pi. Type 'sudo a2pid --daemon' to restart the server process. Finally, there is not a requirement to use the Apple II keyboard. Simply plug any compatible USB keyboard into the Raspberry Pi. @@ -36,4 +36,4 @@ Conclusion: Input using Apple II peripherals is really what gives Apple II Pi its retro appeal. The ability to use the Apple II keyboard, mouse, and joystick is what sets Apple II Pi apart. Enjoy, - Dave Schmenk \ No newline at end of file + Dave Schmenk