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 >
Text File  |  2023-02-26  |  2KB  |  100 lines

  1.  
  2.  
  3.  ; brainfuck64-small v1.0 BY nINJA/tHE dREAMS IN 2001
  4.  
  5.  
  6.  
  7.               ; SMALLER VERSION IS EXTREMLY SHORT, INPUT FILE HAS TO
  8.  
  9.               ; BE OPENED AND CLOSED IN basic
  10.  
  11.  
  12.  
  13.               INCLUDE STANDARD.C64
  14.  
  15.  
  16.  
  17. SRC_PNT       = $7A
  18.  
  19. ARR_PNT       = $37
  20.  
  21. FILL_PNT      = $2B
  22.  
  23. W_CNT         = $33
  24.  
  25.  
  26.  
  27. CHRGET        = $0073
  28.  
  29.  
  30.  
  31.               ORG $CF08
  32.  
  33.  
  34.  
  35.               JSR $A68E
  36.  
  37.               LDX $B8
  38.  
  39.               JSR $FFC6
  40.  
  41. GET_INP:
  42.  
  43.               JSR $FFE4
  44.  
  45.               JSR $E419
  46.  
  47.               BVC GET_INP
  48.  
  49.               DEC $01
  50.  
  51.               LSR ARR_PNT+1
  52.  
  53.               LDX #$CD
  54.  
  55. CLMEM:
  56.  
  57.               JSR $E418
  58.  
  59.               CPX FILL_PNT+1
  60.  
  61.               BNE CLMEM
  62.  
  63. MAINLOOP:
  64.  
  65.               JSR CHRGET
  66.  
  67.               TAX
  68.  
  69.               BEQ EXIT
  70.  
  71.               LDA (ARR_PNT),Y
  72.  
  73.               CPY W_CNT
  74.  
  75.               BNE NO_PKT
  76.  
  77.               CPX #'+'
  78.  
  79.               BEQ BEF_PL
  80.  
  81.               CPX #'-'
  82.  
  83.               BEQ BEF_MI
  84.  
  85.               CPX #','
  86.  
  87.               BNE NO_KOM
  88.  
  89.               JSR $F15B
  90.  
  91.               STY $D0
  92.  
  93.               BYT $2C
  94.  
  95. BEF_MI:
  96.  
  97.               SBC #1
  98.  
  99.               BYT $2C
  100.  
  101. BEF_PL:
  102.  
  103.               ADC #1-1
  104.  
  105.               STA (ARR_PNT),Y
  106.  
  107. NO_KOM:
  108.  
  109.               CPX #'>'
  110.  
  111.               BNE NO_GR
  112.  
  113.               INC ARR_PNT
  114.  
  115.               BNE *+4
  116.  
  117.               INC ARR_PNT+1
  118.  
  119. NO_GR:
  120.  
  121.               CPX #'<'
  122.  
  123.               BNE NO_KL
  124.  
  125.               LDA ARR_PNT
  126.  
  127.               BNE *+4
  128.  
  129.               DEC ARR_PNT+1
  130.  
  131.               DEC ARR_PNT
  132.  
  133. NO_KL:
  134.  
  135.               CPX #'.'
  136.  
  137.               BNE NO_PKT
  138.  
  139.               JSR $FFD2
  140.  
  141. NO_PKT:
  142.  
  143.               CPX #'['
  144.  
  145.               BEQ BEF_AUF
  146.  
  147. NO_AUF:
  148.  
  149.               CPX #']'
  150.  
  151.               BNE MAINLOOP
  152.  
  153.               DEC W_CNT
  154.  
  155.               BPL MAINLOOP
  156.  
  157.               STY W_CNT
  158.  
  159.               PLA
  160.  
  161.               STA SRC_PNT+1
  162.  
  163.               PLA
  164.  
  165.               STA SRC_PNT
  166.  
  167. BEF_AUF:
  168.  
  169.               LAX (ARR_PNT),Y             ; ILLEGAL
  170.  
  171.               BEQ SKIP
  172.  
  173.               LDA SRC_PNT
  174.  
  175.               PHA
  176.  
  177.               LDA SRC_PNT+1
  178.  
  179.               PHA
  180.  
  181.               BYT $2C
  182.  
  183. SKIP:
  184.  
  185.               INC W_CNT
  186.  
  187.               BCS MAINLOOP
  188.  
  189. EXIT:
  190.  
  191.               INC $01
  192.  
  193.               JMP $E3BF
  194.  
  195.  
  196.  
  197.               END $CF08
  198.  
  199.