Jump to content
InsaneMultitasker

TI-99 Infocom Interpreter Dev

Recommended Posts

No promises but I have been able to document the decode routine. It makes sense and follows the majority of what is outlined here   http://www.inform-fiction.org/zmachine/standards/z1point1/sect03.html

 

The interpreter does decode the characters in the range (155-223) however, the first 5-bit ZSCII code is masked to 2 bits instead of 3, which when combined with the next 5 bits results in a 7-bit code.  Expanding the mask to 3 bits should in theory provide for display of the extended characters.  I do not have pattern definitions for the 6x8 grid used in the TI text mode. If there is a  suitable CHARA1 out there ,I can test implementation.

Share this post


Link to post
Share on other sites
7 hours ago, wierd_w said:

So you need a font?

 

I could maybe generate one for you if you really need one.

I first need to test the interpreter code to see if my understanding of the decode is correct. I'll do that by setting these character definitions to a vertical line, for example.  I realized this morning that I might already have something from an old program that would satisfy the requirements.  Appreciate the offer to generate a font if it comes to that...

Share this post


Link to post
Share on other sites

Okiedoo.

 

But if you change your mind be sure to let me know.  (If you can somehow get me 2 actual colors + the transparent/background color, I can make you some very lovely fonts indeed.)

Share this post


Link to post
Share on other sites

Looking great!

Could the loop of the "e" in æ and œ be closed like in the lowercase e?

Could the Ø be a big bigger (one pixel taller maybe?) than ø? Or maybe squarer, since the capital o is square in that font anyway.

And I imagine there's no way to make the ç a little bigger without confusing it for the Ç? (I guess this is also something that needs to be tested in a real text. I'll send you a story file witv opening paragraphs in French?)

I'm very excited for this, thank you for this 😁

Share this post


Link to post
Share on other sites
15 minutes ago, hlabrand said:

Looking great!

Could the loop of the "e" in æ and œ be closed like in the lowercase e?

Could the Ø be a big bigger (one pixel taller maybe?) than ø? Or maybe squarer, since the capital o is square in that font anyway.

And I imagine there's no way to make the ç a little bigger without confusing it for the Ç? (I guess this is also something that needs to be tested in a real text. I'll send you a story file witv opening paragraphs in French?)

I'm very excited for this, thank you for this 😁

So long as it is within the limitations of an 8x6 character grid :)  The definitions might need to move up one row since the lower set allows for one pixel for descenders, and the top pixel must also remain open.  It will be easier to see with some story text. Adjusting the definitions is easy with Magellan.  I followed an Infocom character set for the ones you mention above, so maybe circle or point out exactly which ones need adjusting. 

 

Also.. for some of the characters, like AE, are they typically used to start a word or sentence?  If so, they could possibly be expanded to take the entire six pixel width, since the smaller characters would have empty pixel column.  

 

For the short term, I'll need a TRIS1/TRIS2 (i.e., GAME1/GAME2) set of files.  I'm not quite ready to commit to the native Z3 file.

Share this post


Link to post
Share on other sites

Thanks to @hlabrand the additional characters are nearly a reality. I've updated the interpreter decoder to allow for the additional 69 ZSCII characters.  One challenge is caused by the TI pattern limitations (8 pixels by 6 pixels), particularly with character descenders.  Circumflexes above capital letters force the character down into the descender row. And I shifted a few characters up a row that probably should be reverted to a lower row.

 

Anyway, here's a sample screenshot :) 

 

image.png.8ef5c88137d578710d0b3b5243354a4a.png

  • Like 1

Share this post


Link to post
Share on other sites

I clearly need to make you a better font.. that one looks... not pleasant. 

 

Send me a magellan file so I know what the glyph order is.  I will make you a nicer looking font in a few hours.

 

When working in such a constrained EM space, (8x6), you need to truncate/compactify the accent marking, so that it only consumes 2 rows of pixels, with 1 row of pixel between it and the top of capital letters.  That makes all characters have an actual EM of 5x5 (since trailing column is the inter-character space). Capitals have a strong typing, and lowercase a soft typing, but identical size. (this can be challenging with C, and S, but doable.)

 

 

Edited by wierd_w
  • Like 2

Share this post


Link to post
Share on other sites

I don't know how to get the current font from the interpreter into Magellan. I have the assembler source for characters 32-127 and 155-223, but Magellan doesn't seem to have an import for DATA statements.  Would love to have you take a crack at it.   (I didn't try to align things this time around but now that I know it can work...)

Share this post


Link to post
Share on other sites

OK. Magellan really wants to do 8x8 pixel glyphs, but I will shoehorn 8x6, by aligning all glyphs with the left-most edge, and making them 5x5 with 1px to right for inter-char space, and 3px ascender space. (Allows 2px size accent, with 1px wide space.)

 

Edit:  I have the base font made.

 

Observe.

image.thumb.png.14c4a3124522b96cd98575f70db44a38.png

 

Now I just need to copy/paste my base font and scribble on the accents.  There is sufficient ascender zone to do it now.

 

 

Edited by wierd_w
  • Thanks 1

Share this post


Link to post
Share on other sites

OK. I don't have the very last special symbols section done, and it is time for me to do rounds.

 

Go ahead and try this out in the mean time.

 

Font1.mag

 

I will do the last few glyphs in the last extended section after work here in a few hours.

Edited by wierd_w
  • Thanks 1

Share this post


Link to post
Share on other sites
3 hours ago, wierd_w said:

OK. I don't have the very last special symbols section done, and it is time for me to do rounds.

 

Go ahead and try this out in the mean time.

 

Font1.mag 84.87 kB · 2 downloads

 

I will do the last few glyphs in the last extended section after work here in a few hours.

Quote

Yup. 5pm for me.  4 hours early. Have to go to bed as soon as I get home.

:grin:

Share this post


Link to post
Share on other sites

Tell me about it... :(

 

I came home from work, sanded on the lettering on the beige enclosure project, took a picture, then just fell into my bed. Woke up a little bit ago. Need to go back to bed. I will finish the font glyphs tonight.

Share this post


Link to post
Share on other sites
1 hour ago, wierd_w said:

Tell me about it... :(

 

I came home from work, sanded on the lettering on the beige enclosure project, took a picture, then just fell into my bed. Woke up a little bit ago. Need to go back to bed. I will finish the font glyphs tonight.

Looks like you got both sections done.  I'll try to run a test later today. 

Share this post


Link to post
Share on other sites

The section that is missing is the special characters, like the omega symbol and pals.  Alphabet characters are all done.

Share this post


Link to post
Share on other sites

The letters that arent in the table posted by InsaneMultitasker (message 30 of this thread) are not supported in Z-Machine v3. (In v5 you can swap that table out for a table with greek or cyrillic or slavic characters, but v3 doesnt allow changes to the tables (1st being ascii and 2nd being the table up in message 30))

Share this post


Link to post
Share on other sites

when I asked about character order, he PMed me this PNG.

 

fullcharimage1.png

 

It his this tiny little area in the bottom that I have not implemented.  There is room in the magellan file to include them. I have not made any 5x5 EM versions of those glyphs yet. That is what I was referring to.

Share this post


Link to post
Share on other sites
11 minutes ago, wierd_w said:

when I asked about character order, he PMed me this PNG.

 

Apologies - when I PM'd you I edited my response to say the third section was an artifact,likely from all of the trouble I had with Magellan.   I should have bolded that sentence so that it stood out.  I'm attempting to run the test now and will post again in a bit. 

Share this post


Link to post
Share on other sites

When I imported the information into Magellan, character 155 is showing up as 163.   It's easy enough for me to delete the 8 undefined definitions ahead of 163 to align the ZSCII characters. I'll do that for the test.

Share this post


Link to post
Share on other sites

looks like I need to tweak some glyphs.

 

Specifically--

 

S, C, t, k, O, & i

 

Sadly I don't have a good solution to O.  It really needs to be a 10x8 charset to get real good capital letter disambiguation for O and S, if you are going to have accent type. (Either that, or you need to give me 3 color mode somehow.)

 

also, classic 99 is buggering the font a little?  Inconsistent rendering.

 

Edited by wierd_w
  • Like 1

Share this post


Link to post
Share on other sites

I like the new font, it looks good! I feel like it looks a bit less busy this way. And the fact that the accents mostly don't affect the shape of the letters is a big plus for readability.

A couple of comments, though:

* for the uppercase letters: I'm having a really hard time noticing them if I don't think about it. Could they be at least 1 pixel taller than the other ones? (Like, as tall as the h, the b or the k.) It'd really help separate the sentences. (Obviously not for the accented capital letters; those look very good.)

* similarly, I think I prefer when numbers are a bit taller than lowercase letters

* the glyph for œ looks more readable in the original font, if it's possible to touch it up? (or is it the inconsistent rendering?)

* it looks like you swapped the characters "a with a circle on top" and "A with a circle on top"

* the inverted ! and ? should be one pixel below the line, traditionally

 

Thanks :D

Edited by hlabrand
  • Like 3

Share this post


Link to post
Share on other sites
2 hours ago, wierd_w said:

lSadly I don't have a good solution to O.  It really needs to be a 10x8 charset to get real good capital letter disambiguation for O and S, if you are going to have accent type. (Either that, or you need to give me 3 color mode somehow.)

 

also, classic 99 is buggering the font a little?  Inconsistent rendering.

 

Alas, there isn't a text mode that would allow for three colors :(  as the 40 and 80 column text modes are both 8hx6w, 2-color.    Classic99's rendering is almost certainly a result of my resizing the window to take a screenshot.  The character set is looking good.  I agree with hlabrand that some letters might look better a pixel higher. The limited pixel area means a tradeoff here and there which in my mind is perfectly acceptable when one considers these ZSCII characters haven't been an option within the TI Infocom interpreter since its release 30+ years ago. 

  • Like 1

Share this post


Link to post
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.

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