Page 1 of 1

Oric-1 16k memory management

Posted: Sun May 06, 2018 9:47 am
by Symoon
Hi,

Just tested Novalight on a real 16k Oric-1. It loads The Ultra and a Hires screen like a charm.

But this brings the question: the HIRES screen has, in the header, the start and end addresses, here #A000 and #BF3F.
These addresses are out of range for a 16k Oric-1, aren't they? They should have been, I guess, #2000 and #3F3F?
Yet the screen loaded. What's the trick?

Re: Oric-1 16k memory management

Posted: Sun May 06, 2018 10:08 am
by ibisum
Upper (non-existent) memory is nevertheless still mapped to those locations? I remember reading about this recently ...

Re: Oric-1 16k memory management

Posted: Sun May 06, 2018 11:00 am
by Symoon
That would make sense. In the (French) manual, they only state, in the memory map: "remove #8000 for 16k addresses".

Re: Oric-1 16k memory management

Posted: Sun May 06, 2018 12:16 pm
by Dbug
I've actually never seen or used a 16k Oric 1 :)

Do you know if all Oric Atmos are 48k models, or was there some 16k Atmos as well?

Re: Oric-1 16k memory management

Posted: Sun May 06, 2018 12:22 pm
by Symoon
Dbug wrote: Sun May 06, 2018 12:16 pmDo you know if all Oric Atmos are 48k models, or was there some 16k Atmos as well?
To my knowledge, there has never been any 16K Atmos. I think they dropped the 16k model during Oric-1's life... But it's just me, I have no source for this.
I think some Wiki page talked about 16k Atmos, to me it's a mistake (that might remain only because some people dislike being told they're wrong? ;) ).

Re: Oric-1 16k memory management

Posted: Sun May 06, 2018 5:15 pm
by Chema
Just guessing here, but most probably the ULA is the same, so screen is at the same location in 16 & 48K models. Same as ROM is in c000 to ffff.

And I also think there were no 16K Atmos. Cannot remember where I got this from, however.

Re: Oric-1 16k memory management

Posted: Mon May 07, 2018 12:45 am
by iss
Geoff Phillips says in his book:
1.4 Differences between machines

From the point of view of hardware, there are very few differences between machines.

There are two major categories:

Your Oric is either a 16K or a 48K machine.
Your Oric is either version 1.0 (i.e., the ORIC-1) or 1.1 (i.e., the ORIC ATMOS).
When you first power up your Oric, you will be advised of which version you are running. Chapter 2 lists the differences between the ROMs, but there is no apparent difference when looking at the hardware. Take note of your version number, so that you know which addresses apply to your particular machine.

The terms '16K machine’ and '48K machine’ relate to the total memory capacity. On a 16K machine, there would seem to be a gap between the end of the RAM (#3FFF) and the start of ROM (#C000). In practice, this is not the case, as the 16K of RAM is mirrored through each 16K block of addresses; e.g., location 0 is the same as locations #4000 and #8000. This is the reason why a program can still write to the screen at #BB80 on a 16K machine. Do not worry that this feature is 'accidental’ and might not be true for all ORICs – the start-up routines use the mirroring to detect which machine is which.

Some very early machines have slightly different insides, but the only important difference is that the sound on these machines is much louder and can cause the break-up of a TV picture.
Dbug wrote: Sun May 06, 2018 12:16 pm Do you know if all Oric Atmos are 48k models, or was there some 16k Atmos as well?
In this Oric FAQ is stated:
Oric Atmos
Processor: 6502A
RAM: 48K (A 16K version was on offer but I have yet to see one).

Re: Oric-1 16k memory management

Posted: Mon May 07, 2018 6:11 am
by Symoon
Hey thanks for this!

I just checked, the test routine is in #F9DD (ROM 1.0. obviously)
They're writing #00 in #1000, then #FF in #5000, and read #1000 again. If it's #FF then it's a 16K Oric-1.

Re: Oric-1 16k memory management

Posted: Tue May 08, 2018 1:27 pm
by Symoon
Just noticed the test is still present in the 1.1 ROM, too, writing in #500 and #4500. That means a ROM 1.1 could work on a 16K Oric-1; retro-compatibility? Maybe that's also the reason why some think there could have been 16K Atmos...

BTW, it's fun to see Fabrice Broche didn't seem to fully understand the 16/48K test in his book l'Oric à Nu :wink: