I searched the documentation, and Matt Heffernan's tutorials but I cannot find the location of the ISO char set in ROM.
I know from the tutorial the upper/lower character set lives at $C400 on ROM bank 6.
Using this formula (row * 16 + col) * 8 + baseAddress, shouldn't the last character of this one be at 0xD3F8 and the start of the ISO one 8 bytes afterward at 0xD400?
This character set starts with an @, followed by lower case letters (not ISO).
.......
........
..███...
.....█..
..████..
.█...█..
..███.█.
........
.█......
.█......
.█.███..
.██..██.
.█....█.
.██..██.
.█.███..
........
See this for reference: https://cx16.dk/veratext/
Where Abouts Is The ISO Charset In ROM
Re: Where Abouts Is The ISO Charset In ROM
The character sets are stored as 8x8, 1 bit per pixel. So, each byte stores one 8-pixel row of the character's bitmap, and then 8 bytes for a full 8x8 bitmap. To get the address for a specific character number (in "screen code" order, not in chr$() order!), the formula is more like (codeNum * 8 + base).
As of this writing, the sets are defined at the following addresses:
06:C000 - PETSCII upper/gfx
06:C400 - PETSCII lower/upper
06:C800 - ISO
06:D000 - Thin PETSCII upper/gfx
06:D400 - Thin PETSCII lower/upper
06:D800 - Thin ISO
As of this writing, the sets are defined at the following addresses:
06:C000 - PETSCII upper/gfx
06:C400 - PETSCII lower/upper
06:C800 - ISO
06:D000 - Thin PETSCII upper/gfx
06:D400 - Thin PETSCII lower/upper
06:D800 - Thin ISO
Re: Where Abouts Is The ISO Charset In ROM
Thanks for you help.
You are right, the ISO charset is in the place you have mentioned.
Although I don't think the ISO one is in char code order though, because 68 (0xCA20), represents capital 'D', the same as ASCCII.
I think it is in the order defined here: https://cx16.dk/veratext/
Are these addresses in the documentation? Did I miss them?
You are right, the ISO charset is in the place you have mentioned.
Although I don't think the ISO one is in char code order though, because 68 (0xCA20), represents capital 'D', the same as ASCCII.
I think it is in the order defined here: https://cx16.dk/veratext/
Are these addresses in the documentation? Did I miss them?
Re: Where Abouts Is The ISO Charset In ROM
Tricky thing about the ISO charset.
It is in screen code order, but it's also in character code order, because for ISO mode, screen codes and character codes are the same.
ISO mode treats the screen editor completely differently. For example, it flashes the cursor not by flipping a bit to switch between the two halves of the character set, but by inverting the foreground and background colors.
It is in screen code order, but it's also in character code order, because for ISO mode, screen codes and character codes are the same.
ISO mode treats the screen editor completely differently. For example, it flashes the cursor not by flipping a bit to switch between the two halves of the character set, but by inverting the foreground and background colors.
Re: Where Abouts Is The ISO Charset In ROM
Makes sense.
One question still outstanding though; are these addresses in the documentation?
Did I miss them?
One question still outstanding though; are these addresses in the documentation?
Did I miss them?
Re: Where Abouts Is The ISO Charset In ROM
It seems that only the bank numbers are currently documented, along with a notice that they're not necessarily final and are still allowed to change in future revisions.
Along with this, there's a Kernal function, screen_set_charset ($FF62), available for switching between character sets without having to do it yourself. (This also generates the 128 inverse characters for the PETSCII sets)
And finally, ISO mode, and its character set layout, is also documented.
But you're right, the physical addresses for each character set are not currently documented.
Along with this, there's a Kernal function, screen_set_charset ($FF62), available for switching between character sets without having to do it yourself. (This also generates the 128 inverse characters for the PETSCII sets)
And finally, ISO mode, and its character set layout, is also documented.
But you're right, the physical addresses for each character set are not currently documented.
- desertfish
- Posts: 1123
- Joined: Tue Aug 25, 2020 8:27 pm
- Location: Netherlands
Re: Where Abouts Is The ISO Charset In ROM
If you activate the relevant character set it gets copied to the documented location in VRAM $1f000, and you can copy it from there.