the cutting room mirror

New Boggle Boggle

New Boggle Boggle is an unlicensed port of Taito's Bubble Bobble, and features mostly original levels with rather poorly-designed layouts.

Uncompiled Source Code#

Several chunks of uncompiled source code can be found through the game's data. Offsets are listed as appropriate.

0x658

NZ,NOSBUT
 DEC  (IX+JMPFLG)
 JR   NZ,NOSBUT
 JR   NXTBUB
 BANG:
 LD   (IX+SPPAT),96
 JR   NXTBUB
 PONG:
 LD   (IX+SPPAT),100
 NXTBUB:
 INC  (IX+STT)

0x2976

NMSIZ
WORKED:
    END
;
;end of NBB
;


�C
  OR   B
  JR   NZ,BCZ2
  RET
  NZ,MAKSC0
  PUSH HL
  LD   DE,VGNTBL+8;pat#1
  LD   BC,8
  CALL SETS_2
  POP  HL
  LD   DE,8
  ADD  HL,DE
  LD   DE,VCLTBL+8;col#1
  LD   B,8;color 8bytes
MAKCOL:
  PUSH HL
  PUSH DE
  PUSH BC
  LD   BC,1
  CALL SETS_2
  POP  BC
  POP  DE
  INC  DE
  POP  HL
  DJNZ MAKCOL
  LD   HL,SCEPAT-SCESIZ-SCESIZ
  LD   DE,SCESIZ
  LD   A,(X$SCENE)
  INC  A
MAKSC1:
  ADD  HL,DE
  DEC  A
  JR   NZ,MAKSC1
;compo.patt
  LD   DE,VBUFF
  EX   DE,HL
  LD   C,SCESIZ
UNPACK: ;1B data=>8B.(from VBUFF)
  LD   A,(DE)
  LD   B,8
UNPAC1:
  RLCA
  JR   C,PAT1
;pat0
  LD   (HL),0
  JR   MAKSC2
PAT1:
  LD   (HL),1
MAKSC2:
  INC  HL
  DJNZ UNPAC1
  INC  DE
  DEC  C
  JR   NZ,UNPACK
  LD   HL,VBUFF
  LD   DE,VNMTBL
  LD   BC,SCESIZ*8
  JP   LDIRVM
SPPROC: ;--
  LD   IX,X$BUB1WK
  LD   B,6;%
SPPLUP:
  PUSH BC
  PUSH IX
  LD   A,1
  LD   (X$SOUND),A
  LD   HL,X$BUB1WK
  LD   (WHOBUB),HL
  LD   IX,X$BB1WRK
  CALL PLAYER
  XOR  A
  LD   (X$SOUND),A
;
  PUSH IX
  POP  IY
  LD   B,4;%%
  LD   IX,X$MONWRK
  CALL MONSTR
;
  LD   A,1
  LD   (X$SOUND),A
  LD   HL,X$BUB2WK
  LD   (WHOBUB),HL
  LD   IX,X$BB2WRK
  CALL PLAYER
  XOR  A
  LD   (X$SOUND),A
;
  PUSH IX
  POP  IY
  LD   B,4;%%
  LD   IX,X$MONWRK+NATTR*4
  CALL MONSTR
;
  POP  IX
  LD   B,3;% 6*3=18
  CALL BUBBLE
  POP  BC
  DJNZ SPPLUP
  RET
PLAYER: ;--IX=attr
  DEC  (IX+SPEED)
  INC  (IX+SPEED)
  JP   M,PLAY1
  DEC  (IX+SPEED)
  JR   NZ,PLEXIT
  LD   (IX+SPEED),NBBSPD
PLAY1:
    LD  A,(IX+LIFE)
    AND 7;protect interrupt.monitor
    AND A
    JP

Revisional Differences#

Two revisions of this game are known to exist, though the only notable differences are in the title screen:

Earlier

Later

  • The earlier revision boots to a black screen, in which the background music starts to play. Afterwards, Level 01, which has the game's title, is loaded; the gameplay itself also starts in this level. The later revision, however, only displays Level 01 for a brief moment; the gameplay itself begins at Level 02. MBiTM is also not credited in the earlier revision.

References#


  1. Hardcore Gaming 101↩︎