Where will my program be loaded? How can I control that?

Basic and Machine Language

Moderator: Moderators

groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: Where will my program be loaded? How can I control that?

Post by groepaz »

I am not familiar enough with it to tell what would be the best choice for plus4 :)

BTW, i have made such "booter" myself too -> click
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
TRIANGULAR OS
Vic 20 Dabbler
Posts: 87
Joined: Wed Mar 09, 2022 4:53 am
Website: https://www.youtube.com/@triangular_uos
Location: Cracow, Poland

Re: Where will my program be loaded? How can I control that?

Post by TRIANGULAR OS »

groepaz wrote: Thu Jun 23, 2022 8:16 am I am not familiar enough with it to tell what would be the best choice for plus4 :)

BTW, i have made such "booter" myself too -> click
I've looked into Your booter code. I doubt You will have easy ride with Commodore PET. Did You tried it on all those platforms?
TRIANGULAR μOS for VIC-20:
http://www.sleepingelephant.com/ipw-web ... =2&t=10352

TRIANGULAR μOS YouTube channel:
https://www.youtube.com/@triangular_uos
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: Where will my program be loaded? How can I control that?

Post by groepaz »

Sure works. IIRC the PET was actually less of a problem than the vic20 :) (I only tried on those that the game actually runs on, ie not the 40 column models)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
TRIANGULAR OS
Vic 20 Dabbler
Posts: 87
Joined: Wed Mar 09, 2022 4:53 am
Website: https://www.youtube.com/@triangular_uos
Location: Cracow, Poland

Re: Where will my program be loaded? How can I control that?

Post by TRIANGULAR OS »

I had BASIC universal loader in mind. Because of different start of program pattern in BASIC in PET vs. later machines You could have problems with loading PET program into VIC-20, C64 etc and vice-versa (e.g C64 program into PET) program won't be seen.
TRIANGULAR μOS for VIC-20:
http://www.sleepingelephant.com/ipw-web ... =2&t=10352

TRIANGULAR μOS YouTube channel:
https://www.youtube.com/@triangular_uos
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: Where will my program be loaded? How can I control that?

Post by groepaz »

Because of different start of program pattern in BASIC in PET vs. later machines You could have problems with loading PET program into VIC-20, C64 etc and vice-versa (e.g C64 program into PET) program won't be seen.
Hu? Obviously the booter program needs to be saved with a start address of $0401 to load on PET, and loaded ,8 (not ,8,1) on all others
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
bjonte
Vic 20 Hobbyist
Posts: 110
Joined: Sun Jan 22, 2017 5:47 am
Location: Gothenburg

Re: Where will my program be loaded? How can I control that?

Post by bjonte »

TRIANGULAR OS wrote: Thu Jun 23, 2022 10:47 am I've looked into Your booter code. I doubt You will have easy ride with Commodore PET. Did You tried it on all those platforms?
No, it hasn’t been used on PET so it may not be compatible. I don’t know. I have made multiplatform programs for VIC20, Plus/4, C64 and C128 only.

[edit: I was confused here. Ignore me.]
Last edited by bjonte on Fri Jun 24, 2022 11:15 am, edited 1 time in total.
User avatar
bjonte
Vic 20 Hobbyist
Posts: 110
Joined: Sun Jan 22, 2017 5:47 am
Location: Gothenburg

Re: Where will my program be loaded? How can I control that?

Post by bjonte »

Also, to do multiplatform there has to be machine detection code, like groepaz variant. Boray did something like that as well. What I posted was for VIC20 only. I have a short BASIC program for more platforms (not dealing with PET). I can post later.
User avatar
TRIANGULAR OS
Vic 20 Dabbler
Posts: 87
Joined: Wed Mar 09, 2022 4:53 am
Website: https://www.youtube.com/@triangular_uos
Location: Cracow, Poland

Re: Where will my program be loaded? How can I control that?

Post by TRIANGULAR OS »

groepaz wrote: Thu Jun 23, 2022 1:14 pm Hu? Obviously the booter program needs to be saved with a start address of $0401 to load on PET, and loaded ,8 (not ,8,1) on all others
Ow.... So by doing so You are able to have given program run on any 8-bit Commodore computer. That's neat trick. If I knew this at beginning, I would probably be tempted into trying to release my μOS for all platform from one system disk. Right now I wouldn't do it because it actually grew to that size that it is pointless. Moreover, differences between μOS versions for PET and VIC are significant enough to discourage it. (Plus I don't want to dabble in PET version beyond next edition of it - 1.05)
Last edited by TRIANGULAR OS on Sat Jun 25, 2022 7:00 am, edited 1 time in total.
TRIANGULAR μOS for VIC-20:
http://www.sleepingelephant.com/ipw-web ... =2&t=10352

TRIANGULAR μOS YouTube channel:
https://www.youtube.com/@triangular_uos
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: Where will my program be loaded? How can I control that?

Post by groepaz »

So by doing so You are able to have given program run on any 8-bit Commodore computer.
I didnt say that.

However, it is actually true for plain BASIC programs. eg the good old commodore "blackjack" program (and a bunch of those things from the test/demo disks, for example) work fine on pet/c64/vic20
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
TRIANGULAR OS
Vic 20 Dabbler
Posts: 87
Joined: Wed Mar 09, 2022 4:53 am
Website: https://www.youtube.com/@triangular_uos
Location: Cracow, Poland

Re: Where will my program be loaded? How can I control that?

Post by TRIANGULAR OS »

groepaz: Yes, I mean basic level BASIC programs. That gives combability on lowest level with BASIC 1.0 to 10.0.
Actually at beginning of developing my μOS I planned to have loader that detects machine first then execute part of code specially written for it (version above PET could change background/border color -> e.g.: VIC-20 version poke 36879 and C64 version poke 53280 etc.) then check disks and load BIOS launcher. But since I didn't know how to fix this PET byte misalignment, I abandoned it. It turned out that one version takes ~1/3rd of 170KB disk space and whole idea is pointless.
TRIANGULAR μOS for VIC-20:
http://www.sleepingelephant.com/ipw-web ... =2&t=10352

TRIANGULAR μOS YouTube channel:
https://www.youtube.com/@triangular_uos
Post Reply