B or upgraded A? Version 7. Upgrade Advice??

discuss both original and modern hardware for the bbc micro/electron
Post Reply
Methanoid
Posts: 11
Joined: Wed Jul 04, 2018 1:18 pm
Contact:

B or upgraded A? Version 7. Upgrade Advice??

Post by Methanoid » Fri Jun 28, 2019 8:43 pm

I picked up a "model B" from eBay and have opened her up to see what's what and it seems I am missing some chips from the mainboard. Its a revision 7 mobo but the Econet isn't there (and supporting chips) but http://8bs.com/inbbc.htm#IC89 says Econet isn't fitted on revision 7 but then I find I am missing chips needed to support DFS but I have all the Userport etc that the A didnt have...

Its been 35 years since I owned a Beeb.... I vaguely recall models described as A+ (ram upgraded As) back in the day.

Anyway, would like to know what I have, what chips would ideally have heatsinks and should I fit a small fan or two to keep air moving. PSU works but will be going off for a recap anyway. I plan to add a SPI-MMC thing, a PiTube and a Sideways Ram/Rom card. I dont need a DFS and Gotek right now but is there anything else I should consider (is there any way to upgrade to a B+ 64/128 at all)?

Pics here (please LMK if links dont work)
https://photos.app.goo.gl/EqhyhcMZSV2EhJZa9
https://photos.app.goo.gl/5JYrQvA6Dkg9avSE6
https://photos.app.goo.gl/QaZ4eEvqxpK2C9w47

User avatar
danielj
Posts: 8155
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by danielj » Fri Jun 28, 2019 9:00 pm

If it's got all the ports soldered in, and all the RAM is soldered in and not in sockets then it's a Model B. There will be empty sockets in the Model B - for additional ROMs, the Disc interface (not fitted as standard), the Speech chips, and then also the econet as you've noticed.

If you want to add a disc interface, this will do the job: https://www.ebay.co.uk/itm/264313860280 (there's another version from another seller that's £5 cheaper, but doesn't have the manual with it).

d.

User avatar
1024MAK
Posts: 9988
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by 1024MAK » Fri Jun 28, 2019 9:04 pm

You have a standard model B machine.
The “standard” model B machine used cassettes for mass storage.
Extra ROM/EPROM chips, Econet, a floppy drive interface, and the speech system were all either options, or upgrades.

Mark

User avatar
1024MAK
Posts: 9988
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by 1024MAK » Fri Jun 28, 2019 9:08 pm

See this page for more information on what does what in an Acorn 8 bit machine...

Mark

Methanoid
Posts: 11
Joined: Wed Jul 04, 2018 1:18 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Methanoid » Fri Jun 28, 2019 9:09 pm

Thanks,guys.

I had bookmarked that upgrade already but I don't think I want a Gotek for now.

Any advice on which chips I should heatsink?

User avatar
1024MAK
Posts: 9988
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by 1024MAK » Fri Jun 28, 2019 9:13 pm

There are many possible upgrades, but none that exactly increase the spec to a B+64K or B+128K
You can however add SRAM chips/modules or plug-in boards that provide more ‘sideways’ ROM and/or RAM.
This page gives you more information.

Mark
Last edited by 1024MAK on Fri Jun 28, 2019 9:14 pm, edited 1 time in total.

User avatar
danielj
Posts: 8155
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by danielj » Fri Jun 28, 2019 9:33 pm

You don't need to heatsink anything unless you've got one of the very early video ULAs (in which case it'll either be dead or have one on it already).

d.

Methanoid
Posts: 11
Joined: Wed Jul 04, 2018 1:18 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Methanoid » Fri Jun 28, 2019 9:53 pm

danielj wrote:
Fri Jun 28, 2019 9:33 pm
You don't need to heatsink anything unless you've got one of the very early video ULAs (in which case it'll either be dead or have one on it already).

d.
I watch this channel and he sinked up just about every chip as he said his got toasty. Is it better in Rev7 then?
https://www.youtube.com/watch?v=kvU683AUF1c&t=10m43s

User avatar
danielj
Posts: 8155
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by danielj » Fri Jun 28, 2019 9:56 pm

Crumbs. Honestly, there's no need to do that. They get warm, but not warm enough to warrant heatsinking them. Massive overkill :) . -> Don't believe everything you see on youtube :D

User avatar
1024MAK
Posts: 9988
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by 1024MAK » Fri Jun 28, 2019 10:43 pm

Maybe we humans should fit heatsinks to ourselves during the hot weather... :lol:

The only reason that manufacturers fit heatsinks to semiconductors, is when they need to dissipate power in the form of heat. Normally when lots of power need to be lost.

In a BBC A or B, the ONLY chip that needs a heatsink is the Ferranti produced Video ULA (VideoProc). And even this only this applies to some of them. The later versions don’t need a heatsink.

The reason why this particular chip needs a heatsink, is due to a design fault. The problem was corrected in later Ferranti ULAs and has never been present in the VLSI Technologies chip.

All the other chips in a BBC A or B run well within the manufacturers specification in terms of power dissipation. Silicon chip dies actually have a very respectable operating range and can continue working without problems all the way up to 100oC or beyond.

Most NMOS 6502 CPUs are specified as having an operating temperature range of 0oC to 70oC (ambient temperature).

A NMOS 6502 at (2MHz) has a maximum rated power of 700mW. But typically only dissipates less than half a Watt.

The other chips used in a BBC A or B are similar. Hence, apart from some of the the Video ULA chips, none of the rest need heatsinks. If you can touch a chip without burning your finger, it’s not too hot.

There is the matter of the air inside the case getting too warm. This is another issue. For machines without any internal add-on / expansion boards, they don’t need any forced air cooling if used at normal room temperatures (up to 25oC).

However, if the inside is crammed full with expansion boards, especially those containing lots of old NMOS EPROM chips, a fan may be needed.

Note that for a heatsink to work, it must be in free air (meaning the air can flow freely over the heatsink), or be in the air flow of a fan. Putting a heatsink on a chip, which is in a closed case full of hot air will do nothing.

Mark
Last edited by 1024MAK on Fri Jun 28, 2019 10:50 pm, edited 1 time in total.

User avatar
Elminster
Posts: 4111
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Elminster » Fri Jun 28, 2019 11:04 pm

Methanoid wrote:
Fri Jun 28, 2019 9:53 pm
danielj wrote:
Fri Jun 28, 2019 9:33 pm
You don't need to heatsink anything unless you've got one of the very early video ULAs (in which case it'll either be dead or have one on it already).

d.
I watch this channel and he sinked up just about every chip as he said his got toasty. Is it better in Rev7 then?
https://www.youtube.com/watch?v=kvU683AUF1c&t=10m43s
Gadgetuk is on this board somewhere, he does like his heatsinks.

cmorley
Posts: 1258
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by cmorley » Fri Aug 09, 2019 9:11 am

Elminster wrote:
Fri Jun 28, 2019 11:04 pm
Gadgetuk is on this board somewhere, he does like his heatsinks.
He also has impeccable taste in EEPROM upgrade modules :D

User avatar
danielj
Posts: 8155
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by danielj » Fri Aug 09, 2019 9:18 am

cmorley wrote:
Fri Aug 09, 2019 9:11 am
He also has impeccable taste in EEPROM upgrade modules :D
Blatant.
Last edited by danielj on Fri Aug 09, 2019 9:19 am, edited 1 time in total.

Coeus
Posts: 1570
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Coeus » Sat Aug 10, 2019 10:34 pm

Methanoid wrote:
Fri Jun 28, 2019 8:43 pm
is there anything else I should consider (is there any way to upgrade to a B+ 64/128 at all)?
Once you have a solid state filing system (MMC/SD etc) sideways RAM is an obvious upgrade. On my BBC B I have a couple of cmorley's modules. They are very neat, very easy to fit and come with easy to follow instructions.

You can't really get from a B to a B+ or even to a master by applying a series of upgrades but you can get some of the way depending on what features you want.

Apart from the sideways RAM (in the B+128K) the other main feature of the B+ was shadow screen memory. KenLowe has developed a board which is almost a remake of a Integra B which I believe includes some shadow RAM and it is thought that boards of this type might have been the impetus for Acorn to design the B+[1]. On a real B+ there is a quirk due to there actually being an extra 32K or RAM so once 20K has been used for shadowing the screen area there is 12K in the sideways ROM space as an extra, but incomplete sideways ROM bank. I have not tried Ken's board but this may enable you do such things as write larger BASIC programs that use the hi-res graphics modes. It is less likely to be used by games because the B+ doesn't do double-buffering.

There is also another solution to the extra memory thing other than shadow screen RAM - cmorley has an OSRAM module. This is a clever module that puts two banks of 16K RAM in the same space as the OS ROM. I say clever, because it enables this to be used as RAM by code running lower in memory but, when executing code directly from that region, the OS ROM reappears.

You can do some interesting things. I have put a 65C02 in my model B which gives the ability to run some of the master versions of software. With the OSRAM module, and a hacked version of ADFS[2], it can actually run the high-workspace versions of the filng systems and keep page at &0E00 like a real master. Beware, though, that there are some games that use unofficial[3] instructions of the original NMOS 6502 which won't work on the CMOS (65C02) version.

[1] Even to the point that the designer of the Integra B made a complaint that Acorn had infringed his patent.

[2] I used ADFS 1.57, which is Master version which has the SCSI drivers replaced with SD card access and then added some code to implement the missing ROM calls for doling out the high workspace. That works for both the ADFS itself and the Master version of MMFS.

[3] These used to be called "undocumented" instructions but, of course, though there weren't in the official documentation they have since been documented by others.

User avatar
KenLowe
Posts: 1168
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by KenLowe » Sun Aug 11, 2019 7:59 am

Coeus wrote:
Sat Aug 10, 2019 10:34 pm
Methanoid wrote:
Fri Jun 28, 2019 8:43 pm
is there anything else I should consider (is there any way to upgrade to a B+ 64/128 at all)?
Apart from the sideways RAM (in the B+128K) the other main feature of the B+ was shadow screen memory. KenLowe has developed a board which is almost a remake of a Integra B which I believe includes some shadow RAM and it is thought that boards of this type might have been the impetus for Acorn to design the B+[1]. On a real B+ there is a quirk due to there actually being an extra 32K or RAM so once 20K has been used for shadowing the screen area there is 12K in the sideways ROM space as an extra, but incomplete sideways ROM bank.
The IntegraB board includes a 32k RAM module for Shadow RAM. As with the BBC+, only 20k is required to shadow the screen, so 12k is available for other uses. The IntegraB OS uses a small bit of this for storing some IntegraB variables, and the rest is available as 'Private RAM'. This Private RAM can't be used directly for storing Sideways ROMs, but it can be accessed by the user for storing data. The IntegraB also comes along with an extra 2 x 32k sideways RAM modules which provides access to 4 x 16k RAM banks in slots 4..7. Upto 8 additional sideways RAM banks can be added to slots 8..15 by adding an additional 4 x 32k RAM modules into four of the sockets on the IntegraB board (the Integra OS & Basic would either need to be loaded onto two of these RAM banks, or moved to the lower priority ROM sockets (0..3) on the main motherboard.
Coeus wrote:
Sat Aug 10, 2019 10:34 pm
I have not tried Ken's board but this may enable you do such things as write larger BASIC programs that use the hi-res graphics modes. It is less likely to be used by games because the B+ doesn't do double-buffering.
Indeed it can. If you switch to shadow mode, upto 20k (depending upon screen mode) of extra screen memory becomes available for normal programs.
There are also a couple of games that take advantage of the extra shadow RAM on the BBC+ and IntegraB board. Check out the Level 9 graphical adventures (like Lancelot).

Coeus
Posts: 1570
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Coeus » Sun Aug 11, 2019 5:16 pm

KenLowe wrote:
Sun Aug 11, 2019 7:59 am
The IntegraB board includes a 32k RAM module for Shadow RAM. As with the BBC+, only 20k is required to shadow the screen, so 12k is available for other uses. The IntegraB OS uses a small bit of this for storing some IntegraB variables, and the rest is available as 'Private RAM'...
This does seem very similar to a B+ then and I'd be interested to know what the differences are.

I have been reading the Integra B user guide, which seems to have many similarilties with the Master but this must be a later revision because I am sure the Integra B came out before the master, unless I am confusing it with something else.
Last edited by Coeus on Sun Aug 11, 2019 7:07 pm, edited 1 time in total.

User avatar
KenLowe
Posts: 1168
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by KenLowe » Sun Aug 11, 2019 7:50 pm

Coeus wrote:
Sun Aug 11, 2019 5:16 pm
KenLowe wrote:
Sun Aug 11, 2019 7:59 am
The IntegraB board includes a 32k RAM module for Shadow RAM. As with the BBC+, only 20k is required to shadow the screen, so 12k is available for other uses. The IntegraB OS uses a small bit of this for storing some IntegraB variables, and the rest is available as 'Private RAM'...
This does seem very similar to a B+ then and I'd be interested to know what the differences are.
One basic difference is that the IntegraB includes a RTC that isn't on the BBC B+. The RTC is accessed via address 0xFE3C (data strobe) and address 0xFE38 (address strobe).

I had a quick look at the Beebem source to try and remind myself of the specific differences with the memory map. I should know, since I wrote the BBC B+ / IntegraB memory handling code originally, but that was a while ago now and it's been updated since I wrote it!

The main difference seems to be the way the machines access the private memory.

The IntegraB uses flags at 0xFE34 (RAMSel) to define Private areas (PRVx) & a flag at 0xFE30 (ROMSel) to enable Private RAM (PRVEN). From the manual:

Code: Select all

There are two registers to support memory allocations under INTEGRA OS control. These are however duplicated to facilitate bit-changing and return to a prior state following an interrupt service routine. The registers and their locations are as follows,
ROMSEL	at $FE30	ROM Select latch
ROMID	at $00F4	Ram copy of ROMSEL
RAMSEL	at $FE34	RAM select latch
RAMID	at $037F	Ram copy of RAMSEL

Internal organisation of these registers is,
ROMSEL & ROMID
Bits 0,3	ROMNUM	Sideways ROM/RAM select bits
Bits 4,5	Not used
Bit 6		PRVEN	Private RAM enable
Bit 7		MEMSEL	Shadow/Main RAM toggle

RAMSEL & RAMID
Bits 0,1	AUX0,1	Not used but must be preserved
Bits 2,3	Not used
Bit 4		PRVS8	Private RAM 8K area select (&9000-&AFFF)
Bit 5		PRVS4	Private RAM 4K area select (&8000-&8FFF)
Bit 6		PRVS1	Private RAM 1K area select (&8000-&83FF)
Bit 7		SHEN	Shadow RAM enable bit

ROMNUM is a 4 bit binary number which determines the currently selected Sideways ROM or RAM bank.

PRVEN and PRVS1, 4 and 8 are used together to overlay sections of the private RAM over areas of Sideways ROM or RAM. This means that Software in Sideways ROM or RAM can have direct access to the Private RAM. These bits are best described in the form of a truth table.

Control bits			Memory pages and selected area
PRVEN
|	PRVS1			from	&8000	&8000	&9000	&B000
|	|	PRVS4
|	|	|	PRVS8	to	&83FF	&8FFF	&AFFF	&BFFF
|	|	|	|
0	X	X	X		SWR	SWR	SWR	SWR
1	1	0	0		PRV	SWR	SWR	SWR
1	0	1	0		PRV	PRV	SWR	SWR
1	0	0	1		SWR	SWR	PRV	SWR
1	0	1	1		PRV	PRV	PRV	SWR
SWR is the currently selected Sideways ROM or RAM bank PRV is Private RAM

This differs from the BBC B+. It doesn't seem to use the PRVEN bit of 0xFE30 (ROMSel), or the PRVx bits of 0xFE34 (RAMSel). Instead, it just uses the MEMSEL bit of 0xFE30 (ROMSel). In the IntegraB, this flag is used only to select the shadow screen memory.

Edit:
Coeus wrote:
Sun Aug 11, 2019 5:16 pm
I have been reading the Integra B user guide, which seems to have many similarilties with the Master but this must be a later revision because I am sure the Integra B came out before the master, unless I am confusing it with something else.
I think the IntegraB came out around 1987 (see this photo). My board is Issue 3, dated 1988. According to Wikipedia, the Master came out 1986, and the BBC B+ came out around 1985.
Last edited by KenLowe on Sun Aug 11, 2019 8:00 pm, edited 1 time in total.

Coeus
Posts: 1570
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Coeus » Sun Aug 11, 2019 9:38 pm

KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
The main difference seems to be the way the machines access the private memory.

The IntegraB uses flags at 0xFE34 (RAMSel) to define Private areas (PRVx) & a flag at 0xFE30 (ROMSel) to enable Private RAM (PRVEN).
Thanks, I have had a quick read of this and the rest of the info you posted and will go over it in more detail.
KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
I think the IntegraB came out around 1987 (see this photo). My board is Issue 3, dated 1988. According to Wikipedia, the Master came out 1986, and the BBC B+ came out around 1985.
That's surprisingly late, I wonder if I have the products mixed up. I did find a patent for shadow RAM filed by Chris Jordan, known for Hybrid Technology and the Music 500/5000 series. See https://archive.org/details/PatentGB213 ... rMemories/

Coeus
Posts: 1570
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Coeus » Mon Aug 12, 2019 12:05 am

KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
The main difference seems to be the way the machines access the private memory.
Ken, there is discrepancy between the extra from the manual you have pasted into the thread here and the OCR version of the manual you have uploaded to 8bs. The 8bs RTF version has the private RAM bits of FE34 as:

Code: Select all

bit6   PRVS8 - 8K from &9000-&AFFF
bit5   PRVS4 - 4K from &8000-&8FFF
bit4   PTVS1 - 1K from *8000 to &83FF
you have the bits in the other order:

Code: Select all

Bit 4		PRVS8	Private RAM 8K area select (&9000-&AFFF)
Bit 5		PRVS4	Private RAM 4K area select (&8000-&8FFF)
Bit 6		PRVS1	Private RAM 1K area select (&8000-&83FF)
Your version appears correct and that in the manual incorrect as otherwise IBOS pages private RAM over itself and crashes.
Coeus wrote:
Sun Aug 11, 2019 9:38 pm
That's surprisingly late, I wonder if I have the products mixed up. I did find a patent for shadow RAM filed by Chris Jordan, known for Hybrid Technology and the Music 500/5000 series. See https://archive.org/details/PatentGB213 ... rMemories/
It seems I have indeed got the products mixed up. Chris Jordon was behind the Aries, which was earlier.
Last edited by Coeus on Mon Aug 12, 2019 3:33 am, edited 1 time in total.

User avatar
KenLowe
Posts: 1168
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by KenLowe » Mon Aug 12, 2019 5:35 am

Coeus wrote:
Mon Aug 12, 2019 12:05 am
Ken, there is discrepancy between the extra from the manual you have pasted into the thread here and the OCR version of the manual you have uploaded to 8bs. The 8bs RTF version has the private RAM bits of FE34 as:

Code: Select all

bit6   PRVS8 - 8K from &9000-&AFFF
bit5   PRVS4 - 4K from &8000-&8FFF
bit4   PTVS1 - 1K from *8000 to &83FF
you have the bits in the other order:

Code: Select all

Bit 4		PRVS8	Private RAM 8K area select (&9000-&AFFF)
Bit 5		PRVS4	Private RAM 4K area select (&8000-&8FFF)
Bit 6		PRVS1	Private RAM 1K area select (&8000-&83FF)
Your version appears correct and that in the manual incorrect as otherwise IBOS pages private RAM over itself and crashes.
This was something I picked up and discussed in my PAL decoding thread.

The manual over at 8bs, and the one supplied with Beebem, is an original scan of the Computech manual, and has this error. The corrected manual, from which I quoted above, is available here.

The original manual also actual incorrectly states that the 4k private area, which is selected by bit 5 (PRVS4), sits between &8400 and &8FFF, when in fact it sits between &8000 and &8FFF. This has also been corrected in the updated manual.

User avatar
KenLowe
Posts: 1168
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by KenLowe » Mon Aug 12, 2019 6:00 am

KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
Coeus wrote:
Sun Aug 11, 2019 5:16 pm
I have been reading the Integra B user guide, which seems to have many similarilties with the Master but this must be a later revision because I am sure the Integra B came out before the master, unless I am confusing it with something else.
I think the IntegraB came out around 1987 (see this photo). My board is Issue 3, dated 1988. According to Wikipedia, the Master came out 1986, and the BBC B+ came out around 1985.
Coeus wrote:
Mon Aug 12, 2019 12:05 am
It seems I have indeed got the products mixed up. Chris Jordon was behind the Aries, which was earlier.
That would also tie in with some other detail in the original IntegraB manual, where the manual indicates that the IntegraB has been designed to emulate either a Model B+ or Master 128:

Code: Select all

OSMODE <0-4>

Sets the default Operating System emulation mode. There are five operating system modes available. (Rom id's W...Z = = 4...7, except for Osmode 2 where 12...15 applies).

	0	Standard BBC Model B
	1	BBC Model B with Shadow RAM
	2	BBC Model B+ 128 emulation
	3	BBC Master 128 emulation
	4	BBC Model B+ emulation
	5	BBC Master Compact emulation
Hmmmm. I also notice an error here too. It appears that there are actually 6 operating system modes; not 5. And IBOS actually allows you to set anything between 0 and 7. I'll need to check this out further, and correct it in the next revision of my manual.

Edit: And here's an advert from the December 1987 version of the Micro User to back this up...
IntegraB Advert.JPG
Last edited by KenLowe on Mon Aug 12, 2019 12:59 pm, edited 3 times in total.

Coeus
Posts: 1570
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by Coeus » Mon Aug 12, 2019 12:29 pm

Ken, I was going to say that the 1K column in the trut table should have some don't cares but then I notice that the 4K column overlaps with the 1K section:

Code: Select all

Control bits			Memory pages and selected area
PRVEN
|	PRVS1			from	&8000	&8000	&9000	&B000
|	|	PRVS4
|	|	|	PRVS8	to	&83FF	&8FFF	&AFFF	&BFFF
|	|	|	|
0	X	X	X		SWR	SWR	SWR	SWR
1	1	0	0		PRV	SWR	SWR	SWR
1	0	1	0		PRV	PRV	SWR	SWR
1	0	0	1		SWR	SWR	PRV	SWR
1	0	1	1		PRV	PRV	PRV	SWR
SWR is the currently selected Sideways ROM or RAM bank PRV is Private RAM
perhaps it should be:

Code: Select all

Control bits			Memory pages and selected area
PRVEN
|	PRVS1			from	&8000	&8400	&9000	&B000
|	|	PRVS4
|	|	|	PRVS8	to	&83FF	&8FFF	&AFFF	&BFFF
|	|	|	|
0	X	X	X		SWR	SWR	SWR	SWR
1	1	0	0		PRV	SWR	SWR	SWR
1	X	1	0		PRV	PRV	SWR	SWR
1	0	0	1		SWR	SWR	PRV	SWR
1	1	0	1		PRV	SWR	PRV	SWR
1	X	1	1		PRV	PRV	PRV	SWR
SWR is the currently selected Sideways ROM or RAM bank PRV is Private RAM
This is on the basis that the 1K is a subset of the 4K so if you select to have the 4K paged in you get the 1K anyway regardless of the state of its own selection bit but the 8K is independent. Note the extra line for PRVS1 and PRVS8 being 1 and PRVS4 being 0. Have I got that one right?

I had the idea to add Integra-B support to B-Em and so far it seems to working reasonably well. Do you have a test suite for testing Integra-B operation? So far I have discovered that IBOS expects to see the update-in-porgress (UIP) bit become set on the RTC register A which the Acorn Master MOS doesn't seem to be worried about.
KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
That would also tie in with some other detail in the original IntegraB manual, where the manual indicates that the IntegraB has been designed to emulate either a Model B+ or Master 128
Well as close as it possible withou modifying the motherboard. What seems to be missing are two capabilities from the Master: to display the shadow RAM instead of the main RAM and to map 8K of the extra 12K of RAM to C000 over the VDU drivers rather than into the sideways ROM space. But back to the original question, this seems to be able to emulate the B+ completely and gets fairly close to the Master.
Last edited by Coeus on Mon Aug 12, 2019 12:43 pm, edited 3 times in total.

User avatar
KenLowe
Posts: 1168
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: B or upgraded A? Version 7. Upgrade Advice??

Post by KenLowe » Mon Aug 12, 2019 2:09 pm

Coeus wrote:
Mon Aug 12, 2019 12:29 pm
Ken, I was going to say that the 1K column in the truth table should have some don't cares but then I notice that the 4K column overlaps with the 1K section:

Code: Select all

Control bits			Memory pages and selected area
PRVEN
|	PRVS1			from	&8000	&8000	&9000	&B000
|	|	PRVS4
|	|	|	PRVS8	to	&83FF	&8FFF	&AFFF	&BFFF
|	|	|	|
0	X	X	X		SWR	SWR	SWR	SWR
1	1	0	0		PRV	SWR	SWR	SWR
1	0	1	0		PRV	PRV	SWR	SWR
1	0	0	1		SWR	SWR	PRV	SWR
1	0	1	1		PRV	PRV	PRV	SWR
SWR is the currently selected Sideways ROM or RAM bank PRV is Private RAM
perhaps it should be:

Code: Select all

Control bits			Memory pages and selected area
PRVEN
|	PRVS1			from	&8000	&8400	&9000	&B000
|	|	PRVS4
|	|	|	PRVS8	to	&83FF	&8FFF	&AFFF	&BFFF
|	|	|	|
0	X	X	X		SWR	SWR	SWR	SWR
1	1	0	0		PRV	SWR	SWR	SWR
1	X	1	0		PRV	PRV	SWR	SWR
1	0	0	1		SWR	SWR	PRV	SWR
1	1	0	1		PRV	SWR	PRV	SWR
1	X	1	1		PRV	PRV	PRV	SWR
SWR is the currently selected Sideways ROM or RAM bank PRV is Private RAM
This is on the basis that the 1K is a subset of the 4K so if you select to have the 4K paged in you get the 1K anyway regardless of the state of its own selection bit but the 8K is independent. Note the extra line for PRVS1 and PRVS8 being 1 and PRVS4 being 0. Have I got that one right?
That looks spot on. I'll update the manual to reflect your suggestion.
Coeus wrote:
Mon Aug 12, 2019 12:29 pm
I had the idea to add Integra-B support to B-Em and so far it seems to working reasonably well.
That would be a superb addition.
Coeus wrote:
Mon Aug 12, 2019 12:29 pm
Do you have a test suite for testing Integra-B operation?
I have some software that tests each of the RAM modules (including the shadow RAM), and a bit of software that reads / writes some data from / to the RTC user memory area. Nothing more than that.
Coeus wrote:
Mon Aug 12, 2019 12:29 pm
So far I have discovered that IBOS expects to see the update-in-progress (UIP) bit become set on the RTC register A which the Acorn Master MOS doesn't seem to be worried about.
Interesting. I've not dug into that section of the IBOS code too much, but I'm fairly certain the UIP flag is not emulated in BeebEm.

As an aside, I inserted an unnecessary cludge into BeebEm to make the IntegraB Y2K compliant. Having done a bit of reverse engineering on the IBOS, I've subsequently discovered it was already Y2K compliant. However, 2 digit years were defaulting to 19xx, and to set dates in 20xx it is necessary to use 4 digit year instead of 2 digit (IBOS will accept either). A quick byte patch of the IBOS ROM, and the 2 digit years now default to 20xx. I also had to patch another byte that tells IBOS what day of the week it is on 1/1/00 (it's different between 1/1/1900 and 1/1/2000).
Coeus wrote:
Mon Aug 12, 2019 12:29 pm
KenLowe wrote:
Sun Aug 11, 2019 7:50 pm
That would also tie in with some other detail in the original IntegraB manual, where the manual indicates that the IntegraB has been designed to emulate either a Model B+ or Master 128
Well as close as it possible without modifying the motherboard. What seems to be missing are two capabilities from the Master: to display the shadow RAM instead of the main RAM and to map 8K of the extra 12K of RAM to C000 over the VDU drivers rather than into the sideways ROM space. But back to the original question, this seems to be able to emulate the B+ completely and gets fairly close to the Master.
There was an interesting review in the July 1988 edition of the Acorn User that talked a little bit about compatibility...
AU072 IntegraB Review.pdf
(2.04 MiB) Downloaded 16 times
Edit: And also liking this letter from Acorn:
Acorn 7th May 1991 IntegraB recommendation.jpg

Edit2: Oh, and apologies to the OP, we seem to have hijacked this thread a bit!
Last edited by KenLowe on Mon Aug 12, 2019 5:30 pm, edited 2 times in total.

Post Reply

Return to “8-bit acorn hardware”