1 00010 * Include file for BIF
\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)
\r00030 *
\r05160 FCC 'TOGGLE'
\r05170 FCB 6
\r05180 FCB MFORE
\r05190 FDB ADDSTO-CFAOFF
\r05200 FDB BIF+2
\r05210 FDB TIB-CFAOFF
\r05220 FDB TYPE-CFAOFF
\r05230 TOG PULU D,X
\r05240 EORB ,X
\r05250 STB ,X
\r05260 NEXT
\r05270 *
\r05280 FCC 'C@'
\r05290 FCB 2
\r05300 FCB MFORE
\r05310 FDB TOG-CFAOFF
\r05320 FDB BIF+2
\r05330 FDB BUFFER-CFAOFF
\r05340 FDB DADD-CFAOFF
\r05350 CFEH LDB [,U]
\r05360 CLRA
\r05370 STD ,U
\r05380 NEXT
\r05390 *
\r05400 FCC 'C!'
\r05410 FCB 2
\r05420 FCB MFORE
\r05430 FDB CFEH-CFAOFF
\r05440 FDB BIF+2
\r05450 FDB 0
\r05460 FDB 0
\r05470 CSTO LDB 3,U
\r05480 STB [,U]
\r05490 LEAU 4,U
\r05500 NEXT
\r05510 *
\r05520 FCC 'ROT'
\r05530 FCB 3
\r05540 FCB MFORE
\r05550 FDB CSTO-CFAOFF
\r05560 FDB BIF+2
\r05570 FDB RFROM-CFAOFF
\r05580 FDB SMUDGE-CFAOFF
\r05590 ROT PSHS Y
\r05600 PULU D,X,Y
\r05610 PSHU D,X
\r05620 PSHU Y
\r05630 PULS Y
\r05640 NEXT
\r05650 *
\r05660 FCC 'BACK' back ref
\r05670 FCB MCOMP.OR.4
\r05680 FCB MFORE
\r05690 FDB ROT-CFAOFF
\r05700 FDB BIF+2
\r05710 FDB BPBUF-CFAOFF
\r05720 FDB BEGIN-CFAOFF
\r05730 BACK LDX <UP
\r05740 PULU D target
\r05750 SUBD UDP,X here
\r05755 SUBD #2 past
\r05760 PSHU D
\r05770 JMP COMMA
\r05780 *
\r05800 FCC 'NOT'
\r05810 FCB 3
\r05820 FCB MFORE
\r05830 FDB BACK-CFAOFF
\r05840 FDB BIF+2
\r05850 FDB NDOT-CFAOFF
\r05860 FDB 0
\r05870 NOT LDD ,U
\r05880 COMB
\r05890 COMA
\r05900 STD ,U
\r05910 NEXT
\r05920 *
\r05990 FCC /'/
\r06000 FCB MIMM.OR.1
\r06010 FCB MFORE
\r06020 FDB NOT-CFAOFF
\r06030 FDB BIF+2
\r06040 FDB HASHS-CFAOFF
\r06050 FDB 0
\r06055 * ' see fig-FORTH model
\r06060 TICK DOCOL
\r06070 FDB DDFIND
\r06080 FDB DROP
\r06090 FDB DUP
\r06100 FDB ZEQ
\r06110 FDB ZERO
\r06120 FDB QERR
\r06130 FDB LITER
\r06140 FDB SEMIS
\r06150 *
\r07000 FCC '-->'
\r07010 FCB MIMM.OR.3
\r07020 FCB MFORE
\r07030 FDB TICK-CFAOFF
\r07040 FDB BIF+2
\r07050 FDB PLOOP-CFAOFF
\r07060 FDB DOT-CFAOFF
\r07065 * --> see fig-FORTH model
\r07070 NEXSCR DOCOL
\r07080 FDB QLOAD
\r07090 FDB ZERO
\r07100 FDB IN
\r07110 FDB STORE
\r07120 FDB BPSCR
\r07130 FDB BLK
\r07140 FDB FETCH
\r07150 FDB OVER
\r07160 FDB MOD remaining in screen
\r07170 FDB SUB
\r07180 FDB BLK
\r07190 FDB ADDSTO to next
\r07200 FDB SEMIS
\r07290 *
\r07300 FCC '1ARRAY'
\r07310 FCB 6
\r07320 FCB MFORE
\r07330 FDB NEXSCR-CFAOFF
\r07340 FDB BIF+2
\r07350 FDB SUB1-CFAOFF
\r07360 FDB TBR-CFAOFF
\r07370 ONEARR DOCOL
\r07380 FDB CREATE
\r07390 FDB IPCOM
\r07400 DO1ARR
\r07410 FDB XMACH
\r07415 LDX ,U
\r07420 CMPX #255 0<el-size<256
\r07430 BLS ONEARW
\r07440 ONEARE LDD #$0D
\r07450 PSHU D
\r07460 LBRA ERROR
\r07470 ONEARW LDD 4,U swap
\r07480 STD ,U
\r07490 STX 4,U
\r07500 LDD 2,U last
\r07510 SUBD ,U first
\r07520 BLT ONEARE real dimension?
\r07530 ADDD #1 element count
\r07540 STD 2,U
\r07550 PSHU D,X
\r07560 DOCOL
\r07570 FDB USTAR
\r07580 FDB LIT overflow?
\r07590 FDB $0D
\r07600 FDB QERR
\r07610 FDB TOR byte count
\r07620 FDB COMMA base
\r07630 FDB COMMA width
\r07640 FDB CCOMMA element size
\r07650 FDB RFROM
\r07660 FDB ALLOT
\r07670 FDB SMUDGE
\r07680 FDB SEMIS
\r07690 *
\r07700 FCC 'UTILITIES'
\r07710 FCB MIMM.OR.9
\r07720 FCB MFORE
\r07730 FDB ONEARR-CFAOFF
\r07740 FDB BIF+2
\r07750 FDB 0
\r07760 FDB 0
\r07770 UTIL DOVOC
\r07780 FDB DPFEH-CFAOFF
\r07890 *
\r07900 FCC 'DP@'
\r07910 FCB 3
\r07920 FCB MFORE
\r07930 FDB UTIL-CFAOFF
\r07940 FDB UTIL+2
\r07950 FDB 0
\r07960 FDB 0
\r07970 DPFEH TFR DP,A
\r07980 CLRB
\r07990 PSHU D
\r07992 NEXT
\r07994 *
\r08000 FCC 'DCONSTANT'
\r08010 FCB 9
\r08020 FCB MFORE
\r08030 FDB DPFEH-CFAOFF
\r08040 FDB BIF+2
\r08050 FDB 0
\r08060 FDB 0
\r08070 DCON DOCOL
\r08080 FDB CREATE
\r08090 FDB IPCOM
\r08100 JSR <XDCON
\r08110 FDB COMMA
\r08120 FDB COMMA
\r08130 FDB SMUDGE
\r08140 FDB SEMIS
\r08390 *
\r08300 FCC 'SWAB'
\r08310 FCB 4
\r08320 FCB MFORE
\r08330 FDB DCON-CFAOFF
\r08340 FDB BIF+2
\r08350 FDB 0
\r08360 FDB SWAN-CFAOFF
\r08370 SWAB LDD ,U
\r08380 STB ,U LS byte
\r08390 STA 1,U MS byte
\r08400 NEXT
\r08490 *
\r08500 FCC 'SWAN'
\r08510 FCB 4
\r08520 FCB MFORE
\r08530 FDB SWAB-CFAOFF
\r08540 FDB BIF+2
\r08550 FDB 0
\r08560 FDB 0
\r08570 SWAN LDA 1,U
\r08580 LDB 1,U
\r08590 LSRA
\r08600 RORB
\r08610 LSRA
\r08620 RORB
\r08630 LSRA
\r08640 RORB
\r08650 LSRA
\r08660 RORB
\r08670 STB 1,U
\r08680 LDA ,U
\r08690 LDB ,U
\r08700 LSRA
\r08710 RORB
\r08720 LSRA
\r08730 RORB
\r08740 LSRA
\r08750 RORB
\r08760 LSRA
\r08770 RORB
\r08780 STB ,U
\r08790 NEXT
\r08890 *
\r