Jump to content
IGNORED

Back in the Day - Dumping Cartridges on 800's


Joe Stella

Recommended Posts

it's been more than a few years -- does anyone recall the procedure to dump carts on an 800? from what i remember, it went along the lines of keep cartridge cover open, while booting up dos, put cart in right slot, then dump cart from address xxxx to yyyy to disk. or maybe it was a ram dump? can't remember why we did it that way, for the life of me.

 

similar procedure on a 400...

Link to comment
Share on other sites

There was a basic program called 'cartcopy' that could copy some of the earlier releases - however it didnt work with carts that had some protection built into them (ie, test to make sure its running from a cart vs RAM).

 

It was a tricky procedure that involved inserting the cart into the right slot on the 800 when prompted to be dumped - I was sucessful getting it to dump about 15% of the time. Most carts I couldnt copy.

 

The was the Omniview board or something similar that could copy most carts and allow diagnosis to fix any protection schemes - I never had one of those.

Link to comment
Share on other sites

Yeah...you would have to avoid hitting a certian trace on the cart as you slid it into the connecter (IIRC you would insert it kinda crooked to the left). I used Scanalyzer to do it which worked 100% of the time...as long as the cart was inserted correctly. The dumps would often fail to play though (due to the C/P in the program)...so when I got tired of tracking down the C/P parts of the program, I broke down and bought an Impersonator card (which is basically just a circuit board that has no program). Using that in conjunction with the dumps worked flawlessly for me (load the backup off disk, insert the card, jump to address). The Impersonator included a header for the files to prompt you to insert the card and jump to the address as well...or you could hit the fuji key to skip it.

Link to comment
Share on other sites

Yeah I had a disk from a friend called the Pirates Treasure Disk and it had a few cart dumping programs on it. On my 800 you opened up the cart cover and jammed in the cart into the right slot and it created a disk file copy of the cart. I only used it in the early years so I remember most carts working, after awhile every game was cracked and available and a hundred people at school already had disk versions so no need for copying carts. I can imagine all the pirating going on at schools today with the net and all :ahoy:

Link to comment
Share on other sites

  • 1 year later...

Hi

 

Anybody knows where to find some more details about the Impersonator and The Pill? Seems to be some very interesting items...

 

All info I know about these products is in the A8 FAQ...

 

Regards

 

Sounds like your talking about "The Pill" from CSS...

 

 

Curt

Link to comment
Share on other sites

CSS's The Pill -> http://nleaudio.com/css/products/pilldocs.htm

 

Still looking for Impersonator docs...

 

Regards

 

Hi

 

Anybody knows where to find some more details about the Impersonator and The Pill? Seems to be some very interesting items...

 

All info I know about these products is in the A8 FAQ...

 

Regards

 

Sounds like your talking about "The Pill" from CSS...

 

 

Curt

Link to comment
Share on other sites

  • 1 month later...

Hello

 

I'm looking for that CARTCOPY.BAS.

Can anybody tell me where can I find it?

 

Regards

 

PS: Some info about that program can be found here.

 

 

There was a basic program called 'cartcopy' that could copy some of the earlier releases - however it didnt work with carts that had some protection built into them (ie, test to make sure its running from a cart vs RAM).
Link to comment
Share on other sites

Wow!

 

That's a fast response! And that's what I was looking for! Thanks Atarimania!

Where were these utilities originally available?

 

Regards

 

PS at Goochman: I assume this very simple program can dump only un-protected game programs, mostly very old titles from Atari, could Star Raiders be dumped with this program? Label says © 1980...

 

Check the attachment, I believe it's on that disk...
Link to comment
Share on other sites

Hi

 

I have some doubts about the CARTDUMP.BAS program. Here's the snippet of code I'm trying to understand now.

 


50 ? :? "WHAT CARTRIDGE SLOT TO COPY ?":? ".A=CART SLOT A:B=CART SLOT B":POKE 764,255:S=0:D=1

60 IF PEEK(764)=63 THEN S=8192:GOTO 80

70 IF PEEK(764)<>21 THEN 60

80 ? :? "WHAT DOS ARE YOU USING?":? ".1=DOS 1:2=DOS 2"

90 IF PEEK(764)=30 THEN D=2:GOTO 110

100 IF PEEK(764)<>31 THEN 90

110 POKE 764,255:? ".DEVICE:FILENAME ";:INPUT A$:OPEN #1,8,0,A$:IF D=1 THEN PUT #1,132:PUT #1,9:GOTO 130

120 PUT #1,255:PUT #1,255

130 PUT #1,0:PUT #1,45:PUT #1,34:PUT #1,77

140 FOR A=32768 TO 40959:PUT #1,PEEK(A+S):NEXT A:PUT #1,169:PUT #1,160:PUT #1,133:PUT #1,106:PUT #1,32:PUT #1,246

150 PUT #1,243:PUT #1,162:PUT #1,32:PUT #1,160:PUT #1,0:PUT #1,185:PUT #1,0:PUT #1,45:PUT #1,153:PUT #1,0:PUT #1,160

160 PUT #1,200:PUT #1,208:PUT #1,247:PUT #1,238:PUT #1,13:PUT #1,77:PUT #1,238:PUT #1,16:PUT #1,77:PUT #1,202:PUT #1,208

170 PUT #1,238:PUT #1,32:PUT #1,PEEK(40958+S):PUT #1,PEEK(40959+S):PUT #1,76:PUT #1,PEEK(40954+S):PUT #1,PEEK(40955+S)

180 PUT #1,224:PUT #1,2:PUT #1,225:PUT #1,2:PUT #1,0:PUT #1,77:CLOSE #1

 

I understand that this portion of code is in charge of creating a valid Atari EXE file based on the contents of an Atari cartridge. I understand lines 50 to 130 are in charge of writing a valid Atari executable file header. Next, line 140 makes the actual cart dump (FOR/NEXT cycle). My question is:

 

What are all those PUTs done after the actual cartridge dump (Lines 140 to 170)? What's the idea here?

 

Regards

Link to comment
Share on other sites

I think the 'Pill' is just 16k of SRAM in a cartridge with a toggle switch to disconnect the r/w line so the cart becomes 'read only' after loading. Add a lithium cell and you have a battery backed ram cart for about $3 in parts.

 

In fact I think thats exactly what a 'hollex' cartridge is too. The ram is just written by enabling the write switch, loading a EXE file from 8000-BFFF and turning the write protect back on.

 

Now there was a 'super pill' too... more ram? I never actually saw one of those.

Link to comment
Share on other sites

What are all those PUTs done after the actual cartridge dump (Lines 140 to 170)? What's the idea here?

 

It looks like this code is making the exe load in at $2D00, so that extra code is probably to copy the cartridge code to the proper address ($8000 or $A000) and called via the RUN vector. The code also looks like it jsrs to the cartridge init vector, and then probably jmps to the cartridge run vector.

Link to comment
Share on other sites

It looks like this code is making the exe load in at $2D00, so that extra code is probably to copy the cartridge code to the proper address ($8000 or $A000) and called via the RUN vector.  The code also looks like it jsrs to the cartridge init vector, and then probably jmps to the cartridge run vector.

 

Hi

 

Where are located the Cartridge Init vector and tje Cartridge Run vector?

So I can locate it in my copy of Mapping the Atari...

 

Regards

Link to comment
Share on other sites

It looks like this code is making the exe load in at $2D00, so that extra code is probably to copy the cartridge code to the proper address ($8000 or $A000) and called via the RUN vector.  The code also looks like it jsrs to the cartridge init vector, and then probably jmps to the cartridge run vector.

 

Hi

 

Where are located the Cartridge Init vector and tje Cartridge Run vector?

So I can locate it in my copy of Mapping the Atari...

 

Regards

 

This is from Mapping the Atari:

 

Byte                                     Purpose

Left (A)                     Right(B)

49146 ($BFFA)             40954 ($9FFA)  Cartridge start address (low byte)

49147 ($BFFB)             40955 ($9FFB)  Cartridge start address (high byte)

49148 ($BFFC)             40956,($9FFC)  Reads zero if a cartridge is

    inserted, non-zero when no cartridge is present. This information

    is passed down to the page zero RAM: if the A cartridge is plugged

    in, then location 6 will read one; if the B cartridge is plugged in,

    then location 7 will read one; otherwise they will read zero.

49149 ($BFFD)             40957 ($9FFD)  Option byte. If BIT 0 equals one,

    then boot the disk (else there is no disk boot). If BIT 2 equals one,

    then initialize and start the cartridge (else initialize but do not

    start). If BIT 7 equals one, then the cartridge is a diagnostic

    cartridge which will take control, but not initialize the OS (else

    non-diagnostic cartridge). Diagnostic cartridges were used by

    Atari in the development of the system and are not available to the

    public.

49150 ($BFFE)             40958 ($9FFE)  Cartridge initialization address

    low byte.

49151 ($BFFF)             40959 ($9FFF)  Cartridge initialization address

    high byte. This is the address to which the OS will jump during all

    powerup and RESETs.

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