Tyrop Posted June 9, 2007 Share Posted June 9, 2007 I am dabbling with learning machine language on a 130XE. I'm booting with Spartados 3.2g. I wrote a program to copy the character set from ROM starting at $E000, to RAM starting at $2600 (just an arbitrary location). I copied all 1024 bytes. But when I put $26 into CHBAS (decimal 756) or poke 756,38 (decimal for $26), I get an unexpected result: all upper case disappears and all lower case appears as upper case. I was expecting there to be no change because I was poking 756 with the location of the start of the character set. It should be exaclty the same as if I left 756 pointing to $E000, shouldn't it? I even manually compared the entire 1K block starting at $2600 with the 1k block starting at $E000. My copy program worked, i.e., the blocks were identical. What am I doing wrong? Quote Link to comment Share on other sites More sharing options...
kenfused Posted June 9, 2007 Share Posted June 9, 2007 I am dabbling with learning machine language on a 130XE. I'm booting with Spartados 3.2g. I wrote a program to copy the character set from ROM starting at $E000, to RAM starting at $2600 (just an arbitrary location). I copied all 1024 bytes. But when I put $26 into CHBAS (decimal 756) or poke 756,38 (decimal for $26), I get an unexpected result: all upper case disappears and all lower case appears as upper case. I was expecting there to be no change because I was poking 756 with the location of the start of the character set. It should be exaclty the same as if I left 756 pointing to $E000, shouldn't it? I even manually compared the entire 1K block starting at $2600 with the 1k block starting at $E000. My copy program worked, i.e., the blocks were identical. What am I doing wrong? The character set has to be at an address on a 1K boundary IIRC (except graphics 1&2 which I think it can be 512 byyte boundary). So going to $2400 or $2800 should work. --ken Quote Link to comment Share on other sites More sharing options...
Tyrop Posted June 9, 2007 Author Share Posted June 9, 2007 The character set has to be at an address on a 1K boundary IIRC (except graphics 1&2 which I think it can be 512 byyte boundary).So going to $2400 or $2800 should work. --ken Wow that did it, thanks! I knew it was something simple, and now that you mention it, I remember reading that it had to be on a 1k boundary. 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.