Building SuperBASIC itself: Difference between revisions

From F256 Foenix
Jump to navigationJump to search
(Created page with "***Using the Git bash command, change the OS: `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:*" - Inst...")
 
(Removed markdown code.)
Line 1: Line 1:
***Using the Git bash command, change the OS: `export OS=cygwin`.***  
= '''Building SuperBASIC from Scratch''' =
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#makeFrom ezwinports, use the '''make without guile''' zip file.


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:''"


@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.
- Install python-is-python3 on your Debian or Ubuntu machine
* Execute `git clone https://github.com/FoenixRetro/f256-superbasic.git`
- Install `64tass`. The version available in the Ubuntu repos compiles the source without errors.
* Execute `git clone https://github.com/WartyMN/Foenix-F256JR-bootscreens.git`
- Execute `git clone https://github.com/FoenixRetro/f256-superbasic.git`
* Change into the directory `f256-superbasic/source`
- Execute `git clone https://github.com/WartyMN/Foenix-F256JR-bootscreens.git`
* Execute `make`
- Change into the directory `f256-superbasic/source`
* If this succeeds there will be an updated file called `basic.rom` in the directory `f256-superbasic/source/build`
- Execute `make`
* Change into the directory `f256-superbasic/source/build`
- If this succeeds there will be an updated file called `basic.rom` in the directory `f256-superbasic/source/build`
* Execute the command `python splitrom.py`
- Change into the directory `f256-superbasic/source/build`
* 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
- 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:
The output of make:
Line 20: Line 21:


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.
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.
```assembly
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
```


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:
After splitting the ==basic.rom== into bins, I then flashed with this CSV:
```
08,sb01.bin
08,sb01.bin
09,sb02.bin
09,sb02.bin
0a,sb03.bin
0a,sb03.bin
0b,sb04.bin
0b,sb04.bin
After reboot, type `/sbasic`.
```


After reboot, type `/sbasic`.
Type the following in the F256K in 'sbasic'
Performing the `print ?(8+4)` results in `72`.
print ?(8+4)
This command is short for print peek(12).
 
Result should be `'''72'''`.

Revision as of 12:36, 22 November 2024

Building SuperBASIC from Scratch

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:

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`.