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.

03:36 PM, 22 Dec 2004 by Mark Aufflick Permalink | Short Link | 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 

11:12 AM, 03 Dec 2004 by Mark Aufflick Permalink | Short Link | Comments (3)

XML

Blog Categories

software (39)
..cocoa (21)
  ..heads up 'tunes (5)
..ruby (6)
..lisp (3)
..perl (4)
..openacs (1)
mac (20)
embedded (2)
..microprocessor (2)
  ..avr (1)
electronics (3)
design (1)
photography (25)
..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. Unregistered Visitor: An other Script
  2. Unregistered Visitor: A message in there?
  3. Unregistered Visitor: using Amazon S3
  4. Unregistered Visitor: Thank you ! Thank you ! Thank you !
  5. Unregistered Visitor: Umbrello on leopard
  6. Unregistered Visitor: Script gor generate for library
  7. Unregistered Visitor: Similar but different
  8. Unregistered Visitor: Thanks for fixing my problem!
  9. Unregistered Visitor: Pop up once the category is been defined
  10. Unregistered Visitor: smal amendment