Jump to content
IGNORED

What Happens?


Recommended Posts

What happens when a console with 16-bit RAM built-in (and wait states disabled) is attached to a PEB that has a 32K card installed? Does the faster RAM prevail while the 32K card is ignored (down low, too slow)? Does console confusion follow? Are either the console or the card damaged? Is smoke released?  

 

The reason I ask is that I have two consoles, one with the 16-bit RAM and one without. I might have occasion to attach the latter to the PEB - but don't want to be constantly installing and removing the 32K card. That IS an invitation to release the smoke stored therein. 

 

I'm curious, but not curious enough to try it out. Which I guess means I am curious yellow.

 

P.S.: a similar question arises vis the 16-bit console and a NanoPEB. 

Edited by Reciprocating Bill
Link to comment
Share on other sites

You'd need to disable one or the other of them, as the two will definitely argue with each other. It might be easiest to install a disable switch for the in-console memory, that way, you switch it off and connect to the PEB or to the NanoPEB without having any odd memory issues.

Link to comment
Share on other sites

9 minutes ago, Ksarul said:

It might be easiest to install a disable switch for the in-console memory, that way, you switch it off and connect to the PEB or to the NanoPEB without having any odd memory issues.

Actually, that wouldn't work, because it is when the 16-bit console is attached to the PEB that I'd want it to be active, yet the conflict would arise. So I would really need a way to switch the card on and off - off when the 16-bit console is attached, on when an unmodified console is attached. 

Link to comment
Share on other sites

Which leads to that the correct answer is "It depends on how the internal memory expansion is designed." If it can't be disabled, then you shouldn't have any expansion card in the box at the same time, or there will be a conflict. If you make it possible to disable the internal expansion, then it's reasonable to implement that feature in such a way that then the standard expansion becomes visible instead. And vice versa - when the internal expansion is active, the console will not see the card in the box.

That's how I did mine. The only difference compared to Ksarul's suggestion is that I disable mine via CRU bits. That means that a running program can turn off the internal expansion by itself (provided it's not running from it, or it will be the software equivalent of seppuku). Thus such an implementation effectively gives 2 pages of 32 K RAM expansion, if there's a card in the box too.

Edited by apersson850
Link to comment
Share on other sites

4 minutes ago, apersson850 said:

Which leads to that the correct answer is "It depends on how the internal memory expansion is designed." If it can't be disabled, then you shouldn't have any expansion card in the box at the same time, or there will be a conflict. If you make it possible to disable the internal expansion, then it's reasonable to implement that feature in such a way that then the standard expansion becomes visible instead.

That's how I did mine. The only difference compared to Ksarul's suggestion is that I disable mine via CRU bits. That means that a running program can turn off the internal expansion by itself (provided it's not running from it, or it will be the software equivalent of seppuku). Thus such an implementation effectively gives 2 pages of 32 K RAM expansion, if there's a card in the box too.

This leads to the same issue - When I am using the 16-bit console, it is attached to the PEB and I want the faster RAM to be working, not the slower 32K card. So shutting off the 16-bit RAM to eliminate conflict defeats the purpose of the upgrade. It is only when the stock console is attached that I want the 32K card active. 

Edited by Reciprocating Bill
Link to comment
Share on other sites

No, you misunderstood me. Sorry if I wasn't clear enough.

 

With the design I did, there is 64 K RAM inside the console. Out of that, 32 K corresponding to the normal memory expansion is active. The fact that it's active automatically cuts access to the expansion box memory.

If I do disable the internal 32 K RAM expansion, then the memory in the PEB, if there is any, becomes visible at the same addresses. Nothing special has been done to the PEB. If you connect a standard console it works just normal. You have 32 K RAM, slower, in the box. If you run into a program that doesn't execute properly in fast RAM, just switch to the standard RAM.

The modified console has 32 K RAM, faster, regardless of if it's connected to a box or not. If I disable that, it runs like the stock console on the memory in the box.

The remaining 32 K RAM in the console is disabled by default, as it overlays the other addresses in the machine. That is operating system ROM, DSR space, cartridge space and system space (VDP, GROM access, sound etc.)

Edited by apersson850
Link to comment
Share on other sites

3 minutes ago, apersson850 said:

The fact that it's active automatically cuts access to the expansion box memory.

That's the difference - I doubt there is any provision in the design of my upgrade that automatically cuts access to the expansion box memory. But I don't know that for a fact...the upgrade I undertook is described here:

 

http://mainbyte.com/ti99/16bit32k/32kconsole.html

Link to comment
Share on other sites

I was inspired by such a modification, but thought it was a waste to have 64 K RAM and only be able to use half of it. That thought lead to my design.

It would take a while to step through that instruction to check if it disables the box access too, but it's quite likely, as if it doesn't, then random data would be fed back into the console, which would assume a memory card is there.

Link to comment
Share on other sites

3 hours ago, Reciprocating Bill said:

I doubt there is any provision in the design of my upgrade that automatically cuts access to the expansion box memory.

Thinking about it I'd say there has to be. The CPU can access memory that's coupled directly to the data bus. This is the RAM PAD and system ROM in the console. It can also access memory that's on 8-bit wide data path. It does so via the multiplexer which reads two successive bytes and then present them as a word to the CPU. All memory access has one thing in common: Chips not selected must disable their outputs. Otherwise more than one chip respond to the same request. This implies that when accessing system ROM, the RAM PAD chips are disabled. But so is the 8/16 bit converter, or it would respond with some random data. Now when you install memory inside the console, you have to decode that memory instead of the memory outside the console, in the expansion box. Thus you have to turn off the 8/16 bit converter and access the chips directly in the console.

 

The only difference with my design is that I don't make this change permanent, but instead it's gated via a CRU bit, so I can switch between internal and external decoding of the same memory address. But your's should do the same, except you can't switch it. It will just never look in the box for expansion RAM any more.

  • Like 2
Link to comment
Share on other sites

That would rather worry me. That means that all of the circuitry for the expansion card has not been disabled. But it seems the design at least disables the access to data on the card, even if the card still senses the addressing.

With my design, the expansion card is dark when the internal memory is used. I typically use the expansion as part of a RAM-disk, and then it's obvious when the RAM-disk DSR accesses the card.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...