Brataccas was pieced together from the smoldering remains of the infamous "mega-game" Bandersnatch. While its atmosphere and graphics were praised, the control scheme was...less than good.
Diskette Labels#
The game disk's title is never visible while booted from it, which is just as well since it misspells the company's name:
PSYGNONIS presents....
The title at initialization, preserved in sector 798, belonged to the copy protection scheme.
Xelok 2 sig
Creator Code#
Brataccas save files have the creator code Phil, presumably in reference to dev team member Philip Blackburn.
Source Code#
Uncompiled source exists at two locations.
Sectors 42–43#
ro handle is bad... exit
move.l #26,d0 ;set launch error
_Syserror ;system error
jmp ResetVector ;exit if control is returned
SaveResult
DC.L 0
GoBabe move.l a0,a1 ;save handle value
_HLock ;freeze rat thar!
move.l (a0),-(sp) ;dereference handle into a pointer,
clr.b (sp) ; clear off the upper attributes byte,
move.l (sp)+,a0 ;address of code 0
jsr (a0)
lea SaveResult,a2
move.l d0,(a2)
move.l a1,-(sp)
_ReleaseResource ;dump the code
lea SaveResult,a2
move.l (a2),d0 ;restore result
#endasm
}
/* Code */
Init()
{
InitDialogs(0);
TEInit();
InitMenus();
/* Desk Accessory menu */
DeskMenu = NewMenu(Desk_ID,CtoPstr("\024"));
AddResMenu(DeskMenu, 'DRVR');
InsertMenu(DeskMenu, 0);
/* Edit menu */
EditMenu = N
Sectors 48–49#
re);
TEClick(&event.where,
(event.modifiers & shiftKey)? True:False, hTE);
break;
}
case inDrag:
{
DragWindow(mouseWindow, &event.where, &screenRect);
break;
}
case inGrow:
{
long growResult;
short vert, horiz;
growResult =
GrowWindow(mouseWindow, &event.where, &screenRect);
horiz = growResult;
vert = HiWord(growResult);
SizeWindow(mouseWindow, horiz, vert, True);
EraseRect(&mouseWindow->portRect);
InvalRect(&mouseWindow->portRect);
SizeTE(mouseWindow);
DrawGrowIcon(mouseWindow);
break;
}
case inGoAway:
{
if (TrackGoAway(window, &event.where))
{
TEDispose(hTE);
hTE = 0;
DisposeWindow(window);
window = 0;
}
break;
}
}
}
}
else
{
switch ( windowcode )
{
case inMenuBar