|
Post by MadModder on Aug 17, 2006 7:27:08 GMT -5
I have tried to copy the basic and kernal ROM on my c64 to the RAM underneath, and switched from ROM to RAM by doing poke1,52. The reason is I want to do some changes and see what happens in realtime. Now, this does not work. It crashes. I have read somewhere I have to disable interputs. How do I do that from basic?
|
|
|
Post by Robin Harbron on Aug 17, 2006 7:39:10 GMT -5
I have read somewhere I have to disable interputs. How do I do that from basic? POKE 56333,127 will disable the interrupt the CIA interrupt that flashes the cursor, scans the keyboard, etc. POKE 56333,129 will enable it again. Note that you can't disable from immediate mode, as you won't be able to type in the instruction to start interrupts again If it still doesn't work, could you post the code you're using?
|
|
|
Post by MadModder on Aug 17, 2006 7:47:52 GMT -5
Hmm... I want to change some of the values in the keyboard mapping tables, to map some characters to different keys. But that has no point, because I can't use the keyboard when having the kernal in RAM?
|
|
|
Post by Robin Harbron on Aug 17, 2006 12:53:11 GMT -5
Hmm... I want to change some of the values in the keyboard mapping tables, to map some characters to different keys. But that has no point, because I can't use the keyboard when having the kernal in RAM? Well, post your code and we'll see if we can get it working the way you want it to.
|
|
|
Post by MadModder on Aug 17, 2006 14:18:31 GMT -5
I don't have any code. I just tried doing it directly. ;D
|
|
|
Post by tlr on Aug 17, 2006 15:50:06 GMT -5
I have tried to copy the basic and kernal ROM on my c64 to the RAM underneath, and switched from ROM to RAM by doing poke1,52. The reason is I want to do some changes and see what happens in realtime. Now, this does not work. It crashes. I have read somewhere I have to disable interputs. How do I do that from basic? 52 = $34, i.e you switch out all I/O at $d000-$dfff aswell. Do poke 1,53 after your copying and you'll be fine. No need to disable interrupts.
|
|
|
Post by MadModder on Aug 17, 2006 16:14:41 GMT -5
But I first tried to copy just the basic rom, A000 to BFFF, and then poke 1,54. It works well, and I can change anything there.
I then cold started and tried to copy E000 to FFFF, and then poke 1,53. It did not work. I tried now again, and nothing happens. The screen goes blank, and it says Ready. Peek(1) still says 55.
|
|
|
Post by Jim Lawless on Aug 17, 2006 22:58:15 GMT -5
|
|
|
Post by tlr on Aug 18, 2006 2:51:19 GMT -5
But I first tried to copy just the basic rom, A000 to BFFF, and then poke 1,54. It works well, and I can change anything there. I then cold started and tried to copy E000 to FFFF, and then poke 1,53. It did not work. I tried now again, and nothing happens. The screen goes blank, and it says Ready. Peek(1) still says 55. Cold start, as in reset or power cycle? Just do it in one sweep. Copy A000-BFFF + E000-FFFF, then poke1,53. You aren't copying one byte short, are you? The last address of the kernal is the MSB of the IRQ address. If this is faulty it will crash as soon as you switch out the rom.
|
|
|
Post by MadModder on Aug 18, 2006 3:04:23 GMT -5
Yes, power cycle. Maybe it's cold boot... or is it possible to cold boot NOT power cycling? So, poke 1,55 switches the basic, poke 1,53 the kernal and basic, and poke1,52 everything in between also? Jim: Interesting article... thanks
|
|
|
Post by tlr on Aug 18, 2006 3:37:37 GMT -5
Yes, power cycle. Maybe it's cold boot... or is it possible to cold boot NOT power cycling? I think reset is commonly refered to as cold start, and run/stop-restore as warm start. Anyway, because of what you noted below basic will be gone in ram after a power cycle and it will then crash when you switch out the rom. So, poke 1,55 switches the basic, poke 1,53 the kernal and basic, and poke1,52 everything in between also? poke 1, 54 you mean ofcourse. Yes, 54 ($36) switches out basic, 53 ($35) switches out basic and kernal, 52 ($34) switches to 64Kb RAM. 55 ($37) is the normal setup.
|
|
|
Post by MadModder on Aug 18, 2006 4:22:57 GMT -5
Yes, yes. I meant that. Doh... Now, let's see... [edit] Yes. Now that I did everything like I sould, it works. Ofcourse... Thanks guys And it works on the DTV too.
|
|