Skip to content
BrainFuck 6502 Interpreter for the Apple ][
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BF6502A2.VER3B.S
README.md

README.md

BrainFuck 6502 Interpreter for the Apple ][ //e

This is an 187 byte interpreter of BrainFuck for the 6502 Apple ][ //e

Note: Select and Shift-INS to paste into AppleWin or enter manually

    CALL-151
    300: 20 D8 F3 20 E2 F3
    306: A0 00 84 3C 84 40 84 EE
    30E: A9 60 85 3D A9 20 85 41
    316: B1 3C F0 1F 20 24 03 20 C2 FC A0 00 F0 F2
    324: A2 07 D5 F0 F0 04 CA 10 F9 60
    32E: A9 03 48 B5 F8 48 18 B1 40 60
    338: 4C 11 FE
    33B: A5 40 D0 02 C6 41 C6 40 60
    344: 69 02 18
    347: E9 00
    349: A0 00 91 40 60
    34E: 20 0C FD 29 7F 10 F4
    355: 09 80 4C ED FD
    35A: E6 EE B1 40 D0 E3 A5 EE 85 EF
    364: 20 C2 FC B1 3C C9 5B D0 04 E6 EF D0 F3
    371: C9 5D D0 EF A5 EE C5 EF F0 C8 C6 EF 18 90 E4
    380: C6 EE B1 40 F0 BD A5 EE 85 EF
    38A: A5 3C D0 02 C6 3D
    390: C6 3C B1 3C C9 5D D0 04 C6 EF D0 EE
    39C: C9 5B D0 EA A5 EE C5 EF F0 9D E6 EF 18 90 DF
    F0: 2C 2E 5B 3C 5D 3E 2D 2B
    F8: 4D 54 59 3A 7F 37 46 43

Examples

NOTE:

  • Watch out for hidden CRs since the Apple will break the line up. You may need to copy paste these as multiple lines.

      0 "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>."
      REM Hello World!
      CALL -151
      6000<806.900M
      300G
    
      REM http://esolangs.org/wiki/Talk:Brainfuck
      0 "++++++++[->-[->-[->-[-]<]<]<]"
      CALL-151
      6000<806.900M
      300G
    
      REM -n/a-
      0 ">++++++++[<++++++++++>-]<[>+>+<<-]>-.>-----.>"
      REM OK
      CALL-151
      6000<806.900M
      300G
    
      0 "+++++++++++++[>+++++++++>++++++++>++++++++>+++++<<<<-]>-.>.---.>+++++.<----.<.>>+++++.<++++++++.>++++++.<----.----.<.-.>>+.----------.<<++.>>>-.<<<++++.>.+++++++.>..>------------------.<<-----.>.>.<-.<<+."
      REM thematrixeatsyou@yahoo.co.nz
      CALL-151
      6000<806.900M
      300G
    
      0 "++++++++[->-[->-[->-[-]<]<]<]>++++++++[<++++++++++>-]<[>+>+<<-]>-.>-----.>"
      CALL -151
      6000<806.900M
      300G
    
      0 "++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<."
      REM Need 32K data!!!
      REM Prints #
      CALL -151
      2000:0
      2001<2000.BFFEM
      300G
    

AppleWin Symbols

From AppleWin press F7 to enter the debugger, and Ctrl-V to have BrainFuck symbols

    SYM CUR_DEPTH   = EE
    SYM NUM_BRACKET = EF

    SYM BRAINFUCK  = 300
    SYM FETCH      = 316
    SYM INTERPRET  = 324
    SYM FIND_OP    = 326
    SYM EXEC       = 32E
    SYM EXIT       = 337

    SYM BF_NEXT    = 338 // > 3E
    SYM BF_PREV    = 33B // < 3C
    SYM BF_PREV_1  = 341
    SYM EXIT_2     = 343
    SYM BF_INC     = 344 // + 2B
    SYM BF_DEC     = 347 // - 2D
    SYM STORE_DATA = 349
    SYM BF_IN      = 34E // , 2C
    SYM BF_OUT     = 355 // . 2E
    SYM BF_IF      = 35A // [ 5B
    SYM BF_IF_2    = 364
    SYM BF_IF_4    = 371

    SYM BF_FI      = 380 // ] 5D
    SYM BF_FI_2    = 38A
    SYM BF_FI_3    = 390
    SYM BF_FI_4    = 39C

    SYM NXTA1_8    = FCC2
    SYM STOR_6     = FE11
    SYM OPCODE     = F0
    SYM OPFUNCPTR  = F8

Discussion

Originally posted in c.e.a2:

You can’t perform that action at this time.