If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Beverly Hills Cop (BBC Micro)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Beverly Hills Cop

Developer: Tynesoft
Publisher: Tynesoft
Platform: BBC Micro
Released in EU: 1990


SourceIcon.png This game has uncompiled source code.


Source Code

Contained in the game's disk is a bunch of the game's code. They can be found at the below listed offsets in the SSD dump of the game.

0x5300:

EC time:LDA time:CMP#255:BNE roxy
LDA#0:STA time

.roxy
LDA#&58:STA BB+1:LDA#0:STA ll

.tloopp
LDX ll:LDA time,X:CLC:ROL A:CLC:ROL A:CLC:ROL A:TAX
LDY#0

.mBlop
LDA&79E0,X:.BB STA&7300
INC BB+1
INX:INY:CPY#8:BCC mBlop
INC ll:LDA ll:CMP#3:BCC tloopp

.dunn RTS:.lc BRK:.mm BRK

.num BRK:.byte BRK:.ip BRK

.rct BRK:.length BRK

.hbytes EQUB&3D:EQUB&3E:EQUB&41:EQUB&3F:EQUB&40:EQUB&3D:EQUB&41:EQUB&3E

.time BRK:BRK:BRK:.ll BRK

.ads BRK

.printall LDA#0:STA numma

.PL LDX numma:JSR digereedoo
INC numma:LDA numma:CMP#6:BCC PL
RTS

.digereedoo
TXA:CLC:ROL A:CLC:ROL A:CLC:ROL A:CLC:ROL A:STA ads
LDA scaw,X:CLC:ROL A:CLC:ROL A:CLC:ROL A:CLC:ADC adsc,X:STA vip+1:CLC:ADC#&58:STA vip1+1
LDA ads:CLC:ADC#&58:STA sip+1:CLC:ADC#8:STA sip1+1
LDA#&75:ADC#0:STA sip1+2:STA sip+2
LDY#0

.vip LDA&BFF,Y:.sip STA&75FF,Y

.vip1 LDA&BFF,Y:.sip1 STA&75FF,Y
INY:CPY#8:BCC vip
RTS:.numma BRK
BRK

.scaw BRK:BRK:BRK:BRK:BRK:BRK

.adsc BRK:BRK:BRK:BRK:BRK:BRK
BRK

.adde BRK:BRK:BRK:BRK:BRK:BRK

.scorer LDA ani:BEQ www
LDA#0:STA numma

.sclp LDX numma
LDA adde,X:BEQ bloop
LDA adsc,X:CLC:ADC#1:STA adsc,X
JSR digereedoo
LDX numma:LDA adsc,X:CMP#8:BCC bloop:LDA#0:STA adsc,X:LDA adde,X:SEC

0x5A10:

LINES 1100
*L. GRAFZ.WEEL 1D40
*L. CURVES
*L. TABLE 4200
*L. MOUNTZ 4400
*L. MOUNTZ 4680
*L. TAB2 5700

*L. PC
 5:
23;8202;0;0;0;:
 O%
*L. SCR
*L. ALL 7740
*L. TEXT 7900
*L. ALLSPRI 4E00
*DIR
*DIR AX*.TAPE
*S. GAME1 1100 5800 2D25
 G%
BCS nokk2
JMP crash:.nokk2

.nocrash RTS:.yuss BRK:.PPx BRK

detx BRK:.detx1 BRK:.dety BRK:.dety1 BRK:.bogx BRK:.bogy BRK

.vheet EQUB&25:EQUB&20:EQUB&1C:EQUB&18:EQUB&13:EQUB&D:EQUB&A:EQUB&A
.vweet EQUB24:EQUB24:EQUB20:EQUB16:EQUB16:EQUB12:EQUB8:EQUB8
.no CLC:ROL A:ROL A:ROL A:CLC:ADC#soo ƒ 256:TAX:LDA#soo  256:ADC#0:TAY:LDA#7:JMP&FFF1
.cCx BRK
.soo
EQUW&10:EQUW&3:EQUW5:EQUW1
EQUW&10:EQUW&1:EQUW5:EQUW5
EQUW&10:EQUW&1:EQUW6:EQUW1
EQUW&10:EQUW&2:EQUW5:EQUW8
EQUW&11:EQUW&2:EQUW100:EQUW10
.HtX BRK:.HtY BRK:.indext BRK:.bupt BRK:.pupt BRK

.print
STX HtX:STY HtY:STA indext
LDA HtY:CLC:ADC#60:STA HtY
.tlop
LDX indext:LDA Tabb,X:BEQ tendt
SEC:SBC#65:STA bupt:STA pupt
LDA#&79:STA ldxt+2
LDA#&0:STA ldxt+1

.SHLP LDA bupt:BEQ SHEND
LDA ldxt+1:CLC:ADC#8:STA ldxt+1
LDA ldxt+2:ADC#0:STA ldxt+2
DEC bupt:JMP SHLP

.SHEND
LDX#0:LDY#0

.ldxt LDA&7900,X

.stxt STA&1100,Y

.incat INY
INX:CPX#8:BCC ldxt
LDX HtX:LDY HtY:LDA#4:JSR U%
LDA HtX:CLC:ADC#4:STA HtX
INC indext:JMP tlop

.tendt RTS

.Tabb
EQUS"[WELL[DONE[AXEL[":BRK
EQUS"[YOU[VE[ARRIVED[IN[BEVERLY[HILLS[":BRK
EQUS"[INVESTIGATE[THE[CONTENTS[OF[":BRK
EQUS"[MR[BIGS[WAREHOUSE[DOWNTOWN[":BRK


.gmess
LDX#48:LDY#162:LDA#0:JSR print
LDX#16:LDY#153:LDA#17:JSR print
LDX#20:LDY#144:LDA#51:JSR print
LDX#20:LDY#135:LDA#81:JSR print

LDA#0:STA sac:.vlppp JSR scorer:INC sac:LDA sac:BNE vlppp

LDA#200:JSR del
K:EQUB-4:BRK:BRK:EQUB-4:BRK:BRK
.eddyoff BRK:BRK:BRK:BRK:BRK:BRK:BRK:BRK
EQUB-8:EQUB-1:BRK:EQUB1:EQUB9
BRK:BRK:BRK:BRK

.boxes
LDA#0:STA bct
.ploopa
LDX bct:LDA bon,X:BEQ nayprt
LDA by,X:TAY:LDA bx,X
CLC:RORA:€#1:CLC:ADC spz,X:PHA:LDAbx,X:TAX:PLA:JSR R%

.nayprt INC bct:LDA bct:CMP#12:BCC ploopa
RTS:.boxno BRK:.fid BRK
.moovleft LDA#2:STA adder
DEC flip:LDA flip:CMP#255:BNE wa1
LDA#7:STA flip
DEC fid
LDX fid
LDA crate,X:STA cB:BEQ wa1


LDX boxno
LDY#0:JSR set1
INC boxno:LDA boxno:CMP#12:BCC wa1
LDA#0:STA boxno

.wa1
DEC flip1:LDA flip1:CMP#255:BNE wa11
LDA#7:STA flip1
DEC fid1
LDX fid1
LDA crate1,X:STA cB:BEQ wa11
LDA#0:JSR onsta


LDX box
 
;?&8B8=1:?&8B9=2:?&8BA=3:?&8BB=3:?&8BC=4:?&8BD=5:?&8BF=1


RUN
*L. TAB2 5700
*L. LKUP1 5500
*L. LKUP2 5600
*L. TAB3 5400

*L. PC
 5:
23;8202;0;0;0;:
 O%
 Z
*L.SCR
*L. FRIP 7240
*L. SPT 7280
*L. ALLSPRI 1100
 ‚

 GOTO170
*DIR
*DIR AXEL.TAPE
*S. GAME2 1100 5800 33D3

G%

BCC wa2
LDA#0:STA boxno
.wa2
INC flip1:LDA flip1:CMP#8:BNE wa22
LDA#0:STA flip1
INC fid1
LDA fid1:CLC:ADC#8:TAX
LDA crate1,X:STA cB:BEQ wa22
LDA#144:JSR onsta
LDX boxno:LDY#144:JSR set2
INC boxno:LDA boxno:CMP#12:BCC wa22
LDA#0:STA boxno

.wa22 JSR decit
RTS:.flip EQUB4:.flip1 BRK:.fid1 BRK


.set2 LDA#213:STA yyB:JMP sip
.set1 LDA#190:STA yyB:.sip
LDX#0:.filp
LDA bon,X:BEQ foond
INX:CPX#12:BCC filp:RTS

.foond
TYA:STA bx,X:LDA yyB:STA by,X:STA bon,X:LDY cB:LDA sprogtab,Y:STA spz,X:RTS:.yyB BRK:.cB BRK

.decit LDX#0
.deccaloop
LDA bon,X:BEQ naydec
LDA bx,X:CLC:ADC adder:STA bx,X
LDA adder:CMP#254:BNE nayck1
LDA bx,X:BEQ jjj:CMP#200:BCC naydec

.jjj LDA#0:STA bon,X
JMP naydec

.nayck1
LDA bx,X:CMP#145:BCC naydec
LDA#0:STA bon,X

.naydec

 INX:CPX#12:BCC deccaloop:RTS

.flik EQUB5:EQUB15:EQUB16:EQUB27:EQUB4:EQUB9:EQUB16:EQUB27:EQUB2:EQUB13:EQUB16:EQUB31:EQUB17:EQUB27
.G%
LDX#255:TXS
LDA#6:STA&FE00:LDA#21:STA&FE01:LDA#7:STA&FE00:LDA#33:STA&FE01
LDA#26:JSR&FFEE
LDX#0:.LDE LDA flik,X:STA&942,X:INX:CPX#14:BCC LDE
.restart
.LOZ
JSR heartsa
LDX#0:.LOZZ LDA &8B8,X:STA scoreP,X:INX:CPX#6:BCC LOZZ
LDA#0:LDX#0:.llSD STA bon,X:INX:CPX#12:BCC llSD
LDA#0:LDX#0:.llSE STA bullon,X:INX:CPX#67:BCC llSE
LDA#0:LDX#0:.llSA STA bx,X:INX:CPX#48:BCC llSA:STA yyB
LDA#0:STA bonctt:STA fid:STA fid1:STA boxno:STA movc:STA deeda:STA dog:STA cB:STA tnton:STA mzon:STA mzon+1:STA lenn:STA eor:STA eor1:STA thrwan:STA thrct
LDA#10:STA movsp
LDA#120:STA dynx:LDA#180:STA dyny:LDA#12:STA dyna
LDA#102:STA heighth:
LDA#5:STA bonusP:LDA#0:STA bonusP+1:STA bonusP+2:STA vc:STA VVV:STA mvr:STA mcow

.scoop
LDA#0:STA adder::STA ston:STA ston+1:STA deeda:STA invinc:STA baddonn:STA baddonn+1:STA bang
LDA#8:STA pozzy
LDA#254:STA adder
LDA#13:STA dedED
LDA widh:CMP#13:BCS notadodo:JMP dededdy:.notadodo

JSR culta
LDA#0:STA badflash:STA badflash+1

.Game 
LDA#0:STA adder:STA razz
LDA deeda:BNE NK2
LDA#&81:LDX#(&100-98):LDY#&FF:JSR&FFF4:CPX#&FF:BNE NK1
LDA fid1:BEQ NK2
LDA#1:STA razz
LDA movsp:CMP#10:BNE NK1
JSR moovleft:JMP NK2

.NK1
LDA#&81:LDX#(&100-67):LDY#&FF:JSR&FFF4:CPX#&FF:BNE NK2
LDA fid1:CMP#68:BCC Vak
JMP newgame:.Vak
LDA#1:STA razz
LDA movsp:CMP#10:BNE NK2
JSR moovrite

.NK2

JSR clear

JSR winda
JSR standup

JSR boxes
JSR badeddy
JSR eddy
JSR tnt
JSR dynamite
JSR boom

JSR mines

JSR bonus
LDX#5:LDA#1:JSR add1

LDA deeda:BNE NK5
LDA#&81:LDX#(&100-74):LDY#&FF:JSR&FFF4:CPX#&FF:BNE NK5
LDA adder:BNE NK5
LDA edd:SEC:SBC#8:TAX
LDA XVEL,X:STA xvel
LDA YVEL,X:STA yvel
LDA YPUZ,X:TAY
LDA XPUZ,X:TAX:JSR bulla1

.NK5
JSR bullets
JSR BAKMOOV
LDA dedED:CMP#16:BCC jGAME:JMP scoop:.jGAME
JMP Game

.vc BRK:.VVV BRK
.XVEL EQUB4:EQUB4:EQUB4:EQUB4:EQUB2
.YVEL EQUB0:EQUB253:EQUB0:EQUB3:EQUB6
.XPUZ EQUB92:EQUB88:EQUB90:EQUB88:EQUB86
.YPUZ EQUB181:EQUB183:EQUB188:EQUB195:EQUB200
.BAKMOOV
LDX#0

.BAKLOOP
LDA&3B60,X:STA&5D20,X
LDA&3CA0,X:STA&5E60,X
LDA&3DE0,X:STA&5FA0,X
LDA&3F20,X:STA&60E0,X
LDA&4060,X:STA&6220,X
LDA&41A0,X:STA&6360,X
LDA&42E0,X:STA&64A0,X
LDA&4420,X:STA&65E0,X
LDA&4560,X:STA&6720,X
LDA&46A0,X:STA&6860,X
LDA&47E0,X:STA&69A0,X
LDA&4920,X:STA&6AE0,X
INX:CPX#0:BNE BAKLOOP
RTS:.mvr BRK:.mcow BRK


.clear
LDX#0:LDA#15

.CLRLOOP
LDA brick:STA&3B60,X:STA&3CA0,X:STA&3DE0,X:STA&3F20,X:STA&4060,X:STA&41A0,X:STA&42E0,X
INX
LDA brick+1:STA&3B60,X:STA&3CA0,X:STA&3DE0,X:STA&3F20,X:STA&4060,X:STA&41A0,X:STA&42E0,X
INX
LDA brick+2:STA&3B60,X:STA&3CA0,X:STA&3DE0,X:STA&3F20,X:STA&4060,X:STA&41A0,X:STA&42E0,X
INX
LDA brick+3:STA&3B60,X:STA&3CA0,X:STA&3DE0,X:STA&3F20,X:STA&4060,X:STA&41A0,X:STA&42E0,X
INX:CPX#0:BNE CLRLOOP
LDX#0:LDA#240
	
.CLRLOOP1A
	STA&4420,X
	INX:CPX#0:BNE CLRLOOP1A
	LDX#0:LDA#0
	
.CLRLOOP1
	8/STA&4560,X:STA&46A0,X:STA&47E0,X:STA&4920,X
	INX:CPX#0:BNE CLRLOOP1
	LDA adder:BEQ mizbr
	LDA dep:‚#1:STA dep:BNE mizbr
	LDA brick:‚#&55:STA brick
	LDA brick+2:‚#&55:STA brick+2
	.mizbr RTS:.dep BRK:.pozzy BRK
	.brick EQUB&1E:EQUB&F0:EQUB&4B:EQUB&F0
.crate
	EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
	EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
	EQUB1:EQUB1:EQUB2:EQUB0:EQUB0
	EQUB0:EQUB4:EQUB4:EQUB0:EQUB0
	EQUB0:EQUB1:EQUB1:EQUB1:EQUB2
	EQUB0:EQUB0:EQUB4:EQUB0:EQUB1
	EQUB1:EQUB1:EQUB0:EQUB0:EQUB0
	EQUB2:EQUB2:EQUB0:EQUB0:EQUB1
	EQUB0:EQUB5:EQUB5:EQUB5:EQUB0
	EQUB0:EQUB4:EQUB4:EQUB1:EQUB1
	EQUB0:EQUB0:EQUB0:EQUB0:EQUB1
 !EQUB0:EQUB2:EQUB1:EQUB2:EQUB0

!EQUB0:EQUB0:EQUB0:EQUB5:EQUB5
!EQUB0:EQUB0:EQUB2:EQUB1:EQUB1
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0

.crate1
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB4:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB3:EQUB1:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB2:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB5:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB2:EQUB1:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB1:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB5:EQUB0
!EQUB0:EQUB0:EQUB4:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0
!EQUB0:EQUB0:EQUB0:EQUB0:EQUB0


.neepx BRK:.neepy BRK:.neepa BRK
.culta LDA#52:STA neepa
.OOOO JSR yzett
INC neepa:LDA neepa:CMP#56:BCC OOOO
LDA dog:BNE dogg1
LDA#200:JSR del

.splink DEC neepa
JSR clear:JSR winda:JSR boxes

JSR yzett
LDA neepa:CMP#53:BCS splink
LDX#40:LDY#190:LDA#56:JSR R%

.dogg1
LDA#10:JSR del
RTS

.yzett LDA#247:STA neepy
.loop1n LDA#16:STA neepx
.loop2n
LDX neepx:LDY neepy:LDA neepa:JSR R%
LDA neepx:CLC:ADC#8:

0xC8D8:

LDA adder:CMP#254:BNE nayck1
LDA bx,X:BEQ jjj:CMP#200:BCC naydec
.jjj LDA#0:STA bon,X
JMP naydec
.nayck1
LDA bx,X:CMP#145:BCC naydec
LDA#0:STA bon,X
.naydec

INX:CPX#12:BCC deccaloop:RTS
.flik EQUB5:EQUB15:EQUB16:EQUB27:EQUB4:EQUB9:EQUB16:EQUB27:EQUB2:EQUB13:EQUB16:EQUB

0xF900:

A&8BF:LDX#0:.LOXX LDA score,X:STA &8B8,X:INX:CPX#6:BCC LOXX:LDA#100:JSR del:LDA#200:JSR del:LDX#0:.CFT LDA vdq,X:JSR&FFEE:INX:CPX#6:BCC CFT:RTS
.vdq EQUB28:EQUB3:EQUB17:EQUB16:EQUB15:EQUB12
.fifteen EQUB&11:EQUB&02:EQUB&11:EQUB&80:EQUB&1A:EQUB&1F:EQUB&04:EQUB&0A:EQUB&52:EQUB&45:EQUB&50:EQUB&4C:EQUB&41:EQUB&59:EQUB&28:EQUB&59:EQUB&2F:EQUB&4E:EQUB&29:EQUB&0A:EQUB&0D

0xF900:

=&1100
o%=P%:bufa=&7100:scr=&5800+40
bak=&11E0:map=&2E00:allow=&5700:chz=&5740:menxy=&5200:mbuf=&57C0:buls=&53C0:bbul=&53D8
tp=&90:R=&FFEE:X=&FFF4
CX%=0 ¸ 3 ˆ2:P%=o%

:OPT X%
G%
 LDA#6:STA&FE00:LDA#20:STA&FE01
 LDA#7:STA&FE00:LDA#30:STA&FE01
 LDA#&1D:STA&FE4E
LDX#0:.LLOOWW LDA cooler,X:STA&942,X:INX:CPX#14:BCC LLOOWW
.restart
LDX#0:.LOZZ LDA &8B8,X:STA score,X:INX:CPX#6:BCC LOZZ:LDA&8BF:STA lives
 JSRsetvar
 JSRsetscr
 JSRpsco

.mloop
.loop
 JSRfx19:JSRfx19
 JSRkeys:JSRfire
 JSRchwalk
 JSRwalk:JSRmove
 JSRmveyou
 JSRdraw
 JSRusegun:JSRbulon
 JSRbbon

 JSRmenon

 JSRruhit
 JSRhitbad
 JSRyou
 JSRupdate
 JSRpsco
 
 LDAcdir+2:CMP#&AA:BEQwin
 LDAlives:BEQlose
 INCglap
 JMPloop
.yess JMP restart

 .lose
LDX#0:.vlp00 LDA fifteen,X:JSR&FFEE:INX:CPX#&15:BCC vlp00
.loopaa:LDA#&81:LDX#(&100-69):LDY#&FF:JSR&FFF4:CPX#&FF:BEQ yess:LDA#&81:LDX#(&100-86):LDY#&FF:JSR&FFF4:CPX#&FF:BEQ noo:JMP 
 

RUN
 *FX178,0,0
?&8B8=1:?&8B9=2:?&8BA=3:?&8BB=4:?&8BC=5:?&8BD=6:?&8BF=2

*TV0 1
5:o23;8202;0;0;0;
*L.ALLBAK 11E0
*L.MEN 2860
*L. MAP 2E00
 ô &3600
*L. MENPOS 5200
*L. MESS 5260
*L. VV 52B0
*L.swopcol 5400
*L. MASK 5500
*L. REVTAB 5600
*L.mveNUM 5700
*L.SCR 6C00
*FX19
*DIR
*DIR AX*.TAPE
*S. GAME3 1100 5800 4174
V I%
V G%
pook:BNE DLLD:RTS:.pook BRK




.setscr LDY#0:STY&70:LDA#&58:STA&71:LDA#&14:STA&72:LDA#&F0:.ll

sh:LDA#64:STAmapxy:LDA#20:S

0x11605:

LDX#&FF:LDY#&24:JSRchk:STAcdir:LDX#2:LDY#&24:JSRchk:STAcdir+1
 LDX#0:LDY#&20:JSRchk:STAcdir+2:LDX#0:LDY#&28:JSRchk:STAcdir+3:RTS
 .chk STY0:TXA:CLC:ADCxy+1:LDY#&FF:.sk INY:SEC:SBC#3:BCSsk:TYA:ADCmapxy+1:TAX:LDAxy:CLC:ADC0:LSRA:LSRA:LSRA:LSRA:LSR

0x11BBE:

LDX#&9E:JSRke:STYpk:LDX#&BD:JSRke:STYpk+1:LDX#&B7:JSRke:STYpk+2:LDX#&97:JSRke:STYpk+3:LDX#&B6:JSRke:STYpk+4:LDX#&8F:JSRke:STYpk+5:RTS:.ke LDA#129:LDY#&FF:JMPX
 .fire LDX#0:LDApk+4:BEQnu:CMPoldf:BEQnu:INX:.nu STXshoot:STAoldf:RTS
 .move LDA#0:STAbxa:STAbya:LDY#2:LDAxy:BNEqu:STYudad:LDA#&FF:STAudad+1:BNEtrlr:.qu CMP#

0x4882:

PY2:BNEsmc0:LDA0:CLC:ADC#192:STA0:BCCna:INC1:.na DEC3:BPLlp0:RTS

0x15B5E:

cr=&5800+40:cdat=&1200:ctab=cdat+&410:dtab=&16D0:ddat=dtab+&50:droom=&1E00:mapz=&5300:tp=&80:ccol=&F0
fmap=&90:R=&FFEE:X=&FFF4
lkofs=&3900:winf=&3940:objs=&3958:obsin=&39B8:numz=&3730:chz=&3830:mask=&5500
X%=0 ¸ 3 ˆ2:P%=o%
[:OPT X%
.G%
LDA#12:JSR&FFEE:LDA#26:JSR&FFEE
LDA#6:STA&FE00:LDA#22:STA&FE01:LDA#7:STA&FE00:LDA#30:STA&FE01:LDA#&1D:STA&FE4E
LDX#0:.LLOOWW LDA cooler,X:STA&942,X:INX:CPX#14:BCC LLOOWW
.restart
LDX#0:.LOZZ LDA &8B8,X:STA score,X:INX:CPX#6:BCC LOZZ:LDA&8BF:STA lives
 JSRsethous
 JSRsetvar
 JSRsetscr
 .mloop
\"‚TING SOUNDY
LDA#2:JSR noise
 JSRpsco
 JSRsetflr:JSRlook
 JSRpnumz:LDA#0:STAglap+1
.loop
 LDA#&FF:STAshoot+1
 JSRkeys:JSRfire:JSRmve:JSRlook
 JSRclb:JSRdraw
 LDAwer:BNEee:LDAlft:BNEmloop:.ee
 JSRupdate:JSRpoint
 JSRfx19:JSRfx19:JSRfx19
 JSRhitthem
 JSRshsound

 INCglap:LDA#1:STAglap+1

 LDAmr:BEQjp:

0x15F8E:

SRadsc
:LDX#0:.vlp22 LDA&4F4E,X:JSR&FFEE:INX:CPX#&40:BCC vlp22
JSR nikk:LDX#run1 ƒ 256:LDY#run1 
 256:JMP&FFF
 

t"‚RUN
 *FX178,0,0
?&8B8=1:?&8B9=2:?&8BA=3:?&8BB=4:?&8BC=5:?&8BD=6:?&8BF=1

*TV0,1
k5:o23;8202;0;0;0;19,2,6;0;
*L. flrdat 5300
*L. MASK 5500
*L. REVTAB 5600
*L. SCR 5800
*L.CORINFO 1200
*L.RO18x80 1E00
*L.ALLOBJ  1F00
*L.NUMZCOM 3730
*L.inf 3900
*L. MESS 4F00
 t &3830
*FX19
*DIR
*DIR AX*.TAPE
*S. GAME4 1100 5800 418B
 I%
 G%
dell STA pook:.dllp LDA#19:JSR&FFF4:DEC pook:LDA pook:BNE dllp:RTS:.pook BRK
.nikk LDX#0:.LOXX LDA score,X:STA &8B8,X:INX:CPX#6:BCC LOXX:LDA#100:JSR dell:LDA#200:JSR dell:LDX#0:.LOtt LDA peep,X:JSR&FFEE:INX:CPX#6:BCC LOtt:RTS
.peep EQUB28:EQUB3:EQUB18:EQUB16:EQUB16:EQUB12
 
 \"ƒHERE IS SOUND
 .shsound LDAshoot:BEQ noshotta
 LDA#1:JMP noise
.noshotta

0x16700:

#&97:JSRke:STYpk+3:LDX#&B6:JSRke:STYpk+4:LDX#&8F:JSRke:STYpk+5:RTS:.ke LDA#129:LDY#&FF:JMPX
.fire LDX#0:LDApk+4:BEQnu:CMPoldf:BEQnu:INX:.nu STXshoot:STAoldf:RTS
.look LDAdir:ASLA:TAY:LDAldor,Y:STAdir+1:LDAldor+1,Y:STAdir+2:TYA:ASLA:ASLA:ASLA:ADC#15:

0x168C0:

LDAwer:BNEmove:LDXdir:LDApk:BEQl0:DEX:.l0 LDApk+1:BEQl1:INX:.l1 TXA:€#3:CMPdir:BEQmove:STAdir:.ner RTS
.move LDX#0:LDApk+2:BEQl2:INX:.l2 LDApk+3:BEQl3:DEX:.l3 TXA:BNEl:RTS:.l STX2:BMIoxk:LDAwer:BNEni:.oxk INX:TXA:ASLA:„Adir:ASLA:TAY:LDAadz,Y:CLC:ADCxy:STAtxy:LDAadz+1,Y:CLC:ADCxy+1:STAtxy+1
 LDXtxy:LDYtxy+1:JSR

0x170A5:

9:BNEok4:LDY#11:.ok4 JSRtoppa:LDY#19:LDAinfo+11:BNEok8:LDY#27:.ok8 JSRtoppa:LDY#3:LDAinfo+13
 
t"‚BEVERLY HILLS COP
t"‚1.6.90 (c) Tynesoft
t"Author : R. SEEVAS & R. SONNE
*OPT1 2
b1,1,0,0,0,30,40,50,100,-10,-3,-3,126,50:b3,2,0,0,0,0,0,0,127,-1,0,-1,100,0
b2,1,5,0,0,25,0,0,126,-1,-60,-80,110,0
 F
*TV0,1
*FX200,3
*FX178,0
b7:p'''"Loading ....ƒPlease Wait!"
o28,0,22,36,18
*RUN"BEVLOAD"