Loading a memory block from Basic with ROM 1.0 and 1.1

Everything related to BASIC version 1.x (Oric 1 and Atmos) or HYPERBASIC (Telestrat).
Don't hesitate to give your small program samples, technical insights, or questions...
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Loading a memory block from Basic with ROM 1.0 and 1.1

Post by Symoon »

Hi !

Could anyone help me: I got lots of problems while trying to load a memory block from Basic (redefined characters for instance) with the Oric-1's 1.0 ROM.
No problem with Atmos, but Oric-1 keeps returning to the "Ready" or hanging, according to the AUTO mode of the memory block.

I think there was an explanation in an early Micr'Oric but I don't have it right now.
Any expert here could explain the differences between ROM 1.0 and 1.1 about this ?

Cheers
Simon
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Post by Symoon »

Ok, replying to myself here.
Found 2 things:

1- CLOAD stops the program on Oric-1. So to load a memory block, it must be saved in AUTO mode, and beginning by the value #60 (RTS). So you have to save this RTS before the rest of the datas in your memory block - be carfeul not crushing a byte at the end of the previous block with this trick.
2- Also, Fabrice explained on comp.sys.oric: "the oric-1 always change the address of variables when it loads a program, even if it is not a Basic program. So, if you load a memory block from Basic, you have to DOKE to location #9C the old address of variables...

That means: use a specific program (that doesn't deal with variables) to load the memory blocks and other programs.
1st program should be like:
10 CLOAD"":CLOAD"":CLOAD""
and that's it.

Pfew, how painful!
Simon
Post Reply