home *** CD-ROM | disk | FTP | other *** search
- '╟ENERIC ─ATABASE ═ODULE
- ' BY ┴. ┬ERNHARDT
- ' AS OF 910702
-
- ORG 40961
-
- HDR "A/DICT"
- NAM "DATABASE.MOD"
-
- 'RECORD DATA FORMAT:
- ' BYTE - STATUS (A,N,V)
- ' 3-BYTES - ACCOUNT (ASCII DIGITS)
- ' 6-BYTES - DATE (ASCII DIGITS)
- ' BYTE - CR
- ' KEY-DATA - (CR SEPARATED)
- ' OTHER-DATA - (CR SEPARATED)
-
- "TMP0L" DFL &9E
- "TMP0H" DFL &9F
- "TMP1L" DFL &BE
- "TMP1H" DFL &BF
- "TMP2L" DFL &C1
- "TMP2H" DFL &C2
- "TMP3L" DFL &C3
- "TMP3H" DFL &C4
- "WDATBUFF" DFL 44800
- "RDATBUFF" DFL 44544
- "RDATBUF+" DFL 44555
-
- JMP "MAIN"
-
- VEC "DRIVE"
-
- "PTEXT" DF $P
- "CHAN" DF &68
- "REC-LO" DF &00
- "REC-HI" DF &00
- "PTAB" DF &01
-
- "RECLEN" DF &00
- "CMD" DF &00
- "1STAVAIL" DF &00
- "1STAVAIH" DF &00
- "MANDFLAG" DF &00
- "PRIVATE" DF &00
- "DELOPT" DF &00
- "FERROR" DF &00
- "FIELDNUM" DF &00
- "RECPOS" DF &00
- "NOCR" DF &00
- "FIELDTST" DF $0123456789A$N?
- DF &00
-
- "MAIN" TSX
- STX (".X.")
- INC ("TOTFLDS")
- LDA ("TOTFLDS")
- CLC
- ADC 16
- TAX
- JSR "FINDTEXT"
- LDX 11
- LDY (100)
- "M01" CPY 0
- BNE "M03"
- DEC (101)
- "M03" DEY
- DEX
- BNE "M01"
- STY ("INTH")
- LDA (101)
- STA ("INTL")
- LDY ("FILENLEN")
- DEY
- LDA ("FILENAME"),Y
- CLC
- ADC 11
- STA ("FILENAME"),Y
- STA ("RECLEN")
- JSR "CLRCHN"
- LDA 1
- LDX ("DRIVE")
- LDY 15
- JSR "SETLG"
- LDA 0
- JSR "SETFN"
- JSR "OPEN"
- LDA 8
- LDX ("DRIVE")
- TAY
- JSR "SETLG"
- LDA ("FILENLEN")
- LDX L"FILENAME"
- LDY H"FILENAME"
- JSR "SETFN"
- JSR "OPEN"
- "RESTART" JSR "+CLRCHN"
- LDX 15
- JSR "DISPTEXT"
- "M02" JSR "CHARIN"
- CMP &0D
- BEQ "+EXIT"
- LDX 4
- "M06" CMP ("OPTIONS"),X
- BEQ "M07"
- DEX
- BPL "M06"
- BMI "M02"
- "M07" TXA
- PHA
- JSR "DISPTEXT"
- PLA
- STA ("CMD")
- ASL
- TAX
- LDA ("VTAB"),X
- STA (85)
- INX
- LDA ("VTAB"),X
- STA (86)
- JMP 84
- "+EXIT" JMP "EXIT"
-
- "VTAB" VEC "UPDATE"
- VEC "SEARCH" 'DELETE
- VEC "LIST"
- VEC "SEARCH"
- VEC "EXIT"
-
- "UPDATE" LDA 1
- STA ("FIELDNUM")
- "UP03" JSR "SETFIELD"
- BCS "UP04"
- JSR "DSPFIELD"
- JSR "INPUT"
- INC ("FIELDNUM")
- BNE "UP03"
- "UP04" LDX 5
- JSR "DISPTEXT"
- "UP05" JSR "CHARIN"
- AND &7F
- CMP &0D
- BEQ "UP08"
- CMP $A
- BEQ "UP08"
- CMP $E
- BEQ "UP08"
- CMP $N
- BNE "UP06"
- LDX 7
- JSR "DISPTEXT"
- BEQ "UPDATE"
- "UP06" CMP $Y
- BNE "UP05"
- LDX 6
- JSR "DISPTEXT"
- JSR "FINDSET"
- JSR "FINDNEXT"
- BIT ("FERROR")
- BNE "UP08"
- LDY 3
- "UP07" LDA ("RDATBUFF"),Y
- STA ("WDATBUFF"),Y
- DEY
- BNE "UP07"
- JSR "WRITE"
- LDX 8
- JSR "DISPTEXT"
- "UP08" JMP "RESTART"
-
- "LIST" JSR "SEAINP"
- "LI00" JSR "FNDNDISP"
- BEQ "LI01"
- BCC "LI00"
- "LI01" LDX 8
- JSR "DISPTEXT"
- JMP "RESTART"
-
- "SEARCH" JSR "SEAINP"
- "SE02" JSR "FNDNDISP"
- BCS "SE10"
- BEQ "SE10"
- "SE05" LDX 0
- STX ("DELOPT")
- LDX 14
- LDA (1028)
- CMP &D3
- BEQ "SE08"
- LDA ("USERLOCK")
- BEQ "SE08"
- LDY 3
- "SE06" LDA (1023),Y
- AND &7F
- CMP ("RDATBUFF"),Y
- BNE "SE07"
- DEY
- BNE "SE06"
- LDA ("CMD")
- CMP 1
- BEQ "SE08"
- "SE07" LDX 13
- STX ("DELOPT")
- "SE08" JSR "DISPTEXT"
- "SE09" JSR "CHARIN"
- AND &7F
- CMP &0D
- BEQ "SE02"
- CMP $N
- BEQ "SE02"
- CMP $E
- BEQ "SE10"
- CMP $D
- BNE "SE09"
- LDA ("DELOPT")
- BNE "SE09"
- LDX 11
- JSR "DISPTEXT"
- LDA $A
- JSR "WR-ALT"
- JMP "SE02"
- "SE10" LDX 8
- JSR "DISPTEXT"
- JMP "RESTART"
-
- "SEAINP" LDA L"SEAFOR"
- STA ("TMP2L")
- LDA H"SEAFOR"
- STA ("TMP2H")
- LDA 0
- STA ("TMP3L")
- LDA 192
- STA ("TMP3H")
- JSR "INPUT"
- LDX 12
- JSR "DISPTEXT"
- LDX 16
- JSR "DISPTEXT"
- LDA (100)
- STA (38)
- LDA (101)
- STA (39)
- LDA &0D
- JSR "CHROUT"
- LDY ("VIDEO")
- "SI00" LDA $-
- JSR "CHROUT"
- DEY
- BNE "SI00"
- LDA &0D
- JSR "CHROUT"
- JMP "FINDSET"
-
- "PVTBLANK" LDA (1028)
- CMP &D3
- BEQ "PV02"
- LDX 3
- "PV000" LDA (1023),X
- AND &7F
- CMP ("RDATBUFF"),X
- BNE "PV001"
- DEX
- BNE "PV000"
- BEQ "PV02"
- "PV001" LDY 0
- STY ("FIELDNUM")
- "PV00" INC ("FIELDNUM")
- JSR "SETFIELD"
- BCS "PV02"
- LDA ("PRIVATE")
- BEQ "PV00"
- LDY 0
- LDA L"RDATBUFF"
- CLC
- ADC ("RECPOS")
- STA ("TMP3L")
- LDA H"RDATBUFF"
- STA ("TMP3H")
- BCC "PV01"
- INC ("TMP3H")
- "PV01" LDA ["TMP2L"],Y
- BEQ "PV00"
- LDA $-
- STA ["TMP3L"],Y
- INY
- BNE "PV01"
- "PV02" RTS
-
- "FNDNDISP" JSR "FINDNEXT"
- BCS "FD06"
- JSR "PVTBLANK"
- LDY 255
- STY ("NOCR")
- "FD00" INY
- LDA ("RDATBUF+"),Y
- BEQ "FD04"
- CMP &0D
- BNE "FD01"
- LDA &20
- "FD01" JSR "CHROUT"
- LDA ("NOCR")
- BEQ "FD010"
- LDA [38],Y
- STA ("NOCR")
- CMP &0D
- BNE "FD010"
- JSR "CHROUT"
- LDA &20
- JSR "CHROUT"
- "FD010" LDA ("KEY?")
- BNE "KT00"
- LDA ("RIDBE")
- CMP ("RIDBS")
- BEQ "KT02"
- "KT00" JSR "GETIN"
- AND &7F
- CMP &03
- BEQ "EXIT"
- CMP $P
- BNE "KT01"
- STA ("XON")
- "KT01" CMP $A
- BEQ "FD05"
- "KT02" JMP "FD00"
- "FD04" LDA 1
- "FD05" CLC
- "FD06" PHP
- LDA &0D
- JSR "CHROUT"
- PLP
- RTS
-
- "SEAFOR" DF $$$$$$$$$$$$$$$$$$$$$
- DF $$$$$$$$$$$$$$$$$$$$$
- DF &00
-
- DFF "A/DATABASE2.MOD"
-