Jump to content
IGNORED

cartridge on/off switch


Marius

Recommended Posts

Hi!

 

On my Atari 600XL I am using a 8KB Cartridge. It is a cart with an assembler, which is loaded in aread A000-BFFF.

 

When I pull out the cart during power on, I'm risking ramdisk-loss. Since I don't want to loss my ramdisk, I have to backup my ramdisk first, then pull the cart off, run a tool that needs A000-BFFF and then put my cartridge in again...

 

That is a little too much hehe.

 

I am going to make a switch on my cart, that en/disables it. It is inserted but not seen by the atari... that is the idea.

 

How do I make such a thing?

 

It is ok to reboot the atari after the switch is changed position. That's ok for me. As long as my ramdisk content is not in 'danger' ...

 

Thanks

M.

Link to comment
Share on other sites

Well when I am progging I need other tools from time to time. Everytime I pull the cart out to release a000-bfff my ramdisk might get corrupted ... I don't want that.

 

Another option would be replacing basic rom inside with this rom. Or a basic + assembler rom with switch ...

 

But I want to know how to make a switch to disable a 8kb cart. Must be possible.

Link to comment
Share on other sites

Your cart brings up the RD5 line in order to take over $A000-$BFFF addresses. The MMU will then send all addresses in that range to whatever is selected by the S5 signal. If you open the RD5 circuit, the addresses will revert to RAM, even though the cart is still inserted. I think the system will lock up if you open RD5 on an XL while you're running. Ramdisk will be OK, however.

 

Bob

 

 

 

Hi!

 

On my Atari 600XL I am using a 8KB Cartridge. It is a cart with an assembler, which is loaded in aread A000-BFFF.

 

When I pull out the cart during power on, I'm risking ramdisk-loss. Since I don't want to loss my ramdisk, I have to backup my ramdisk first, then pull the cart off, run a tool that needs A000-BFFF and then put my cartridge in again...

 

That is a little too much hehe.

 

I am going to make a switch on my cart, that en/disables it. It is inserted but not seen by the atari... that is the idea.

 

How do I make such a thing?

 

It is ok to reboot the atari after the switch is changed position. That's ok for me. As long as my ramdisk content is not in 'danger' ...

 

Thanks

M.

Link to comment
Share on other sites

The Freezer does almost what you want, it changes the state of the RD4 line which makes the machine think a cart is inserted or not.

 

This is in aid of generating a coldstart without having to touch the power switch.

 

The problem is, if you make a switch such that it enables or disables an inserted cart, you still get the coldstart. But you're only losing the lowest 40 or 48K RAM, so it would still be OK for RAMDisks so long as they don't automatically wipe themselves on reboots.

 

So what you'd want for changing cart insert status is a positional switch rather than the momentary action that a Freezer generates.

 

Unsure what circuit Freezer uses, but you'd probably want 2 positions - Off would pass the signal through unchanged, On would invert the signal, reversing the status.

Link to comment
Share on other sites

I would guess that you would want to IPL if you disabled your cartridge after it had been running, although there may be instances where all you really want is access to the RAM 'under' the cart. You could convince Freezer to not re-boot, but you would need to open the RD4 line to free up memory. Freezer doesn't actually change the state of RD4 itself, just the Trigger input for RD4.

 

Bob

 

 

The Freezer does almost what you want, it changes the state of the RD4 line which makes the machine think a cart is inserted or not.

 

This is in aid of generating a coldstart without having to touch the power switch.

 

The problem is, if you make a switch such that it enables or disables an inserted cart, you still get the coldstart. But you're only losing the lowest 40 or 48K RAM, so it would still be OK for RAMDisks so long as they don't automatically wipe themselves on reboots.

 

So what you'd want for changing cart insert status is a positional switch rather than the momentary action that a Freezer generates.

 

Unsure what circuit Freezer uses, but you'd probably want 2 positions - Off would pass the signal through unchanged, On would invert the signal, reversing the status.

Link to comment
Share on other sites

The reboot thing isn't so straightforward to get around.

 

The OS maintains a watch on TRIG3 via deferred VBlank housekeeping, and dependant on version will lockup or reboot immediately when that changes (TRIG3 on XL is the quick cartridge detect mechanism).

 

The warmstart (Reset) processing also checks if TRIG3 has changed, and also detects if the ROM has changed at the $BF00 page via a Checksum.

 

You can get around those things using a utility that allows hotswaps.

 

It'd be easy enough to develop a utility that allows you to do a state change then be able to warmstart the system, keeping the RAMDisk intact.

 

It might also be worth looking into a RAMDisk that will survive across coldstarts. There's no reason why RAMDisks that use the Extended $4000 area RAM, and/or RAM under the OS can't be preserved, the OS never touches it.

Edited by Rybags
Link to comment
Share on other sites

@rybags

 

Let me clarify one thing:

 

The only reason my ramdisk might get hurt is the fysical action of pulling and pushing cartridges. I checked this: When you enter a cart and you get all that garbage on the screen, and you recheck the contents in extended memory there are chances that this data is corrupted.

 

I have a tool that fills all my 32 pages of extended ram with #$FF

 

I have another tool that checks all 32 pages of extende ram for the value #$FF

 

This tool works great. As soon as I insert my cart, and pull it out. And I recheck the extended memory. In 9 of 10 cases the extended ramdisk is ok, but in the 10th case it is corrupted. So: I don't want to push and pull carts as long there is value data in my ramdisk.

 

A coldboot is no problem at all for me. I have a driver that can re-init ramdisk without formatting, so that is ok.

 

I just want a switch on my cart to disable it.

 

To get more clear:

 

I use Synassembler on cart.

 

I'm programming on my code. Store my temp. sources on ramdisk, I also store my temp. object files on ramdisk.

Everything appears to work fine. So it is time to pack all the created temp. object files into one binary. So I start superpacker. But that tool uses also the same meory range as synassembler. So... no go. I have to pull out Synassembler. And there it can happen: ramdisk loss, everything lost *sigh*

 

This could be a solution for me:

Switch cart of with switch, I suppose my ramdisk will not get frustrated by that.

I reboot atari

I re-init ramdisk without formatting

I start superpacker

I pack the temp. obj files and save them back (also to ramdisk)

I'm happy with my new .com file... but oops... I made one mistake.

I switch the cartridge back on

I reboot atari

I re-init ramdisk without formatting

I type "Car" from the prompt, and fix my source.

 

And this all will work without any problem. The only thing I need is that switch :)

 

Bob1200XL wrote about RD5

Rybags wrote about RD4

 

What is it?

 

I'm not a technical miracle... so please help me: is it just cutting RD4 (RD5?) from my cart PCB and put a switch between the two cutted sides of the trace?

 

Thanks

M.

Link to comment
Share on other sites

Bob1200XL wrote about RD5

Rybags wrote about RD4

 

What is it?

 

I'm not a technical miracle... so please help me: is it just cutting RD4 (RD5?) from my cart PCB and put a switch between the two cutted sides of the trace?

It's RD5 (RD4 is for 16k carts, controlling 8000-9FFF). If you just want to disable this 8k cart, cut the trace and add a switch.

 

If you'd like to switch between 2 carts, you'd also have to cut S5 (the "chip select" going to the cart) and maybe CCTL - and use a 2-position switch to run these signals to either of the two carts.

 

so long,

 

Hias

Link to comment
Share on other sites

My mistake... RD5 it is.

 

You've got 2 choices - you could build a switch into the computer, or the cartridge.

Of course, cart option means not hacking into the computer but means you only have the switch on the one cart.

 

I'd think you can just leave CCTL alone - the OS doesn't do any stuff with $D5xx accessing, so a cartridge present but not registering or mapped into $A000-BFFF but still with CCTL functionality wouldn't be a problem.

 

I'd have also assumed that you could just get by with the one switch that simply cuts off the RD5 line or connects it to the cartridge port. So, you'd have a case of cart disabled, or normal operation. Having an override that signifies cartridge present doesn't have much use, although you could employ such a system to allow write-protecting RAM - but I think that also requires extra logic such that it only acts during attempted writes.

Link to comment
Share on other sites

RD5 controls the $A000-$BFFF region. Your switch should close the connection between +5V and RD5 to enable the cart, and open it to disable.

 

Ok thanks to you all guys!

 

One more question:

 

"Open" does mean "not connected", or does it mean: connected to "ground"?

 

Greetz

M.

Link to comment
Share on other sites

'Not Connected' There is a pull-up resistor on the motherboard.

 

Bob

 

 

 

RD5 controls the $A000-$BFFF region. Your switch should close the connection between +5V and RD5 to enable the cart, and open it to disable.

 

Ok thanks to you all guys!

 

One more question:

 

"Open" does mean "not connected", or does it mean: connected to "ground"?

 

Greetz

M.

Link to comment
Share on other sites

It works!

 

Even better than expected. The atari doesn't even crash.

 

I simply can switch the cart on. Type CAR from the prompt, it goes to cartridge.

 

When I'm on the dos prompt and switch the cart off with the switch, and I type car it immediately answers: no cartridge.

 

When I switch the cart back on, and I type car, it is back on again.

 

Amazing how simple, and how cool this works.

 

I suppose this does not give any disturbance on the data and address lines, so my ramdisk will not be in risk due to this!

 

Thanks to you all folks!!

Marius

Link to comment
Share on other sites

Hmm, interesting. I've often thought about adding a switch to my AtariMax flashcart since it is always flashed with SpartaDOS and I often plug and remove it. I might have to have a look into it. (Although I guess once I get hold of my Ultimate 1Mb boards I won't need the cart for SDX in my main machines)

Link to comment
Share on other sites

Hmm, interesting. I've often thought about adding a switch to my AtariMax flashcart since it is always flashed with SpartaDOS and I often plug and remove it. I might have to have a look into it. (Although I guess once I get hold of my Ultimate 1Mb boards I won't need the cart for SDX in my main machines)

 

Hi Spookt!

 

For the AtariMax 1Mbit flashcards I just wrote a CART ON (needs reboot) and CART OFF tool (no reboot needed)

 

I am rather sure this will work with SDX on AtariMax Flashcard too.

 

Perhaps you could test that for me?

 

Drop me a line if you are interested.

 

I now have Synassembler on AtariMax cart and that works great, without hardware switch.

My custom made Synassembler cart (built in an old Basic cart) works great WITH hardware switch.

 

Both solutions are extremely cool.

Greetz

M.

Link to comment
Share on other sites

Hi Marius-

 

How about posting a picture/description of where you did this? Mounted on the cartridge?

 

IIRC, this used to be a popular mod on 800's, but I thought it was supposed to make an XL reboot? But sounds like it worked very well for you!

 

Thanks,

Larry

 

 

It works!

 

Even better than expected. The atari doesn't even crash.

 

I simply can switch the cart on. Type CAR from the prompt, it goes to cartridge.

 

When I'm on the dos prompt and switch the cart off with the switch, and I type car it immediately answers: no cartridge.

 

When I switch the cart back on, and I type car, it is back on again.

 

Amazing how simple, and how cool this works.

 

I suppose this does not give any disturbance on the data and address lines, so my ramdisk will not be in risk due to this!

 

Thanks to you all folks!!

Marius

Link to comment
Share on other sites

Hi Marius-

 

How about posting a picture/description of where you did this? Mounted on the cartridge?

 

IIRC, this used to be a popular mod on 800's, but I thought it was supposed to make an XL reboot? But sounds like it worked very well for you!

 

Thanks,

Larry

 

Hi Larry,

 

The cartridge is closed already. Since it was rather hard to close it back (I had to prevent electrical short-cuts, with the switch) I do not want to open it again, unless It breaks.

 

But I can describe what I did... it is rather simple:

 

1. I opened an old cartridge. It appeared to be a 16KB cartridge.

 

2. I cut the trace going to cart pin RD4, since my assembler is an 8KB rom

 

3. I removed the eproms in the cart. I also removed the LEFT socket (to make space for a switch). Left means when the eproms are facing up, and the connection pads are point toward you.

 

4. I rewired a 2764pinout Eprom to the pinout of the cart. (There are some differences between the pinout of atari roms and 8KB eproms). I placed

 

5. I also cut the connection between +5 and RD5 on the board.

 

6. I removed the painted layer over the trace that is above the RD5 connection pad.

 

7. I soldered a small wire above that RD5 connection pad, and connected the other side to one side of a switch.

 

8. I soldered another wire from +5V somewhere on the Cartridge PCB and connected that to the centerpin of the switch.

 

Well that was all.

 

Works like a charm.

 

Greetz

M.

Link to comment
Share on other sites

Today I found out that a stock Atari will reboot after using the switch.

 

My Atari has the Qmeg OS (4.04) ... I think that's why my Atari does not reboot after using the switch.

 

Qmeg keeps surprising me as a superb OS alternative.

 

Switching the cart on and off without rebooting! amazing!

 

Greetz

M.

Link to comment
Share on other sites

Hi Marius-

 

Thanks for the step-by-step. Think I'll try this with a spare cart, and I'll put up a couple of pics when I finish. Your description is certainly very complete, but pictures are always nice (IMO, anyway). I have some teeny, tiny switches that I think will fit very well.

 

Even with a reboot, some ramdisk handlers check to see if the contents are corrupted, and if not, they do preserve the ramdisk contents. That's true with MyDos. Perhaps there are some Sparta RD handlers that do likewise? Anyway, also good to know about Qmeg which also solves that issue.

 

Thanks for asking the question to begin with!

 

-Larry

 

 

 

 

Today I found out that a stock Atari will reboot after using the switch.

 

My Atari has the Qmeg OS (4.04) ... I think that's why my Atari does not reboot after using the switch.

 

Qmeg keeps surprising me as a superb OS alternative.

 

Switching the cart on and off without rebooting! amazing!

 

Greetz

M.

Link to comment
Share on other sites

There is one more thing you have to look after!

 

The RD5 connection pad (the thing that makes contact in the cartridge connector in your atari) has only a very short lead on stock atari cartridges. So you have to make the cut as high as possible.

 

Use very thin wire, and as less as possible solder.

 

In my first try I had it done, but then the cartridge didn't fit anymore in the cartridge connector of my XL/XE (first I tested it on the cartridge bus of my BlackBox)

 

The PCB + wire has to fit in the cartridge connector, so use a thin wire!

 

Greetz

M.

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...