Jump to content
IGNORED

Trouble pointing to copy of character set on 130XE


Tyrop

Recommended Posts

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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