Jump to content
IGNORED

VBXE Fonts


Recommended Posts

I'm using TBXL and SDX as my environment.  I have loaded S_VBXE.SYS (far as I know it is the newest version).  I have loaded a 2kB font at location $8000 which is on a 2kB boundary.  According to the documentation, poking $2F4 with $80 shows the font (128 characters and the rest in inverse).   Poking with $81 shows all 256 characters.  So far, so good.  However, poking with $82 in order to prevent the ATASCII - ASCII translation does not work.  The font I am loading is from https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_cga

 

The font should have $00 as blank, $01 as smiley face, etc.

cga.thumb.png.7d69858574b5d4ced2c53b65623e5a2a.png

 

The attached video shows that it does not.  CHR$(00) prints ASCII 64 (the @), CHR$(01) prints ASCII 65 (the A).  The video also shows what happens when poking values to register $2F4.  I start at $80, then show $81, $82, $83, $84, $85.

 

Am I doing something wrong, or is there a bug in the S_VBXE.SYS driver / documentation regarding 2kB fonts?

 

Thanks for any help.

  • Like 1
Link to comment
Share on other sites

I've not really played with 80-col on VBXE much.

 

But if your characters displayed are not as expected, it could be to do with the relative mapping of screen codes to ATASCII.

Also - the S: driver - is it's character base being copied from $2F4 assumed to be an absolute Atari Ram address or an address within VBXE's VRAM?  As usually those two are different.

Link to comment
Share on other sites

10 hours ago, Stephen said:

So far, so good.  However, poking with $82 in order to prevent the ATASCII - ASCII translation does not work.

Indeed, that function was busted. Try this:

 

svbxe109.arc

 

There is yet some bad interaction between this driver and the CON.SYS driver regarding the local color. The symptom is that after POKE $2F4,$81 (or $83) any new characters are not visible. I am currently not sure how to solve that, but there is a workaround: after POKE'ing as above, just do CLS or, if clearing the screen is not desirable, do POKE 711,PEEK(709) (i.e. copy the global foreground color to the local foreground color).

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Thanks for the quick update.  Attached is a screenshot of using $83 ($82 produces similar output, but with the bottom half displayed in inverse).  Only characters 0 through $20 are being displayed, then they mirror.

83.thumb.png.53021d2bd30612518d7abdd6c6e9b611.png

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