Building SuperBASIC itself
Building SuperBASIC from Scratch[edit | edit source]
If you are using Git bash for a command-line (on MS Windows), you need to tell bash that you're not a real Linux machine:
export OS=cygwin
I had to add the make command by following the instructions here: https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058#make. From ezwinports, use the make without guile zip file.
@mgr42 [said in Discord](https://discord.com/channels/691915291721990194/1028045613104910368/1191727753205129227) "I was able to build superbasic from source using the following process:"
- Install python-is-python3 on your Debian or Ubuntu machine
- Install `64tass`. The version available in the Ubuntu repos compiles the source without errors.
- Execute `git clone https://github.com/FoenixRetro/f256-superbasic.git`
- Execute `git clone https://github.com/WartyMN/Foenix-F256JR-bootscreens.git`
- Change into the directory `f256-superbasic/source`
- Execute `make`
- If this succeeds there will be an updated file called `basic.rom` in the directory `f256-superbasic/source/build`
- Change into the directory `f256-superbasic/source/build`
- Execute the command `python splitrom.py`
- If this succeeds there will be 4 updated files called `sb01.bin`, `sb02.bin`, `sb03.bin` and `sb04.bin` which can be flashed to the F256 Jr./K
The output of make:
I modified the 00start.asm file on line #30 to change the F256Header from "basic" to "sbasic", this way it shows up in the system commands as a separate command.
F256Header: .text $f2,$56 ; Signature .byte 4 ; 4 blocks .byte 4 ; mount at $8000 .word Boot ; Start here .byte 1 ; version .byte 0 ; reserved .byte 0 ; reserved .byte 0 ; reserved .text "sbasic",0 ; name of program. .text 0 ; arguments .text "The SuperBASIC environment.",0 ; description
After splitting the ==basic.rom== into bins, I then flashed with this CSV:
08,sb01.bin 09,sb02.bin 0a,sb03.bin 0b,sb04.bin
After reboot, type `/sbasic`.
Type the following in the F256K in 'sbasic'
print ?(8+4)
This command is short for print peek(12).
Result should be `72`.