home *** CD-ROM | disk | FTP | other *** search
/ Serious Magazine 9 / Serious_Magazine_09_2001_Dial_pl_Side_B.atr / sstuff09.lzh / MC.LZH / BDB.ASM next >
Assembly Source File  |  2023-02-26  |  6KB  |  2 lines

  1. * MC - symulator, plansza/reklama¢* Autor: Zenon/DIAL 17.06.2001¢*¢* s_adr wstaw adres melodi CMC¢* m_adr wstaw adres odgrywacza CMC¢¢    opt 32+64+4+2 bez naglowka¢    org $a000¢¢iocb   equ $340¢io_com equ iocb+2¢io_adr equ iocb+4¢io_len equ iocb+8¢chn0   equ 0¢pisz   equ 11¢eol    equ $9b¢ciov   equ $e456¢chn1   equ 16¢open   equ 3¢close  equ 12¢com    equ iocb+2¢adr    equ iocb+4¢len    equ iocb+8¢mod    equ iocb+10¢gett   equ 5¢getb   equ 7¢putb   equ 11¢in     equ 4¢name   equ $06d0¢dlptr  equ $230¢setvbl equ $e45c¢exitvb equ $e462¢vvblkd equ $0224¢kbcode equ $02fc¢border equ $02c8¢vblkd  equ $07¢¢* adresy w module grajacym¢¢s_adr  equ $xxxx  adres melodii¢m_adr  equ $yyyy  adres odgrywacza¢m_init equ m_adr+$03¢m_tact equ m_adr+$06¢voltr1 equ m_adr+$09¢voltr2 equ m_adr+$0a¢voltr3 equ m_adr+$0b¢¢* komendy dla modulu¢¢p_song  equ $00¢p_atpos equ $10¢p_instr equ $20¢p_tempo equ $30¢p_coda  equ $40¢p_break equ $50¢p_cont  equ $60¢p_init  equ $70¢¢* procedura przepisujaca dane z EPROM¢* od adresu $A000 pod $A800¢¢  ldy #0¢  lda #0¢  sta 0¢  sta 2¢  lda #$a0¢  sta 1¢  lda #$60¢  sta 3¢¢trans lda (0),y¢      sta (2),y¢¢  inc 2¢  inc 0¢  bne msb¢  inc 1¢  inc 3¢¢* przepisuje wiecej niz trzeba, ale¢* to po to, by bylo prosciej¢* (przepisuje pelne strony! od a0-b4)¢¢msb lda 1¢    cmp #$b4   nieco na wyrost¢    beq rozp¢    jmp trans¢¢rozp jmp $602a skok do programu¢¢* skok do pamieci RAM i uruchom¢* wlasciwy program¢¢* tu rozpoczyna sie wlasciwy program¢* skok do przepisanej z EPROM do RAM¢* procedury wlasciwego programu¢¢  opt 32+64+4+2¢  org $602a¢¢  lda #0  do plynacego napisu¢  sta 0¢¢* inicjalizuj granie¢¢  ldx <s_adr¢  ldy >s_adr¢  lda #p_init¢  jsr m_init¢¢* graj muzyke¢¢  lda #p_song¢  tax¢  jsr m_init¢¢* inicjalizuj nowe przerwanie¢¢  ldy <play¢  ldx >play¢  lda #vblkd¢  jsr setvbl¢¢* Plansza i czekanie na haslo¢¢pocz  lda #255 klawisz=255¢      sta 764¢      ldy #9¢      lda #$32¢czysc sta name,y  czysc bufor¢      dey¢      bpl czysc¢¢* Nowy DL¢¢  lda <dl¢  sta dlptr¢  lda >dl¢  sta dlptr+1¢¢* Tu czekam na podanie kodu¢¢  ldx #chn0   kanal zero¢  lda #gett   5 czytaj rekord¢  sta com,x   +2 kod operacji¢  lda <name   < bufor nazwy¢  sta adr,x   +4 adres nazwy¢  lda >name   > bufor nazwy¢  sta adr+1,x +5 adres nazwy¢  lda #255    na wyrost¢  sta len,x   +8 rozm.bufora¢  sta len+1,x +9 rozm.bufora¢  jsr ciov    proc.systemowa¢¢* zamiana ASC na INT (spacja 32 na 0)¢¢     ldy #0¢move lda name,y¢     cmp #155¢     beq rowne¢     ora #%00100000  zamiana na¢     and #%10111111  kody INTERN¢     cmp #32¢     bne dal¢     lda #0¢dal  sta haslo+23,y¢     iny¢     cpy #9¢     bne move¢¢* porownanie hasla ze wzorcem¢¢rowne ldy #8¢por   lda name,y¢      cmp wzor,y¢      bne zle2¢      dey¢      bpl por¢¢* pisz DOBRE haslo¢¢    ldy #5¢dob lda dobre,y¢    sta text+7,y¢    dey¢    bpl dob¢¢    lda #0¢    sta 20¢    sta 19¢¢* niech mruga¢¢  lda #0¢  sta 19¢  sta 20¢¢     ldx #50¢czas lda 20¢     cmp #255¢     bne czas¢     dex¢     bpl czas¢¢* skok do systemu po DOBRE haslo¢¢  lda #00    wylacz cartridg'e¢  sta $d500¢¢  jmp $e477  do systemu¢*            zimny start¢¢* haslo nieodpowiednie, czekaj dalej¢¢zle2 ldy #5¢zle1 lda zle,y¢     sta text+7,y¢     dey¢     bpl zle1¢¢* czekaj na OPTION, i prawidlowe¢* haslo¢¢option lda 53279¢       cmp #5¢       bne option¢¢* Kasuj bledne haslo, pisz gwiazdki¢¢      ldy #8¢kasuj lda tlo,y¢      sta haslo+23,y¢      dey¢      bpl kasuj¢¢* gumuj napis ZLY¢¢      ldy #15¢      lda #0¢gumuj sta text,y¢      dey¢      bpl gumuj¢¢* i skok na pocz programu¢¢      jmp pocz¢¢* procedura taktujaca (dla przerwania)¢¢play jsr m_tact¢     lda voltr1¢     eor voltr3¢     sta 711¢     asl @¢     asl @¢     sta 709¢¢     lda voltr3¢     eor voltr2¢     sta 710¢¢     lda voltr2¢     sta 708¢¢     lda voltr1¢     sta 712¢¢* plynacy napis¢* pisze go na ekran¢¢  inc 0¢  ldy 0¢  lda ekr44,y  pisze¢  sta ekr4,y¢  cpy #158¢  bne tu¢  lda #0¢  sta 0¢¢* gumuje z ekranu¢¢     ldy #158¢guma sta ekr4,y   gumuj napis¢     dey¢     bne guma¢¢* zamiana Zenon Beata¢¢tu lda 20¢   cmp #0¢   beq zenon¢   cmp #85¢   beq beata¢   cmp #170¢   beq basia¢   jmp exitvbl¢¢* pisz napis Zenon¢¢zenon ldy #8¢tz    lda tzen,y¢      sta ekr5+16,y¢      dey¢      bpl tz¢      jmp exitvbl¢¢* pisz napis Beata¢¢beata ldy #8¢tb    lda tbea,y¢      sta ekr5+16,y¢      dey¢      bpl tb¢      jmp exitvbl¢¢* pisz napis Basia¢¢basia ldy #8¢tba   lda tbas,y¢      sta ekr5+16,y¢      dey¢      bpl tba¢      jmp exitvbl¢¢* rozne dane (ekran, kody, etc...)¢¢wzor  dta c'DIAL DIAL'¢dobre dta d'Σ∩Γ≥·σ'¢zle   dta d'  ·∮σ '¢tzen  dta d'Z e n o n'¢tbea  dta d'B e a t a'¢tbas  dta d'B a s i a'¢ekr44 dta d'   Ram-Cart, DRC jako symulator carta   '¢      dta d' Koncepcja:Zenon/DIAL   kod:Jager/DIAL  '¢      dta d' (BDB/Creth)                            '¢      dta d' Data:17.06.2001______________________  '¢dl    dta b($70),b($70),b($70)¢      dta b($47),a(ekr1)¢      dta b($70),b($06)¢      dta b($70),b($70),b($70)¢      dta b($47),a(ekr2),b($70)¢      dta b($46),a(ekr3),b($70)¢      dta b($70),b($70)¢      dta b($42),a(ekr4)¢      dta d'"""""',b($70),b($70)¢      dta b($06),b($70),b($70)¢      dta b($42),a(ekr5)¢      dta b($41),a(dl)¢¢ekr1  dta d'     .g.r.u.p.a.    '¢      dta d'      _Σ_Θ_β_∮_     '¢ekr2  dta d'     P O L E C A    '¢ekr3  dta d'    לב  צךלרכIJקנפ   '¢¢ekr4  dta d'                                        '¢      dta d'                                        '¢      dta d'                                        '¢      dta d'                                        '¢haslo dta d' Kod: DIAL DIAL        **** ****        '¢      dta d'                                        '¢text  dta d'                    '¢ekr5  dta d'¡»¡»¡»¡»¡»¡
  2. \->           <-/✓¡ץ¡ץ¡ץ¡ץ¡ץ'¢tlo   dta d'**** ****'¢¢     end of file¢¢