read / write to JIM

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
crj
Posts: 321
Joined: Thu May 02, 2013 4:58 pm

Re: read / write to JIM

Postby crj » Sat Nov 25, 2017 11:16 pm

jgharston wrote:I also came to the same conclusion as you, any software that uses JIM should set all the latches to a safe address afer using them, and the address that is safest across all possible uses is zero.

If there's no RAM copy of the paging register(s), what about interrupts?

The only other options are prohibiting JIM access from interrupt handlers, or prohibiting JIM access from NMI handlers then requiring foreground code to disable interrupts while it accesses JIM. Neither of those options seems 100% appealing.

User avatar
jgharston
Posts: 2758
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: read / write to JIM

Postby jgharston » Sun Nov 26, 2017 3:36 am

crj wrote:
jgharston wrote:I also came to the same conclusion as you, any software that uses JIM should set all the latches to a safe address afer using them, and the address that is safest across all possible uses is zero.
If there's no RAM copy of the paging register(s), what about interrupts?

Yes, that's a problem, which means that the only solution is that code that accesses JIM is protected by PHP/SEI/PLP, and that NMIs are prohibited from playing with the JIM paging registers. NMIs would be able to access JIM memory if the foreground disabled interupts before activating the NMI process.

The more you dig into JIM banked memory stuff the more it looks like Acorn tried to quietly forget about it.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

crj
Posts: 321
Joined: Thu May 02, 2013 4:58 pm

Re: read / write to JIM

Postby crj » Mon Nov 27, 2017 12:45 am

I've spotted Chris Jordan around here, and he'd know for sure, but my recollection from disassembling bits of AMPLE's modules is that they only touch &FCFF when paging the Music 5000.

Given the Hybrid Music System was the only mainstream use that was ever made of JIM, I'm tempted to argue it should be treated as normative, and very strongly feel other users should play nice with it, whatever specs in lost filing cabinets in dark basements might say. (-8

dominicbeesley
Posts: 464
Joined: Tue Apr 30, 2013 11:16 am

Re: read / write to JIM

Postby dominicbeesley » Mon Nov 27, 2017 1:34 am

Thanks JGH, that's the conclusion I've come to!

crj, I'd say that that app note wasn't exactly kept dark. The fact that it was wishful thinking is a different matter. It would be instructive to know what the circulation of these app notes was. I seem to remember seeing something like there at either school or university but that might be my mind playing tricks!

I'd say there are now more DataCentre users than Music 5000 users? I can't see how they would operate together as DC is 0 based in JIM as is the Music 5000....which is a real shame

D

User avatar
danielj
Posts: 5346
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: read / write to JIM

Postby danielj » Mon Nov 27, 2017 9:16 am

The unfortunate truth is that they don't work together. You can use the IDE interface, but that doesn't use JIM :(

d.

crj
Posts: 321
Joined: Thu May 02, 2013 4:58 pm

Re: read / write to JIM

Postby crj » Mon Nov 27, 2017 3:40 pm

dominicbeesley wrote:crj, I'd say that that app note wasn't exactly kept dark.

Which app note are you talking about, here? Support Group Application Note 003, 16th January 1992? The one which specifies &FCFF as the single paging registerand &EE as a RAM copy?

Or some other app note I've never seen?

I've never seen any app note describing the multi-register paging scheme JGH describes.

Meanwhile, I thought the reason the DataCentre clashed with Music 5000/3000 is that it uses the entire of JIM, not that Music 5000/3000 starts at JIM page 0? Hybrid Technology played nice. )-8

dominicbeesley
Posts: 464
Joined: Tue Apr 30, 2013 11:16 am

Re: read / write to JIM

Postby dominicbeesley » Mon Nov 27, 2017 4:08 pm

yes app note 003, the multi register thing could have been made to work with the save in EE scheme so long as everyone used a different value of for ee/FCFF then you can add _more_ paging registers and just take up _one_page in jim and page using your _other_ registers.

All pretty academic though as soon as any popular piece of kit doesn't do that....even more academic when Acorn use &EE for keyboard routines!

D


Return to “hardware”

Who is online

Users browsing this forum: myelin and 6 guests