Jump to content
IGNORED

Can you save the contents of the ROM chip to a file to then burn to a EPROM?


gwpt

Recommended Posts

If I wanted to copy the OS ROM chip (16k) to a file, is it as simple as just copying the memory from c000-ffff? (Even though there are IO registers etc in that range)?

And if I then took that 16k file and burnt it to an EPROM and put it in the machine, would that work?

If so, are there are apps that do that? if not, I assume a simple basic app reading the 16k location and writing would work..

Thanks

 

Link to comment
Share on other sites

If you have an EPROM burner, surely the easiest way would be to use the burner to read then write

the current EPROM (assuming the ROM is in a socket)

 

But what you said can be done with the OS, I wrote a printer handler for some hardware I built

many years ago, and moved the OS into RAM which is just a copy and overwrote the OS printer

handler with my code, saved using any RAM and allowed it to work with virtually anything

 

This is a Macro that does that move.

 

0220 ;MOVE OPERATING SYSTEM TO RAM
0230 ;   *=  $5000
0240     LDA #$00
0250     STA $E0
0260     STA $E2
0270     STA $10
0280     STA IRQEN
0290     STA WSYNC
0300     NOP 
0310     LDA #$C0
0320     STA $E1
0330     LDA #$60
0340     STA $E3
0350 L17 LDY #$00
0360 L19 LDA ($E0),Y
0370     STA ($E2),Y
0380     INY 
0390     BNE L19
0400     INC $E1
0410     INC $E3
0420     LDA $E1
0430     CMP #$D0
0440     BNE L17
0450     LDA #$D8
0460     STA $E1
0470 L2E LDY #$00
0480 L30 LDA ($E0),Y
0490     STA ($E2),Y
0500     INY 
0510     BNE L30
0520     INC $E1
0530     INC $E3
0540     LDA $E1
0550     CMP #$00
0560     BNE L2E
0570     LDA PORTB
0580     AND #$FE
0590     STA PORTB
0600     LDA #$60
0610     STA $E3
0620     LDA #$C0
0630     STA $E1
0640 L51 LDY #$00
0650 L53 LDA ($E2),Y
0660     STA ($E0),Y
0670     INY 
0680     BNE L53
0690     INC $E1
0700     INC $E3
0710     LDA $E1
0720     CMP #$D0
0730     BNE L51
0740     LDA #$D8
0750     STA $E1
0760 L68 LDY #$00
0770 L6A LDA ($E2),Y
0780     STA ($E0),Y
0790     INY 
0800     BNE L6A
0810     INC $E1
0820     INC $E3
0830     LDA $E1
0840     CMP #$00
0850     BNE L68
0860     LDA #$C0
0870     STA $10
0880     STA IRQEN
0890     LDA #$40
0900     STA WSYNC
0910     .ENDM 

 

Link to comment
Share on other sites

Thanks TGB1718,

The reason I was thinking of doing it was, I have an Atarimax Warp+ OS 32 in 1 and I also have their MyIde internal kit, and I can only use one at a time.

So I thought I could install the 32 in 1, dump all the ROMs and then permanently install the MyIDE, and have all the ROM ready to load into the MyIDE as I needed them.

Best of both worlds then

Link to comment
Share on other sites

1 hour ago, gwpt said:

If I wanted to copy the OS ROM chip (16k) to a file, is it as simple as just copying the memory from c000-ffff? (Even though there are IO registers etc in that range)?

And if I then took that 16k file and burnt it to an EPROM and put it in the machine, would that work?

Almost. As you say, the I/O chip region is not part of the ROM, but in this specific region of the ROM, the self-test is mapped.

 

Thus, you need to do the following:

1) Write the contents from $c000 to $cfff linearly to a file

2) Turn on the self-test by clearing bit 7 of PIA Port B $d301

3) Append the contents from $5000 to $57fff linearly to the file

4) Turn off the selftest by setting bit 7 of PIA Port B $d301

5) Append the contents from $D800 to $ffff to the same file.

 

This gives a ROM-image that can be directly burned to an EPROM.

Edited by thorfdbg
small error in the addresses
Link to comment
Share on other sites

4 hours ago, thorfdbg said:

3) Append the contents from $5000 to $57fff linearly to the file

 

Sorry, had a small error in the addresses, fixed.

 
Looks like you still have an error in the addresses....  Or maybe you have modified your Atari to have a 19-bit+ address bus? ?
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...