MOVEBASIC+ and Turbo Imploder, or how to make one executable file from many in BSDOS

authors: Proxima, Saposoft
release: 04.04.2024
download: MOVEBASIC+ and Turbo Imploder






Dears,

the following text is for BSDOS users, only.

You may, know that one of BSDOS's brilliant functions is running a program from a different disk than the current one. This is done with command "NEW #X,file" where X= disk number, file represents either file number, or its name.

Let's say I am on disk 70. When I write "NEW#10,1", BSDOS will run file 1 on disk 10, and return back to disk 70 afterwards.

If your file is just a single file, it will work. However, if you want to run a program consisting of more files, the way of NEW#X,file will fail.


So,how to achieve to get many files into one file?


The asnwer is: use "MOVEBASIC+" and optionally "Turbo Imploder". Both will make one file from your many files.



Steps:

1) load everything into memory. Ie. BASIC loader, code files, etc.

2) run MOVEBASIC+ from BASIC edit line, this way:
NEW"MOVEBASIC+":RUN. The RUN is the first command that will be carried out after you jump at 24200.

If sucessfull, the text START ADDRESS 24200 will appear on your screen.

3a) now carry out save, which will look like this:
SAVE "name" CODE 24200,65536-24200. Thus you have created one single file, uncompressed. It's start address is 24200. This is where you want to make RANDOMIZE USR or JP in order to get BASIC back to its place (ie. 23755).

3b) however, after point 2, I recommend using this method. Run Turbo Imploder. Set 24200 as start, press enter in Length, as START address write address where you want to carry out RANDOMIZE USR jump. In case you want the BASIC to be moved back to its original place (ie. 23755) put 24200 here. For the fourth option press enter too. Now, let Turbo Imploder to shrink data for you. When it is done, you will be asked for file name, and it wil be saved on your disk.

The file will be the same file as in previous point 3a, except for it will be compresed. You may now start running this single file from a different path with "NEW#X,file" without problems

Big thanks to Busy who showed this trick to me.


Hood, 01.04.2024