home *** CD-ROM | disk | FTP | other *** search
- ' ─╘╩-─ATABASE ═ODULE - PART 2
-
- ' --- SUBROUTINES ----
-
- "CHARIN" JSR &C17D
- BCC "CH00"
- "EXIT" LDX 3
- LDA 160
- "EX00" STA (956),X
- DEX
- BPL "EX00"
- LDX (".X.")
- TXS
- LDA 8
- JSR "CLOSE"
- LDA 1
- JSR "CLOSE"
- "CH00" RTS
-
- "+CLRCHN" JSR "CLRCHN"
- LDX 2
- JSR "CHKIN"
- LDX 2
- JSR "CHKOUT"
- LDY 0
- RTS
-
- "POSITION" JSR "CLRCHN"
- JSR "DISPPOS"
- LDA ("REC-LO")
- LDX 1
- JSR "CHKOUT"
- LDY 0
- "PO00" LDA ("PTEXT"),Y
- JSR "CHROUT"
- INY
- CPY 5
- BNE "PO00"
- "GETER" JSR "CLRCHN"
- LDX 1
- JSR "CHKIN"
- JSR "CHRIN"
- AND &0F
- ASL
- ASL
- ASL
- ASL
- STA ("ER00")
- JSR "CHRIN"
- AND &0F
- DF &09
- "ER00" DF &00
- STA ("ER00")
- "ER01" JSR "CHRIN"
- LDA ("KSTATUS")
- BEQ "ER01"
- JSR "CLRCHN"
- LDA ("ER00")
- RTS
-
- "READ" LDA $A
- STA ("RDATBUFF")
- JSR "POSITION"
- BNE "R03"
- LDX 8
- JSR "CHKIN"
- LDY 0
- STY ("KSTATUS")
- "R00" JSR "CHRIN"
- STA ("RDATBUFF"),Y
- INY
- LDA ("KSTATUS")
- BEQ "R00"
- LDA 0
- STA ("RDATBUFF"),Y
- LDA ("RDATBUFF")
- CMP $N
- BEQ "R01"
- CMP $V
- BEQ "R01"
- LDA $A
- STA ("RDATBUFF")
- JSR "R03"
- "R01" JSR "+CLRCHN"
- LDA 0
- "R02" CLC
- RTS
- "R03" LDY 3
- "R04" LDA (1023),Y
- AND &7F
- STA ("RDATBUFF"),Y
- DEY
- BNE "R04"
- SEC
- RTS
-
- "WRITE" LDA $N
- LDX (1028)
- CPX &D3
- BNE "WR-ALT"
- LDA $V
- "WR-ALT" STA ("WDATBUFF")
- JSR "GETVAR"
- DF $X
- DF &00
- LDY 5
- LDX 10
- LDA &0D
- STA ("WDATBUFF"),X
- "W001" DEX
- LDA ["TMP2L"],Y
- STA ("WDATBUFF"),X
- DEY
- BPL "W001"
- JSR "POSITION"
- BEQ "W00"
- CMP &50
- BNE "W03"
- "W00" LDX 8
- JSR "CHKOUT"
- LDY 0
- "W01" LDA ("WDATBUFF"),Y
- JSR "CHROUT"
- INY
- CPY ("RECLEN")
- BNE "W01"
- "W02" JSR "POSITION"
- CMP &50
- BEQ "W00"
- "W03" CMP 0
- RTS
-
- "DISPPOS" LDX 0
- LDA ("REC-HI")
- JSR "DISPHEX"
- LDA ("REC-LO")
- "DISPHEX" PHA
- LSR
- LSR
- LSR
- LSR
- JSR "DH00"
- PLA
- AND &0F
- "DH00" CMP 10
- BCC "DH01"
- ADC 6
- "DH01" ORA 176
- STA (1080),X
- STA (956),X
- INX
- RTS
-
- "FINDSET" LDX 0
- STX ("1STAVAIL")
- STX ("1STAVAIH")
- STX ("REC-HI")
- STX ("REC-LO")
- RTS
-
- "FINDNEXT" LDY 0
- STY ("FERROR")
- INC ("REC-LO")
- BNE "FN00"
- INC ("REC-HI")
- "FN00" JSR "READ"
- BCC "FN000"
- JMP "FN05"
- "FN000" LDA ("RDATBUFF")
- CMP $A
- BNE "FN01"
- LDA ("1STAVAIL")
- ORA ("1STAVAIH")
- BNE "FINDNEXT"
- LDA ("REC-LO")
- STA ("1STAVAIL")
- LDA ("REC-HI")
- STA ("1STAVAIH")
- JMP "FINDNEXT"
- "FN01" LDA ("CMD")
- BNE "FN031"
- LDX 11
- "FN02" LDA ("WDATBUFF"),X
- CMP ("RDATBUFF"),X
- BEQ "FN03"
- CMP &0D
- BNE "FINDNEXT"
- LDA ("CMD")
- CMP 1
- BCC "FINDNEXT"
- BCS "FN06"
- "FN03" INX
- CMP &0D
- BNE "FN02"
- BEQ "FN030"
- "FN031" LDA L"RDATBUF+"
- STA (&9B)
- LDA H"RDATBUF+"
- STA (&9C)
- "FN033" LDY 255
- "FN032" INY
- LDA (49152),Y
- CMP $?
- BEQ "FN032"
- CMP $*
- BEQ "FN030"
- CMP &0D
- BEQ "FN030"
- EOR [&9B],Y
- AND &7F
- BEQ "FN032"
- LDA [&9B],Y
- BEQ "FINDNEXT"
- INC (&9B)
- BNE "FN033"
- INC (&9C)
- BNE "FN033"
- "FN030" LDA ("CMD")
- CMP 1
- BCS "FN06"
- LDA ("USERLOCK")
- BEQ "FN06"
- LDA (1028)
- CMP &D3
- BEQ "FN06"
- LDX 3
- "FN04" LDA (1023),X
- AND &7F
- CMP ("RDATBUFF"),X
- BNE "FN08"
- DEX
- BNE "FN04"
- BEQ "FN06"
- "FN08" LDX 9
- STX ("FERROR")
- JSR "DISPTEXT"
- "FN07" SEC
- BCS "FN05"
- "FN06" CLC
- "FN05" PHP
- LDA ("1STAVAIL")
- ORA ("1STAVAIH")
- BEQ "FN09"
- LDA ("CMD")
- BNE "FN09"
- LDA ("1STAVAIL")
- STA ("REC-LO")
- LDA ("1STAVAIH")
- STA ("REC-HI")
- "FN09" PLP
- RTS
-
- "I-BS" CPY 0
- BEQ "I00"
- "I-BS00" LDA &14
- JSR "CHROUT"
- DEY
- JSR "FTEST"
- BNE "I-BS"
- BEQ "I00"
-
- "I-CR" CPY 0
- BNE "I-CR00"
- LDX ("MANDFLAG")
- BNE "I00"
- "I-CR00" LDA ["TMP2L"],Y
- BEQ "I-CR01"
- LDA &0D
- STA ["TMP3L"],Y
- INY
- BNE "I-CR00"
- "I-CR01" LDA &0D
- STA ["TMP3L"],Y
- JMP "CHROUT"
-
- "INPUT" JSR "+CLRCHN"
- "I00" JSR "FTEST"
- BEQ "I07"
- LDA ["TMP2L"],Y
- BEQ "I07"
- STA ["TMP3L"],Y
- JSR "CHROUT"
- INY
- BNE "I00"
- "I07" LDA &0D
- STA ["TMP3L"],Y
- JSR "CHARIN"
- CMP &0D ' ├╥?
- BEQ "I-CR"
- CMP &14 ' ┬╙?
- BEQ "I-BS"
- CMP &20 ' ├ONTROL?
- BCC "I00"
- TAX
- LDA ["TMP2L"],Y
- AND &7F
- BEQ "I00" 'END OF FIELD?
- CMP $$ 'ALPHANUMERIC?
- BEQ "I05"
- CMP $N 'NON-SPACE?
- BNE "I01"
- CPX $!
- BCC "I00"
- BCS "I05"
- "I01" CMP $? '┘ OR ╬?
- BNE "I02"
- TXA
- AND &7F
- CMP $N
- BEQ "I05"
- CMP $Y
- BEQ "I05"
- "I000" JMP "I00"
- "I02" CMP $A 'ALPHA ONLY?
- BNE "I03"
- TXA
- AND &7F
- CMP $A
- BCC "I000"
- CMP $[
- BCS "I000"
- BCC "I05"
- "I03" CMP $0 'NUMERIC ONLY?
- BCC "I06"
- CMP $:
- BCS "I06"
- STX ("I04")
- DF &C9 ' ├═╨
- "I04" DF &00
- BCC "I000"
- CPX $0
- BCC "I000"
- "I05" TXA
- "I06" STA ["TMP3L"],Y
- JSR "CHROUT"
- INY
- BNE "I000"
-
- "FTEST" LDX 14
- "FT00" LDA ["TMP2L"],Y
- AND &7F
- CMP ("FIELDTST"),X
- BEQ "FT01"
- DEX
- BPL "FT00"
- "FT01" RTS
-
- ' SETUP POINTERS TO FIELD NAME, FIELD
- ' FORMAT STRING, AND WRITE BUFFER.
-
- "SETFIELD" JSR "+CLRCHN"
- STY ("MANDFLAG")
- STY ("PRIVATE")
- LDA ("FIELDNUM")
- CMP ("TOTFLDS")
- BCS "SF09"
- CLC
- ADC 16
- TAX
- JSR "FINDTEXT"
- LDY 255
- "SF00" INY
- LDA [100],Y
- BEQ "SF03"
- "SF01" CMP $+
- BNE "SF02"
- STA ("MANDFLAG")
- BEQ "SF00"
- "SF02" CMP $*
- BNE "SF00"
- STA ("PRIVATE")
- BEQ "SF00"
- "SF03" LDY 9
- LDX ("FIELDNUM")
- "SF05" INY
- LDA ["INTH"],Y
- BNE "SF05"
- DEX
- BNE "SF05"
- "SF06" INY
- STY ("RECPOS")
- LDA L"WDATBUFF"
- CLC
- ADC ("RECPOS")
- STA ("TMP3L")
- LDA H"WDATBUFF"
- STA ("TMP3H")
- BCC "SF07"
- INC ("TMP3H")
- "SF07" LDA ("INTH")
- CLC
- ADC ("RECPOS")
- STA ("TMP2L")
- LDA ("INTL")
- STA ("TMP2H")
- BCC "SF08"
- INC ("TMP2H")
- "SF08" CLC
- RTS
- "SF09" SEC
- RTS
-
- "DSPFIELD" JSR "+CLRCHN"
- LDY 255
- "DF00" INY
- LDA [100],Y
- BEQ "DF01"
- CMP $+
- BEQ "DF00"
- CMP $*
- BEQ "DF00"
- JSR "CHROUT"
- BCC "DF00"
- "DF01" RTS
-
- "DISPTEXT" JSR "FINDTEXT"
- JSR "+CLRCHN"
- "DT00" LDA [100],Y
- BEQ "DT01"
- JSR "CHROUT"
- INY
- BNE "DT00"
- "DT01" RTS
-
- "FINDTEXT" LDA L"TEXT"
- STA (100)
- LDA H"TEXT"
- STA (101)
- LDY 0
- "FX00" DEX
- BMI "FX03"
- "FX01" LDA [100],Y
- INC (100)
- BNE "FX02"
- INC (101)
- "FX02" CMP 0
- BNE "FX01"
- BEQ "FX00"
- "FX03" RTS
-
- "GETVAR" PLA
- STA ("TMP2L")
- PLA
- STA ("TMP2H")
- INC ("TMP2L")
- BNE "GV00"
- INC ("TMP2H")
- "GV00" LDA 2
- CLC
- ADC ("TMP2L")
- STA ("GVJMPL")
- LDA 0
- ADC ("TMP2H")
- STA ("GVJMPH")
- LDA (&2D)
- STA ("TMP3L")
- LDA (&2E)
- STA ("TMP3H")
- "GV01" LDY 0
- LDA ["TMP3L"],Y
- CMP ["TMP2L"],Y
- BNE "GV02"
- INY
- LDA ["TMP3L"],Y
- EOR &80
- CMP ["TMP2L"],Y
- BEQ "GV03"
- "GV02" LDA &07
- CLC
- ADC ("TMP3L")
- STA ("TMP3L")
- BCC "GV01"
- INC ("TMP3H")
- BNE "GV01"
- "GV03" LDY 3
- LDA ["TMP3L"],Y
- STA ("TMP2L")
- INY
- LDA ["TMP3L"],Y
- STA ("TMP2H")
- DF &4C
- "GVJMPL" DF &00
- "GVJMPH" DF &00
-
- ' DATA APPENDED TO THIS FILE IS IN THE
- ' FOLLOWING FORMAT:
- '
- ' TITLE PARAGRAPH WITH PROMPT
- ' (NULL TERMINATED)
- ' EDIT PROMPT (NULL TERMINATED)
- ' FIELD INFO
- ' A. FIELDNAME (NULL TERMINATED)
- ' B. FIELDDATA (NULL TERMINATED)
-
- "DRIVE" DF $A
- "FILENLEN" DF &0B
- "FILENAME" DF $BBS.DAT,L,
- DF &70
- DF $*********
- "TOTFLDS" DF &05
- "OPTIONS" DF $UDLSE
- "USERLOCK" DF &00
- "TEXT" DF $╒PDATE
- DF &0D0D
- DF $╨LEASE ENTER THE FOLLOWING INFORMATION:
- DF &0D0D00
- DF $─ELETE
- DF &0D00
- DF $╠IST
- DF &0D0D
- DF $╙EARCH FOR:
- DF &00
- DF $╙EARCH
- DF &0D0D
- DF $╙EARCH FOR:
- DF &00
- DF $┼XIT
- DF &0D000D
- DF $╔S THIS CORRECT?
- DF &00
- DF $┘ES.
- DF &0D0D
- DF $╒PDATING DATABASE.
- DF $╨LEASE WAIT.
- DF &0D00
- DF $╬O.
- DF &0D000D
- DF $─ONE.
- DF &0D000D
- DF $╥ECORD EXISTS -
- DF $NO ACCESS.
- DF &0D000D
- DF $┴RE YOU SURE?
- DF &00
- DF $─ELETING...
- DF &0D00
- DF $╙EARCHING...
- DF &0D0D000D
- DF $[╬]EXT / [┼]XIT
- DF &0D000D
- DF $[╬]EXT / [─]ELETE / [┼]XIT
- DF &0D00
- DF $┬┬╙ ╠ISTING ─ATABASE
- DF &0D0D
- DF $┼NTER YOUR SELECTION:
- DF &0D
- DF $[╒]PDATE / [─]ELETE / [╠]IST / [╙]EARCH / [┼]XIT
- DF &0D3A00
- DF $╨HONE ╬UMBER ╬AME OF ┬
- DF $┬╙ ╠OCATION
- DF $ ┬AUD
- DF &200D
- DF $ ├OMMENTS
- DF &00
- DF $+╨HONE (╪╪╪-╪╪╪-╪╪╪╪)
- DF &0D3A00
- DF $+╬AME OF ┬┬╙
- DF &0D3A00
- DF $*╠OCATION (├ITY & ╙TATE)
- DF &0D3A00
- DF $═AXIMUM ┬AUDRATE
- DF &0D3A00
- DF $├OMMENTS ABOUT THIS ┬┬╙
- DF &0D3A00
- DF $(999) 999-9999
- DF &00
- DF $N$$$$$$$$$$$$$$$$$$$$$$$
- DF &00
- DF $N$$$$$$$$$$$$$$$$$$$$$$$$$$
- DF &00
- DF $99999
- DF &00
- DF $$$$$$$$$$$$$$$$$$$$$$$$$$$$
- DF &00
- DF $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- DF &00
-