;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; ; Las Vegas Super-Slot, (c) 1980 by David W. Friedman ; ; for the ; ; Vector Graphics Flashwriter I Video Board ; ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; ; Copyright 1980 (c) by: David W. Friedman ; 2-8-24 Okubo, Shinjuku-Ku ; Tokyo, Japan 160 ; ; From an article: Dr. Dobb's Journal ; Number 50, November/December 1980 ; Volume 5, Issue 10 ; Pages 10-22 ; ; Entered by: Kelly Smith, MP/M-net (tm) ; 805-527-9321 (Modem, 300 Baud) ; true equ -1 ; define true false equ not true; define false printer equ false ; define printer (used) base equ 0 ; system base address wmstt equ base bdos equ base+5 ; bdos entry address fcb equ base+5ch; file control block dmad equ base+80h; dma address tpa equ base+100h ; transient program area setbdos equ 13 ; drive number A, default dma address openf equ 15 ; open file function closef equ 16 ; close file function deletef equ 19 ; delete file function readf equ 20 ; read file function writef equ 21 ; write file function creatf equ 22 ; create file function vid equ base+0d000h ; base of video memory vidh equ vid/100h attb equ vid+400h ; base of video attribute memory attbh equ attb/100h vidndh equ vidh+8 lnlgth equ 64 ; video screen length scrnht equ 16 ; video screen height blkon equ 8080h blkoff equ 0 ctrl equ 00011111b ; assembler control key mask crmk equ ctrl and 'M' bkspmk equ ctrl and 'H' belmk equ ctrl and 'G' org tpa ; transient program start address start: lxi sp,stkptr call initiz main: call ready call keytest call pcread cpi '$' cz collect cpi ctrl and 'E' cz exit cpi ctrl and 'T' cz test cpi ctrl and 'Z' cz zero cpi ctrl and 'P' cz plays cpi crmk jnz main call accept jz main call nready call operate jnc main call payjack call svjack jmp main exit: lxi h,exitstg+1 call match mvi a,crmk rnz call erase call svjack jmp wmstt ; return to CP/M operate:call charge xra a sta value call showin call crank call speed mvi a,12 ; minimum initial spin time 4 call spin1 call winchk call showin credout:lda value ora a ; carry = 0 rz mov e,a lhld credtv bump: inx h shld credtv call bksout push h push d call shocred pop d pop h call timerx dcr e jnz bump call spcout ; at least 1 space if big payback lda value sui 250 cmc ret test: lxi h,tstmch+1 call match mvi a,crmk rnz lxi d,tststg call ready1 lxi h,100 call charge1 test1: mvi h,10 test2: call timerx dcr h jnz test2 lxi h,random inr m call pcin ora a jz test3 call pcread cpi crmk jnz test2 lxi h,0 jmp charge1 test3: call accept rz call operate jmp test1 zero: lxi h,zerostg+1 call match mvi a,crmk rnz lxi h,0 shld recipt jmp plays1 plays: lxi h,playstg+1 call match mvi a,crmk rnz plays1: lxi d,rcptstg lxi h,vid+7*lnlgth+49 call shostg call nready lhld recipt call shocrd1 call svjack plays2: call pcread cpi crmk jnz plays2 jmp shocred match: call pcread cmp m inx h rnz mov a,m ora a jnz match ret initiz: call erase lxi h,vid+0*lnlgth+0 lxi d,payoff call shostg lxi h,vid+14*lnlgth+0 call shostg lxi b,blkon+100h*4+12 ; 4 X 12 area lxi h,attb+6*lnlgth+0 call boxy lxi h,attb+6*lnlgth+48 call boxy lxi b,blkon+100h*4+36 ; 4 X 36 area lxi h,attb+10*lnlgth+12 mvi a,8 ; half intensity shading call graph lxi h,attb+2*lnlgth+12 push h call graph pop h push h lxi b,blkon+100h*12+10 ; 12 X 10 area call graphon pop h call boxy lxi d,(25-12) or (38-25) ; corner delta dad d push h call graphon pop h call boxy dad d push h call graphon pop h call boxy lxi h,attb+8*lnlgth+12 lxi b,0302h ; B = 3 columns, C = horizontal line graphics ticks: push h mov a,c ora m mov m,a mov a,l adi 9 ; 10-1 = box width-1 mov l,a mov a,c ora m mov m,a pop h dad d dcr b jnz ticks lxi h,bell ; initial reel display shld reel3p lxi h,bell1x shld reel2p lxi h,bellx shld reel1p lxi h,1010h ; last 16 counts = 4 lines shld reel1s shld reel2s ; includes "reels3" call spin ; applies pattern call crank ; applies handle lxi h,0 shld value shld credtv shld recipt call showin call shocred call ldjack jp shojack lxi h,100 init2: shld jackpot shojack:call belout call timerx lxi d,jackstg lxi h,vid+3*lnlgth+0 call shostg lxi d,vid+4*lnlgth+3 lhld jackpot mvi b,1 jmp sho5dig keytest:call pcin ; returns A = 1, if key waiting ora a inx b jnz keytest mov a,c sta random ret collect:call accept mvi a,crmk rnz ; credits remaining lxi d,20 lhld recipt dad d shld recipt lhld credtv dad d push d call charge1 pop d mov a,e jmp pljack payjack:lhld jackpot lxi d,-10 dad d jnc paid shld jackpot lhld credtv lxi d,10 dad d call charge1 call shojack lxi d,jackstg lxi h,vid+8*lnlgth+0 push h call shostg call spcout call bksout call bksout call timerx pop h call shostg ; "njackstg" follows "jackstg" jmp payjack paid: lxi h,0 jmp init2 accept: lhld credtv mov a,h ora l ret crank: lxi h,attb+2*lnlgth+55 push h call handof lxi h,attb+9*lnlgth+55 push h call handon pop h call timerx call crout call timerx call handof pop h handon: lxi b,blkon+100h*2+8 ; 2 X 8 box call boxy lxi d,2*lnlgth+6 ; lever relative position dad d lxi b,blkon+100h*15+2 ; full X 2 box jmp boxy handof: lxi b,blkoff+100h*2+8 call boxy lxi d,2*lnlgth+6 dad d lxi b,blkoff+100h*15+2 boxy: push d push h push h push b call gphrhz ; horizontal lines pop b push b ora a cz boxy2 ; if not past right pop b pop h push b call boxy2 ; left vertical lines pop b push b call gphrhz ; bottom horizontal lines pop b pop h pop d ret boxy2: mvi a,80h ana c ; pickup blkon/off condition ori 1 ; only 1 wide needed mov c,a mvi a,0100b ; verticle line graphics jmp graph graphon:mvi a,0001b ; graphics bit graph: push d push b push psw lxi d,lnlgth graph1: mov a,b ani scrnht-1 jz graphed ; if no more pop psw push psw push b push h call grapher pop h pop b dad d mov a,h cpi vidndh jnc graphed ; if past bottom dcr b jmp graph1 graphed:pop psw pop b pop d ret gphrhz: mvi a,0010b ; horizontal line graphics grapher:mov b,a graphr1:mov a,c ani lnlgth-1 rz ; if no more mov a,b cma ; create bit mask ana m mov m,a mov a,c ora a jp grphof ; if blkoff, then done mov a,b ora m mov m,a ; set bit to 1 grphof: inx h ; next byte mov a,l ani lnlgth-1 mov a,h ; A reg. non-zero on return, if past right edge rz dcr c jmp graphr1 speed: lxi d,reel1s lhld random ; in L reg. mvi a,00110000b ana l ori 80h stax d ; range 80, 90, a0, b0 inx d ; reel2s mvi a,00011000b ana l ori 0c0h stax d ; range c0, c8, d0,d8 inx d ; reel3s mvi a,00001100b ana l ori 10h mov h,a ; random+1 range 10, 14, 18, 1c shld random ; specified in H reg. (random+1) ori 0f0h stax d ret spin: mvi a,4 ; 4 line/pattern spin1: sta spincnt lxi b,reel1s lhld reel1p lxi d,vid+2*lnlgth+12 call spiner shld reel1p lxi b,reel2s lhld reel2p lxi d,vid+2*lnlgth+25 call spiner shld reel2p lxi b,reel3s lhld reel3p lxi d,vid+2*lnlgth+38 call spiner shld reel3p lda spincnt dcr a jnz spin1 call pcin ora a jnz stopkey stopcmp:lda reel3s lhld reel1s ; reel2s in H reg. ora h ora l jnz spin ret stopkey:call pcread lhld random+1 ; specification in L reg. lxi d,reel1s sui '1' mvi h,0 jz stopky1 dcr a inx d ; reel2s mvi h,4 jz stopky1 ; if '2' dcr a jnz spin ; if not '3' inx d ; reel3s mvi h,8 stopky1:ldax d cpi 11h jc spin ; if now stopping mov a,h ora l stax d ; ranges from 10h to 1ch mvi a,8 ; minimum time between stop keys jmp spin1 spiner: ldax b spiner1:ora a jz timer1 ; keep speed constant dcr a stax b cpi 11h jnc resetp ; if not slowing ani 3 cpi 1 jnc timer1 ; fill 3/4ths of time call spcout ; sound effects resetp: mov a,m cpi 40h ; cherry marker jc resetp1 lxi h,cherryy resetp1:push d lxi d,-10 ; 10 bytes/line dad d pop d push h xchg call mvptn pop h ; restore new pattern position for save ret mvptn: lxi b,100h*10+12 ; 10 wide X 12 high mvptn2: push b push h mvptn1: ldax d mov m,a inx h inx d dcr b jnz mvptn1 pop h pop b push d lxi d,lnlgth dad d pop d ; next line, same horizontal position dcr c jnz mvptn2 ret timerx: mvi a,180 ; about right for me... jmp timer timer1 mvi a,8 ; run a bit faster (9 is exact) timer: push h mov h,a timea: dcr a jnz timea dcr h jnz timea pop h ret winchk: xra a sta value lxi h,vid+6*lnlgth+13 call bytina mov e,a lxi h,vid+6*lnlgth+26 call bytina mov d,a lxi h,vid+6*lnlgth+39 call bytina cpi 7 ; bar code jnz notbar cmp d jz winer3 ; any+2 bars, is o.k. mov a,e ; reel 3's code = 1's notbar: cmp e ; r3 verses r1 jnz lowchk cmp d ; r3 verses r2 jnz lowchk winer3: mvi d,0 lxi h,paytbl dad d mov a,m ; table+code = win value jmp strval lowchk: mov a,e cpi 1 ; cherry's code rnz cmp d ; r1 verses r2 mvi a,2 ; just for first cherry jnz strval mvi a,5 ; for both cherries strval: sta value cpi 250 rz ora a jz addjak ; if lemon, won cpi 14 rc pljack: rrc rrc rrc ani 0fh rz addjak: mov e,a mvi d,0 inx d lhld jackpot dad d ; adds from 1 to 13 on jackpot jmp init2 bytina: mvi a,01000000b ; non-display code bit mov c,a ana m rlc mov b,a mov a,c inx h ana m ora b rlc mov b,a mov a,c inx h ana m ora b rlc rlc ; adjust to lowest bits ret charge: lhld credtv dcx h charge1:shld credtv shocred:lxi d,kredit lxi h,vid+7*lnlgth+49 call shostg lhld credtv shocrd1:lxi d,vid+8*lnlgth+52 mvi b,1 ; all zeros show jmp sho5dig showin: lxi d,winstg lxi h,vid+7*lnlgth+2 call shostg lxi d,vid+8*lnlgth+2 lhld value mvi b,0 ; leading zeros suppressed sho5dig:push d lxi d,-10000 ; X = 10000 divisor call divx pop d stax d inx d push d lxi d,-1000 call divx pop d stax d inx d push d lxi d,-100 call divx pop d stax d inx d push d lxi d,-10 call divx pop d stax d inx d push d lxi d,-1 call divx pop d cpi ' ' jnz lastd mvi a,'0' ; show at least 1 disgit, if zero lastd: stax d ret divx: mvi c,'0'-1 divx1: inr c dad d jc divx1 mov a,e cma mov e,a mov a,d cma mov d,a inx d ; two's complement in D reg. dad d mov a,c ora b mov b,a ; set suppress flag cpi '0' jnz nlzero mvi c,' ' ; if only zeros to here nlzero: mov a,c ret ldjack: mvi a,5 ldjak1: sta trials call setdsk call setfcb call open rm call read jnz tryagn lhld dmad shld jackpot lhld dmad+2 shld recipt jmp close tryagn: lda trials dcr a jnz ldjak1 dcr a ret svjack: mvi a,5 svjack1:sta trials call setdsk call setfcb call delete call create cpi 55 rnc lhld jackpot shld dmad lhld recipt shld dmad+2 call write jnz retry call close rp retry: lda trials dcr a jnz svjack1 ret mvzfcb: lxi b,21h lxi h,fcb mvcybm: push h mvcybm1:mov m,b inx h dcr c jnz mvcybm1 pop h ret setfcb: call mvzfcb lxi d,jackfl inx h jmp shostg nready: lxi d,nredy jmp ready1 ready: lxi d,redy ready1: lxi h,vid+11*lnlgth+2 shostg: ldax d inx d ; now to skip stop on return ora a rz mov m,a inx h jmp shostg erase: mvi a,vidndh lxi h,vid erase1: mvi m,' ' inx h cmp h jnz erase1 ret pcin: push b mvi b,6 ; low address byte of bios "console status" jmp caler pcread: push b mvi b,9 ; low address byte of bios "console input" jmp caler belout: mvi a,belmk jmp prchr spcout: mvi a,' ' jmp prchr bksout: mvi a,bkspmk jmp prchr crout: mvi a,crmk prchr: push b if printer mvi b,0fh ; low address byte of bios "list" endif if not printer mvi b,0ch ; low address byte of bios "conout" endif caler: push d push h mov c,a ; routines expect value in C reg. lhld wmstt+1 ; H&L regs. = bios warmboot = xx03h mov l,b lxi d,rtnbak push d pchl ; ; BIOS routine executes here ; rtnbak: pop h pop d pop b ret setdsk: mvi a,setbdos jmp abdos delete: mvi a,deletef jmp abdos create: mvi a,creatf jmp abdos write: mvi a,writef jmp abdos close: mvi a,closef jmp abdos open: mvi a,openf jmp abdos read: mvi a,readf abdos: mov c,a lxi d,fcb call bdos push a lda attb-lnlgth cpi 'B' jnz abdos1 call erase lxi d,dskerr lxi h,vid+6*lnlgth+9 call shostg jmp wmstt ; bail out to CP/M abdos1: pop a ora a ret dskerr: db 'Problem with drive A: disk, returning to CP/M',0 jackstg:db '$' or 80h,' ' or 80h,'J' or 80h db 'A' or 80h,'C' or 80h,'K' or 80h db 'P' or 80h,'O' or 80h,'T' or 80h db ' ' or 80h,'$' or 80H,' ' or 80h,0 njakstg:db ' ' nredy: db ' ',0 redy: db ' ' or 80h,'R' or 80h,'E' or 80h db 'A' or 80h,'D' or 80h,'Y' or 80h db ' ' or 80h,0 jackfl: db 'jackpotslot',0 tststg: db 'Testing',0 kredit: db '$ Credit $',0 rcptstg:db ' Receipts ',0 winstg: db '$ Wins $',0 exitstg:db ctrl and 'E',ctrl and 'X',ctrl and 'I',ctrl and 'T',0 zerostg:db ctrl and 'Z',ctrl and 'E',ctrl and 'R',ctrl and 'O',0 tstmch: db ctrl and 'T',ctrl and 'E',ctrl and 'S',ctrl and 'T',0 playstg:db ctrl and 'P',ctrl and 'L',ctrl and 'A',ctrl and 'Y',0 ; ; paytable, where: ; ; lem=0, cht=10, org=10, plm=14, bel=20, $$$=50, mel=100, bar=250 ; paytbl: db 0,10,10,14,20,50,100,250 payoff: db ' All bars= 250+jackpot ' db ' Las Vegas ' db 'Melon+ M/Bar+M/Bar=100 ' db '$$$$+$$/Bar+$$/Bar=50 ' db ' Super-Slot ' db 'Bell+BL/Bar+BL/Bar=20',0 db ' Plum+PL/Bar+PL/Bar=14 ' db ' (c) 1980 ' db 'Orange+0/Bar+0/Bar=10 ' db 'Cherry+C/Bar+C/Bar=10 ' db ' Dave Friedman ' db 'C+C+Any=5 C+Any=2',0 cherry: db 40h db 00h db 00h db 40h db 00h db 00h db 00h db 00h db 03h db 10h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 01h db 1eh db 00h db 00h db 09h db 1bh db 1fh db 2dh db 37h db 1fh db 3fh db 19h db 08h db 00h db 26h db 36h db 36h db 20h db 04h db 36h db 36h db 34h db 20h db 00h db 40h db 49h db 12h db 1bh db 19h db 09h db 08h db 00h db 00h db 01h db 34h db 0ch db 10h db 04h db 3bh db 2dh db 2eh db 3bh db 08h db 06h db 08h db 02h db 05h db 01h db 3ch db 2dh db 1bh db 1eh db 20h db 00h db 04h db 22h db 12h db 36h db 34h db 24h db 20h db 00h db 00h bell: db 00h db 40h db 12h db 12h db 13h db 1ah db 12h db 12h db 00h db 00h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 00h db 00h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 19h db 00h db 00h db 00h db 04h db 24h db 24h db 26h db 34h db 24h db 24h db 20h db 00h db 01h db 49h db 49h db 49h db 09h db 09h db 09h db 09h db 09h db 08h db 07h db 02h db 11h db 38h db 1bh db 18h db 38h db 12h db 07h db 38h db 07h db 06h db 30h db 38h db 1bh db 18h db 38h db 3bh db 2eh db 38h db 04h db 24h db 24h db 24h db 24h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 40h db 01h db 09h db 09h db 09h db 08h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 3fh db 3fh db 3bh db 00h db 00h db 37h db 3fh db 3dh db 3fh db 3fh db 3fh db 3fh db 34h db 00h db 00h db 00h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 09h db 09h db 09h db 00h db 00h db 00h db 1bh db 1fh db 24h db 3fh db 3fh db 3fh db 30h db 00h db 00h db 0fh db 3fh db 3fh db 12h db 12h db 16h db 24h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 40h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 01h db 0bh db 1bh db 3fh db 3fh db 3bh db 18h db 00h db 00h db 02h db 3eh db 3fh db 3fh db 3eh db 34h db 20h db 00h db 00h db 02h db 34h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 01h db 09h db 09h db 09h db 08h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 3fh db 3fh db 3bh db 00h db 00h db 37h db 3fh db 3dh db 3fh db 3fh db 3fh db 3fh db 34h db 00h db 00h db 00h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 00h db 00h db 40h db 00h db 42h db 1ah db 02h db 1ah db 00h db 00h db 00h db 00h db 00h db 3ch db 24h db 3ch db 24h db 3ch db 24h db 20h db 00h db 00h db 00h db 24h db 24h db 3ch db 24h db 3ch db 24h db 38h db 00h db 00h db 00h db 24h db 24h db 36h db 36h db 34h db 24h db 20h db 00h db 00h db 00h db 40h db 41h db 09h db 09h db 08h db 00h db 00h db 00h db 00h db 00h db 16h db 24h db 00h db 00h db 2dh db 3ah db 00h db 00h db 00h db 00h db 00h db 00h db 02h db 34h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 04h db 20h db 00h db 00h db 00h db 00h db 00h db 40h db 12h db 12h db 13h db 1ah db 12h db 12h db 00h db 00h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 00h db 00h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 19h db 00h db 00h db 00h db 04h db 24h db 24h db 26h db 34h db 24h db 24h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 09h db 09h db 09h db 00h db 00h db 00h db 1bh db 1fh db 24h db 3fh db 3fh db 3fh db 30h db 00h db 00h db 0fh db 3fh db 3fh db 12h db 12h db 16h db 24h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 00h db 00h db 00h db 00h db 03h db 10h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 01h db 1eh db 00h db 00h db 09h db 1bh db 1fh db 2dh db 37h db 1fh db 3fh db 19h db 08h db 00h db 26h db 36h db 36h db 20h db 04h db 36h db 36h db 34h db 20h db 00h db 40h db 49h db 12h db 1bh db 19h db 09h db 08h db 00h db 00h db 01h db 34h db 0ch db 10h db 04h db 3bh db 2dh db 2eh db 3bh db 08h db 06h db 08h db 02h db 05h db 01h db 3ch db 2dh db 1bh db 1eh db 20h db 00h db 04h db 22h db 12h db 36h db 34h db 24h db 20h db 00h db 00h bellx: db 00h db 40h db 12h db 12h db 13h db 1ah db 12h db 12h db 00h db 00h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 00h db 00h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 19h db 00h db 00h db 00h db 04h db 24h db 24h db 26h db 34h db 24h db 24h db 20h db 00h db 00h db 40h db 00h db 42h db 1ah db 02h db 1ah db 00h db 00h db 00h db 00h db 00h db 3ch db 24h db 3ch db 24h db 3ch db 24h db 20h db 00h db 00h db 00h db 24h db 24h db 3ch db 24h db 3ch db 24h db 28h db 00h db 00h db 00h db 24h db 24h db 36h db 36h db 34h db 24h db 20h db 00h db 00h db 00h db 40h db 40h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 01h db 0bh db 1bh db 3fh db 3fh db 3bh db 18h db 00h db 00h db 02h db 3eh db 3fh db 3fh db 3eh db 34h db 20h db 00h db 00h db 02h db 34h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 01h db 09h db 09h db 08h db 00h db 00h db 00h db 00h db 00h db 16h db 24h db 00h db 00h db 2dh db 3ah db 00h db 00h db 00h db 00h db 00h db 00h db 02h db 34h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 04h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 01h db 09h db 09h db 09h db 08h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 3fh db 3fh db 3bh db 00h db 00h db 37h db 3fh db 3dh db 3fh db 3fh db 3fh db 3fh db 34h db 00h db 00h db 00h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 00h db 00h db 00h db 00h db 03h db 10h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 01h db 1eh db 00h db 00h db 09h db 1bh db 1fh db 2dh db 37h db 1fh db 3fh db 19h db 08h db 00h db 26h db 36h db 36h db 20h db 04h db 36h db 36h db 34h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 09h db 09h db 09h db 00h db 00h db 00h db 1bh db 1fh db 24h db 3fh db 3fh db 3fh db 30h db 00h db 00h db 0fh db 3fh db 3fh db 12h db 12h db 16h db 24h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h bell1x: db 00h db 40h db 12h db 12h db 13h db 1ah db 12h db 12h db 00h db 00h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 00h db 00h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 19h db 00h db 00h db 00h db 04h db 24h db 24h db 26h db 34h db 24h db 24h db 20h db 00h db 01h db 49h db 49h db 49h db 09h db 09h db 09h db 09h db 09h db 08h db 07h db 02h db 11h db 38h db 1bh db 18h db 38h db 12h db 07h db 38h db 07h db 06h db 30h db 38h db 1bh db 18h db 38h db 3bh db 2eh db 38h db 04h db 24h db 24h db 24h db 24h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 40h db 01h db 09h db 09h db 09h db 08h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 3fh db 3fh db 3bh db 00h db 00h db 37h db 3fh db 3dh db 3fh db 3fh db 3fh db 3fh db 34h db 00h db 00h db 00h db 24h db 24h db 24h db 24h db 20h db 00h db 00h db 00h db 00h db 00h db 40h db 40h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 01h db 0bh db 1bh db 3fh db 3fh db 3bh db 18h db 00h db 00h db 02h db 3eh db 3fh db 3fh db 3eh db 34h db 20h db 00h db 00h db 02h db 34h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 09h db 09h db 09h db 00h db 00h db 00h db 1bh db 1fh db 24h db 3fh db 3fh db 3fh db 30h db 00h db 00h db 0fh db 3fh db 3fh db 12h db 12h db 16h db 24h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 40h db 01h db 09h db 09h db 08h db 00h db 00h db 00h db 00h db 00h db 16h db 24h db 00h db 00h db 2dh db 3ah db 00h db 00h db 00h db 00h db 00h db 00h db 02h db 34h db 20h db 00h db 00h db 00h db 00h db 00h db 00h db 00h db 04h db 20h db 00h db 00h db 00h db 00h cherryy: db 40h db 00h db 00h db 40h db 00h db 00h db 00h db 00h db 03h db 10h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 01h db 1eh db 00h db 00h db 09h db 1bh db 1fh db 2dh db 37h db 1fh db 3fh db 19h db 08h db 00h db 26h db 36h db 36h db 20h db 04h db 36h db 36h db 34h db 20h db 00h db 40h db 49h db 12h db 1bh db 19h db 09h db 08h db 00h db 00h db 01h db 34h db 0ch db 10h db 04h db 3bh db 2dh db 2eh db 3bh db 08h db 06h db 08h db 02h db 05h db 01h db 3ch db 2dh db 1bh db 1eh db 20h db 00h db 04h db 22h db 12h db 36h db 34h db 24h db 20h db 00h db 00h db 00h db 40h db 12h db 12h db 13h db 1ah db 12h db 12h db 00h db 00h db 00h db 00h db 00h db 1fh db 3fh db 3fh db 3bh db 00h db 00h db 00h db 00h db 00h db 0bh db 3fh db 3fh db 3fh db 3fh db 19h db 00h db 00h db 00h db 04h db 24h db 24h db 26h db 34h db 24h db 24h db 20h db 00h final equ $ stkptr equ final+20*2 trials equ stkptr spincnt equ stkptr reel1s equ stkptr+1 reel2s equ stkptr+2 reel3s equ stkptr+3 reel1p equ stkptr+4 reel2p equ stkptr+6 reel3p equ stkptr+8 value equ stkptr+10 credtv equ stkptr+12 random equ stkptr+14 jackpot equ stkptr+16 recipt equ stkptr+18 end