I'm beginning to believe that every game has a story embedded in it,
if you look hard enough....
I was playing with Fraction Fever, making sure that everything worked
(and brushing up on my basic math! who thinks edu-wares are a waste of
time?) and out of curiosity, I decide to take a closer look at the
disk. I know it used a modified DOS 3.3, so I booted up a DOS 3.3
disk, replaced it with the cracked game disk and ran CATALOG. Imagine
to my amazement that the author, back in 1982, left in 3 assembly
language source code files on the retail game disk!
FRAC.SRC
INSTALL.SRC
SCAN.SRC
All 3 files are available here: http://204.16.8.40/other/fraction/
The source code are nicely commented by the original author, Dan Lovy
and dated to 1982/1983. On the SCAN.SRC listing, Dan lists the
following in the comments:
;*******************************
; KEYBOARD SCANNING AND
; JOYSTICK INPUT
;
; FOR APPLE II FRACTION FEVER
;
; PROGRAMMED BY DAN LOVY
; OCTOBER 15, 1982 (A WEEKEND ARGG!!)
;********************************
And in the FRAC.SRC file, we see the following:
;*********************************
; RANDOM FRACTION PLACER FOR
; APPLE II FRACTION FEVER
;
; PROGRAMMED BY DAN LOVY
; 10/17/83
;*********************************
;
Almost 1 year difference between the Fraction source code (Oct 17,
1983) and the Scan source code (October 15, 1982)?
Seems like a long time for such a simple game. While entertaining,
Fraction Fever is no Prince of Persia. :)
A little research shows that October 15, 1982 is actually a Friday.
http://www.timeanddate.com/calendar/?year=1982&country=1
And while many acknowledge it's the start of the weekend, it's still a
weekday and poor Dan shouldn't have complained too much about it.
However, October 15, 1983 IS a weekend, a Saturday in fact.
http://www.timeanddate.com/calendar/?year=1983&country=1
So it appears poor Dan mistook the year for 1982 instead of 1983.
Along with the comment (A WEEKEND ARGG!!) it might appear that
Spinnaker Software had Dan working around the clock to get this game
complete. Enough for him to forget the appropriate year, AND forget to
delete this source code from the final retail disk. It certainly
starts to feel like a pressure cooker environment. :)
I love good comments in code. Not only do they tell about what code is
doing, but there are glimpses about the personal nature of the
programmer (at times).
In the FRAC source, it appears the original code was written or
prototyped in BASIC, and probably converted to assembly for speed:
;4114 NU=FN RAD(DE)
;4116 A2=A2+3*ST+3*FN RAD(LN)
;POKE A2+1,DE-NU:POKE A2+2,NU
And as programmers, we always know that sometimes it's easier to use
someone's code, rather than write your own...
;*********************************
; SIXTEEN BIT DIVIDE
;*********************************
;
;SEE 6502 ASSEMBLY LANGUAGE SUBROUTINES (OSBORNE)
;PG. 245
;FOR ALL THE JUICEY DETAILS!
Wasn't it Picaso who said Good Artists Copy, Great Artists Steal?
;******************************
; MULTIPLY ROUTINE
;
;********************************
;
;LIFTED FROM C64 FRACTION FEVER
And finally, sometimes the labels and variable names we choose can
tell others a lot about what we are thinking at that moment:
OUT LDA INKEY
BEQ KLUDGE ;FIX APPLE ASCII
SEC
SBC #128
KLUDGE LDY #1 ;GET RIGHT BYTE OF VARIABLE!
GARB2 DFB 0
Dan Lovy, where ever you may be, thanks for the hard work on Fraction
Fever, but thanks most of all for remembering to comment your source
code and forgetting to delete it! I enjoyed the story you left behind.
Rich