We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Brataccas (Mac OS Classic)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Brataccas

Developer: Psygnosis[1]
Publishers: Psygnosis[2] (EU), Mindscape[3] (US)
Platform: Mac OS Classic
Released in US: February 1986[3]
Released in EU: January 1986[2]


SourceIcon.png This game has uncompiled source code.
CopyrightIcon.png This game has hidden developer credits.
DevTextIcon.png This game has hidden development-related text.


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

References

  1. Brataccas manual
  2. 2.0 2.1 Popular Computing Weekly, 16–22 January 1986, p. 14
  3. 3.0 3.1 Computer Entertainer, March 1986, p. 14