gwpt Posted January 20, 2021 Share Posted January 20, 2021 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 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted January 20, 2021 Share Posted January 20, 2021 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 Quote Link to comment Share on other sites More sharing options...
gwpt Posted January 20, 2021 Author Share Posted January 20, 2021 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 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted January 20, 2021 Share Posted January 20, 2021 (edited) 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 January 20, 2021 by thorfdbg small error in the addresses Quote Link to comment Share on other sites More sharing options...
gwpt Posted January 20, 2021 Author Share Posted January 20, 2021 Thanks for the detail thorfdbg. Much appreciated! Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted January 20, 2021 Share Posted January 20, 2021 40 minutes ago, gwpt said: Thanks for the detail thorfdbg. Much appreciated! Sorry, had a small error in the addresses, fixed. 1 Quote Link to comment Share on other sites More sharing options...
StickJock Posted January 20, 2021 Share Posted January 20, 2021 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? ? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.