Oric-1 16k memory management

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Oric-1 16k memory management

Post 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?
User avatar
ibisum
Wing Commander
Posts: 1643
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Oric-1 16k memory management

Post by ibisum »

Upper (non-existent) memory is nevertheless still mapped to those locations? I remember reading about this recently ...
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric-1 16k memory management

Post by Symoon »

That would make sense. In the (French) manual, they only state, in the memory map: "remove #8000 for 16k addresses".
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric-1 16k memory management

Post 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?
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric-1 16k memory management

Post 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? ;) ).
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Oric-1 16k memory management

Post 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.
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric-1 16k memory management

Post 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).
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric-1 16k memory management

Post 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.
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric-1 16k memory management

Post 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:
Post Reply