Struggling with LORES1

The Oric video chip is not an easy beast to master, so any trick or method that allows to achieve nice visual results is welcome. Don't hesitate to comment (nicely) other people tricks and pictures :)
applepie
2nd Star Corporal
Posts: 23
Joined: Thu Dec 15, 2022 4:53 pm

Struggling with LORES1

Post by applepie »

Hi all ! I'm trying to understand how alternate charset works in LORES1

The idea is to redefine all those chars to create sprites, as in https://forum.defence-force.org/viewtopic.php?t=2449

Problem is that I don't have a clue of
- how the charset is encoded (at 0xb900 after being copied from rom to ram)
- how to reference those chars when displaying
- on the screen memory : is a single "shape" 3x2 pix ? So 160 bytes (eg. starting at 0xBB80) will represent 2 lines of 80 shapes ?

I'm in the haze :-))

Tried several books from defense-force library, and articles from osdk web site, I still don't get it.

Eg. from https://www.defence-force.org/computing ... /index.htm

Code: Select all

Coding of alternate charset
01 	02
04 	08
16 	64
If you want to draw a character with the top-left ,middle-right, and bottom-left blocs activated, you have to display the character with the ASCII value of: 32 (Characters before 'space' are attributes) +01+08+16.
Perhaps you notice that the last value was 64 instead of 32 ? We need to force the 5th bit to ONE, so we're sure to never have to display an attribute. All of that is a little bit tricky, and hard to explain, but it's not so important to know it since nobody uses this mode :)
Really ? Is LORES useless ?
User avatar
Dbug
Site Admin
Posts: 4221
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Struggling with LORES1

Post by Dbug »

If you want to redefine them, then you don't have to understand how they are encoded, just overwrite the charset area.
They work exactly like the normal character set, but they only appear when there's been an ALT attribute put on the left of.

It's just the standard 6x8 Oric characters, but with a default representation consisting of 2x3 blocks to allow for some kind of semi-graphics.

The only limit is that by default you can only use the 64 first characters, because the 32 next conflicts with the start of the TEXT video memory, which you can cheat around by switching to HIRES at the top of the screen to show some graphics, title, etc... then switch back to TEXT and then you can use all the 96 characters as you want.

There are a few more details here:
- https://osdk.org/index.php?page=article ... T9#title11
- https://osdk.org/index.php?page=articles&ref=ART8
applepie
2nd Star Corporal
Posts: 23
Joined: Thu Dec 15, 2022 4:53 pm

Re: Struggling with LORES1

Post by applepie »

Oh thanks ! Seems that I was over complexifying the whole stuff ;-)
User avatar
iss
Wing Commander
Posts: 1520
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Struggling with LORES1

Post by iss »

applepie wrote: Tue Dec 27, 2022 4:10 pm The idea is to redefine all those chars to create sprites... Really ? Is LORES useless ?
Kind of LORES demo HERE :wink:
applepie
2nd Star Corporal
Posts: 23
Joined: Thu Dec 15, 2022 4:53 pm

Re: Struggling with LORES1

Post by applepie »

iss wrote: Tue Dec 27, 2022 8:27 pm Kind of LORES demo HERE :wink:
Very nice !!
User avatar
rax
Flying Officer
Posts: 159
Joined: Tue Jul 24, 2018 3:16 pm

Re: Struggling with LORES1

Post by rax »

Dbug has exhausted the topic. LORES is a completely normal text mode.

1. Character data is located from $B800.
2. To show an alternate char, the line must have an alternate code toggle charset.
Post Reply