home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vandalism News 38
/
Vandalism_News_38_2002-05-31_Onslaught_Wrath_Designs_Side_C.d64
/
brainfuck-sm.src
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
100 lines
; brainfuck64-small v1.0 BY nINJA/tHE dREAMS IN 2001
; SMALLER VERSION IS EXTREMLY SHORT, INPUT FILE HAS TO
; BE OPENED AND CLOSED IN basic
INCLUDE STANDARD.C64
SRC_PNT = $7A
ARR_PNT = $37
FILL_PNT = $2B
W_CNT = $33
CHRGET = $0073
ORG $CF08
JSR $A68E
LDX $B8
JSR $FFC6
GET_INP:
JSR $FFE4
JSR $E419
BVC GET_INP
DEC $01
LSR ARR_PNT+1
LDX #$CD
CLMEM:
JSR $E418
CPX FILL_PNT+1
BNE CLMEM
MAINLOOP:
JSR CHRGET
TAX
BEQ EXIT
LDA (ARR_PNT),Y
CPY W_CNT
BNE NO_PKT
CPX #'+'
BEQ BEF_PL
CPX #'-'
BEQ BEF_MI
CPX #','
BNE NO_KOM
JSR $F15B
STY $D0
BYT $2C
BEF_MI:
SBC #1
BYT $2C
BEF_PL:
ADC #1-1
STA (ARR_PNT),Y
NO_KOM:
CPX #'>'
BNE NO_GR
INC ARR_PNT
BNE *+4
INC ARR_PNT+1
NO_GR:
CPX #'<'
BNE NO_KL
LDA ARR_PNT
BNE *+4
DEC ARR_PNT+1
DEC ARR_PNT
NO_KL:
CPX #'.'
BNE NO_PKT
JSR $FFD2
NO_PKT:
CPX #'['
BEQ BEF_AUF
NO_AUF:
CPX #']'
BNE MAINLOOP
DEC W_CNT
BPL MAINLOOP
STY W_CNT
PLA
STA SRC_PNT+1
PLA
STA SRC_PNT
BEF_AUF:
LAX (ARR_PNT),Y ; ILLEGAL
BEQ SKIP
LDA SRC_PNT
PHA
LDA SRC_PNT+1
PHA
BYT $2C
SKIP:
INC W_CNT
BCS MAINLOOP
EXIT:
INC $01
JMP $E3BF
END $CF08