home *** CD-ROM | disk | FTP | other *** search
/ Syzygy Magazine 8 / Syzygy_Magazine_8_2002___pl_beta_Side_B.atr / ossio.arc / OSSIO.FAS next >
Text File  |  2001-06-30  |  4KB  |  1 lines

  1.          lst bad¢¢* symbole i zmienne SpartaDOS X¢symbol   smb 'symbol'¢install  smb 'install'¢s_addiz  smb 's_addiz'¢printf   smb 'printf'¢u_gepath smb 'u_gepath'¢u_getpar smb 'u_getpar'¢sioidx   equ $070f¢siotbl   equ $0718¢device   equ $0761¢syscall  equ $0787¢jext_on  equ $07f1¢jext_off equ $07f4¢¢* zmienne i rejestry OS¢critic   equ $42¢dunit    equ $0301¢dstats   equ $0303¢pdvmsk   equ $0247¢pdvrs    equ $0248¢pdvreg   equ $d1ff¢pdior    equ $d805¢jsioint  equ $e459¢¢tmp      equ $80¢¢* blok instalayjny¢       blk sparta $0600¢¢       lda symbol     * sprawdz,¢       ldx symbol+1   * czy procedura¢       bne setprv     * zostala juz¢                      * zainstalowana¢instld jsr printf¢       dta c'Already installed.'¢       dta b($9b,0)¢       rts¢¢look   ldy #$0a       * sprawdzenie¢check  dey            * polega na¢       cpy #$01       * wyszukaniu¢       beq instld     * w pamieci¢       lda (tmp),y    * symbolu¢       cmp symbol,y   * o nazwie OSSIO¢       beq check      * jesli zostanie¢       ldy #$01       * znaleziony,¢       lda (tmp),y    * to skok do¢       tax            * INSTLD¢       dey¢       lda (tmp),y¢setprv sta tmp¢       stx tmp+1¢       ora tmp+1¢       bne look¢¢       jsr u_getpar   * pobierz naped¢       jsr u_gepath   * z linii komend¢       lda device¢       cmp #$10       * urzadzenie ok?¢       bcc inst       * instaluj¢       jsr printf¢       dta b($9b)¢       dta c'Wrong device.',b($9b,0)¢       rts¢¢inst   sta devno+1¢       ldy #$07       * znajdz 1szy¢ffree  lda siotbl,y   * wolny wskaznik¢       beq iniadd     * w tablicy¢       dey            * wektorow SIO¢       dey¢       bpl ffree¢       jsr printf     * tablica pelna¢       dta c'SIO table full.',b($9b,0)¢       rts¢¢iniadd sty tmp        * dodaj do¢       lda vrsini     * inicjacji¢       ldx vrsini+1   * przelaczenie¢       jsr s_addiz    * na turbo¢       bcc enter¢¢       jsr printf     * kolejka pelna¢       dta b($9b)¢       dta c'Cannot install.',b($9b,0)¢       rts¢¢enter  ldy tmp        * wpisz wektor¢       lda vossio     * nowej¢       sta siotbl-1,y * procedury¢       lda vossio+1¢       sta siotbl,y¢                      * program jest¢       dec install    * nakladka¢       dta b($4c)     * JMP RSTINI¢vrsini dta v(rstini)¢vossio dta v(ossio)¢¢* blok rezydentny¢       blk reloc main¢¢rstini php            * inicjacja¢       sei            * po resecie¢       ldx #$01       * ustawienie¢       lda virqmn,x   * wektora¢       sta $0216,x    * procedury¢       dex            * rozpoznania¢       bpl *-7        * zrodla IRQ¢       plp¢       rts¢¢virqmn dta v(*+2)¢       PHA            * procedura¢       LDA #$20       * rozpoznania¢       BIT $D20E      * zrodla¢       BNE s0         * przerwania¢       EOR #$FF       * zywcem wzieta¢       STA $D20E      * z pliku TURBO¢       LDA $10        * stacji TOMS 720¢       STA $D20E¢       JMP ($020A)¢¢s0     LSR @¢       BIT $D20E¢       BNE s1¢       LSR @¢       BIT $D303¢       BNE s2¢       LDA $023A¢       CMP #$3F¢       BCS s2¢       LDA $023D¢       ORA #$80¢       STA $023D¢       BMI s2¢¢s1     LSR @¢       BIT $10¢       BEQ s2¢       BIT $D20E¢       BNE s2¢       LDA $3B¢       BEQ s2¢       LDA $023D¢       BPL s2¢       LDA #$06¢       STA $D204¢¢s2     PLA¢       JMP $C030¢¢ossio  ldx dunit      * wywolanie SIO¢       lda sioidx-1,x * podmiana¢devno  cmp #$00       * napedu¢       bne secrts     * logicznego na¢                      * fizyczny¢       sta dunit¢       txa¢       pha¢       lda syscall    * przelaczenie¢       jsr jext_on    * pamieci¢       jsr jsioint    * skok do SIO¢       jsr jext_off   * przywrocenie¢       pla            * pamieci¢       sta dunit      * i napedu log.¢       tya¢       clc            * operacja¢       rts            * wykonana¢¢secrts sec            * wywolanie nie¢       rts            * dotyczy tego¢                      * urzadzenia¢       blk upadte addresses¢       blk update symbols¢       blk update new ossio 'ossio'¢       end¢