Begin main content

Volunteer work for Apple and the Graphing Calculator

Anyone who was an Apple die-hard in the mid-90s loved the graphing calculator—it allowed you to rub your Wintel friend's noses in the sheer processing power of your new Risc PPC Mac.

So reading the story of it's very Apple development process was really a joy :) It should definately be included in any future edition of Insanely Great.

To get you interested, here is the last line and postscript from the story:

We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security.

After the events described, we made everything retroactively legitimate by licensing the software to Apple for distribution.

Also worth a look is the gallery of cool graphs at pacifict.com.

11:36 PM, 21 Dec 2004 by Mark Aufflick Permalink | Comments (1)

Yet Another Apple Emulator - Patches

While geeking out on Apple ][ assembler programming this weekend (last weeekend it was Objective-C), I discovered there aren't many Apple // emulators for Linux.

There are tons of great free and shareware emulators for my MacOS X Laptop, but I want to use my beefy Linux workstation... I can SURELY get better than twice the speed of an original 6502!

I found YAE — Yet Another Apple Emulator, but I had to patch the source a little to make it compile on a modern gcc. I'll package them better soon (and mail the maintainer), but for now my POST ./configure patches are below.

Also of note, the speed limiter (to the authentic 1.04MHz) is implemented in speed.c if you want to increase the speed or disable it. Since I just want to edit and assemble, the timing shouldn't matter for me and I now have a WAY fast emulated Apple //e ;)

--- iou.h	1998-11-26 19:24:56.000000000 +1100
+++ ../yae-0.6-patched/iou.h	2004-11-21 23:54:20.000000000 +1100
@@ -143,5 +143,7 @@
 unsigned long GetIOUSoftSwitch(void);
 BYTE AppleIORead( ADDR );
 void AppleIOWrite( ADDR, BYTE );
+void printer_byte( BYTE );
+void init_printstream( void );
 
 #endif /* _IOU_H_ */
--- iou.c	1998-11-29 23:27:52.000000000 +1100
+++ ../yae-0.6-patched/iou.c	2004-11-21 23:53:26.000000000 +1100
@@ -547,7 +547,12 @@
 	return data;
 }
 
-FILE *printstream=stdout;
+FILE *printstream;
+void init_printstream (void)
+{
+  printstream = stdout;
+}
+
 void printer_byte(BYTE data)
 {
 	data &= 0x7f;			/* Remove hi-bit */
--- main.c	1998-11-29 20:45:20.000000000 +1100
+++ ../yae-0.6-patched/main.c	2004-11-21 23:53:53.000000000 +1100
@@ -73,6 +73,7 @@
 	setDefaultOptions();
 	ParseConfigFile();
 	processOptions(argc,argv);
+    init_printstream();
 
 	/* mount disks */
 	if (optind<argc) disk_name[6][0]=argv[optind++];
--- Makefile	2004-11-22 00:02:05.000000000 +1100
+++ ../yae-0.6-patched/Makefile	2004-11-22 00:00:49.000000000 +1100
@@ -15,7 +15,7 @@
 
 X_CFLAGS= -I/usr/X11R6/include
 X_LIBS= -L/usr/X11R6/lib
-X_EXTRA_LIBS=
+X_EXTRA_LIBS= -lX11 -lXext
 X_PRE_LIBS=
 
 DEFS= -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 

07:12 PM, 02 Dec 2004 by Mark Aufflick Permalink | Comments (3)

XML

Blog Categories

software (41)
..cocoa (23)
  ..heads up 'tunes (5)
..ruby (6)
..lisp (4)
..perl (4)
..openacs (1)
mac (21)
embedded (2)
..microprocessor (2)
  ..avr (1)
electronics (3)
design (1)
photography (26)
..black and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
food (2)
Book Review (2)

Notifications

Icon of envelope Request notifications

Syndication Feed

XML

Recent Comments

  1. Mark Aufflick: Re: the go/Inbox go/Sent buttons
  2. Unregistered Visitor: How do make a button to jump to folder
  3. Unregistered Visitor: Note I've updated the gist
  4. Unregistered Visitor: umbrello is now an available port on macPorts
  5. Unregistered Visitor: Updated version on Github
  6. Unregistered Visitor: Modification request.
  7. Unregistered Visitor: Accents and labels with spaces
  8. Unregistered Visitor: Mel Kaye - additional info
  9. Unregistered Visitor: mmh
  10. Mark Aufflick: Thank you