Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 14:04 16 Jul 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : A small program that shows all the characters in FONT 1

Author Message
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 72
Posted: 04:37am 15 Jul 2025
Copy link to clipboard 
Print this post

A small program that shows all the characters in FONT 1
The manual shows a table but unfortunately does not show which hex code the character has, this program shows this.



There are many characters I did not think of but that are there, such as "light bulb" = hex 97 or "SD-card" = hex 99
Is it a house on hex A5 or are it headphones on hex A7


asc.zip


It would be interesting to know who created these fonts, does anyone know?
Maybe Geoff or Peter knows the history...

/Peter63
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 481
Posted: 06:29am 15 Jul 2025
Copy link to clipboard 
Print this post

  Peter63 said  It would be interesting to know who created these fonts, does anyone know?
Maybe Geoff or Peter knows the history...

I was also interested in this question at one time!

The lower part of the encoding from B0 to FF is clearly from the encoding of CP437 (IBM437), but where did the first one come from?
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6271
Posted: 06:41am 15 Jul 2025
Copy link to clipboard 
Print this post

The font was created for the CMM2

The line drawing characters are standard and many of the characters that would normally be chr$(0) to chr$(31) were shifted to the extended range.
Others were added as a "Nice to have"
Some of the characters are standard Unicode (or very similar) and a few were created.

There is no equivalent font anywhere that I know of.

The font was a joint exercise, much from Rob Severson who was active at that time.

Where the ASCII characters came from originally I don't know. The back tick character has been changed to the degree symbol in all MMBasic fonts.

Jim
VK7JH
MMedit
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 481
Posted: 09:52am 15 Jul 2025
Copy link to clipboard 
Print this post

A I wonder if there is a way to type a line in the built-in PicoMite code EDITOR with these extended characters?
 
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 72
Posted: 11:21am 15 Jul 2025
Copy link to clipboard 
Print this post

print string$(40,&Hc4)

print's a line, 40 character long

/Peter63
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 481
Posted: 11:36am 15 Jul 2025
Copy link to clipboard 
Print this post

  Peter63 said  print string$(40,&Hc4)
print's a line, 40 character long

Yes, I can do that too!  

Is this how to type and save a string of extended characters in a program in the EDITOR? Can anyone do it?
Maybe try changing the program text on the computer...

Some BASIC dialects allowed storing a comment string from any data bytes and the editor did not complain about them. And then you could read this data from the program, it turned out more compact than storing bytes in DATA
 
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 72
Posted: 12:04pm 15 Jul 2025
Copy link to clipboard 
Print this post

You can also print the entire FONT1 as it appears in memory. See attached program. I use MM.INFO(FONT ADDRESS 1) to find the start of FONT1.


font1.zip

/Peter63
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 650
Posted: 12:07pm 15 Jul 2025
Copy link to clipboard 
Print this post

  javavi said  
  Peter63 said  It would be interesting to know who created these fonts, does anyone know?
Maybe Geoff or Peter knows the history...

I was also interested in this question at one time!

The lower part of the encoding from B0 to FF is clearly from the encoding of CP437 (IBM437), but where did the first one come from?


Hi javavi,

what Font did use used to print this char set? With font1 I can't get those chars: "ÄäüÜ" etc...

just wondering...

Greetings
Daniel
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4305
Posted: 12:13pm 15 Jul 2025
Copy link to clipboard 
Print this post

  Amnesie said  what Font did use used to print this char set? With font1 I can't get those chars: "ÄäüÜ" etc...


I don't think that is a 'mite font, it is a screenshot of CP437 - taken from Wikipedia I think: https://en.wikipedia.org/wiki/Code_page_437.

Best wishes,

Tom
MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 72
Posted: 12:32pm 15 Jul 2025
Copy link to clipboard 
Print this post

This is what the program font1.bas looks like, where you can see the DEC code on the left. Each character in FONT1 is 8 x 12 (width x height).




font1.zip


/Peter63
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7879
Posted: 02:48pm 15 Jul 2025
Copy link to clipboard 
Print this post

You can poke any values you like as bytes into a string and use it for storage like an array, but you can't PRINT it as any characters that are control characters will get either replaced with blanks or will act as control values. e.g. if you poke &h0A into a string and print it the &h0A will print as a LF, just like PRINT CHR$(10).

IIRC you can't PRINT a string that contains characters with values between 128 and 255 as these values are used for tokens by MMBasic. You can still PRINT them as CHR$() values though.

AFAIK there's no way that putting binary values into comments will work in MMBasic.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10251
Posted: 03:03pm 15 Jul 2025
Copy link to clipboard 
Print this post

  Quote  IIRC you can't PRINT a string that contains characters with values between 128 and 255 as these values are used for tokens by MMBasic.

Characters inside a string are not treated as tokens and can be printed as normal.
Fonts 1 and 4 include an extended character set: ascii 32 to 255.
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1224
Posted: 03:58pm 15 Jul 2025
Copy link to clipboard 
Print this post

  Amnesie said  
  javavi said  
  Peter63 said  It would be interesting to know who created these fonts, does anyone know?
Maybe Geoff or Peter knows the history...

I was also interested in this question at one time!

The lower part of the encoding from B0 to FF is clearly from the encoding of CP437 (IBM437), but where did the first one come from?


Hi javavi,

what Font did use used to print this char set? With font1 I can't get those chars: "ÄäüÜ" etc...

just wondering...

Greetings
Daniel

the font shown is 8x16 pixels, at the moment I have no routine to convert it to a  Picomite Font
Edited 2025-07-16 02:00 by Martin H.
'no comment
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4305
Posted: 04:13pm 15 Jul 2025
Copy link to clipboard 
Print this post

  Martin H. said  the font shown is 8x16 pixels, at the moment I have no routine to convert it to a  Picomite Font


I do not believe there is a naive conversion, CP437 has glyphs in all 256 positions, including for the ASCII control codes.

Best wishes,

Tom
MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 481
Posted: 04:15pm 15 Jul 2025
Copy link to clipboard 
Print this post

  matherp said  Characters inside a string are not treated as tokens and can be printed as normal.
Fonts 1 and 4 include an extended character set: ascii 32 to 255.


If it were possible to make a key combination for switching the keyboard input language and loading a new font (national encoding), it would be possible to provide support for national input/output languages as it was in the days of MS DOS.
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 650
Posted: 05:17pm 15 Jul 2025
Copy link to clipboard 
Print this post

  javavi said  
  matherp said  Characters inside a string are not treated as tokens and can be printed as normal.
Fonts 1 and 4 include an extended character set: ascii 32 to 255.


If it were possible to make a key combination for switching the keyboard input language and loading a new font (national encoding), it would be possible to provide support for national input/output languages as it was in the days of MS DOS.


Yes! this would be great. At this time I have to do a massive workaround for displaying german letters like ÄäÜüß etc. I have to read in the actual keypress of the PS/2 keyboard, then re-map it to a custom font with ÄäüßÖö etc...

My long-term idea was to create a simple text editor for MMBASIC with my GUIs, but with all those workaround it is a bit of a nightmare.

This workaround gives äÄöÖüÜß with a custom font via normal keyinput... but as said... just a workaround.


german_chars.zip


Greetings
Daniel
Edited 2025-07-16 03:33 by Amnesie
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1224
Posted: 08:14pm 15 Jul 2025
Copy link to clipboard 
Print this post

  thwill said  
  Martin H. said  the font shown is 8x16 pixels, at the moment I have no routine to convert it to a  Picomite Font


I do not believe there is a naive conversion, CP437 has glyphs in all 256 positions, including for the ASCII control codes.

Best wishes,

Tom

There are only 224 characters in the picture, so you can add the characters 0-31 at the end (224 - 255).
As I said, I have not yet found how to create an 8x16 font in mmbasic
'no comment
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 650
Posted: 08:37pm 15 Jul 2025
Copy link to clipboard 
Print this post

  Martin H. said  
  Amnesie said  
  javavi said  
  Peter63 said  It would be interesting to know who created these fonts, does anyone know?
Maybe Geoff or Peter knows the history...

I was also interested in this question at one time!

The lower part of the encoding from B0 to FF is clearly from the encoding of CP437 (IBM437), but where did the first one come from?


Hi javavi,

what Font did use used to print this char set? With font1 I can't get those chars: "ÄäüÜ" etc...

just wondering...

Greetings
Daniel

the font shown is 8x16 pixels, at the moment I have no routine to convert it to a  Picomite Font


Martin,

thanks for the link, I totally forgot that you made some really good fonts. I just tested the Amiga (?) font. Works great!

Greetings
Daniel
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6271
Posted: 02:35am 16 Jul 2025
Copy link to clipboard 
Print this post

If you want to create a font based on any code page.
The first step would be to find a true-type font that has all the required characters in it. Not all fonts have all the characters defined.
You should also use a font that is free of copyright if you intend to share it.

FontTweak will convert any ttf into any size bitmaps for MMBasic.
The conversion is not very good for smaller sizes and you will need to do some cleaning up the characters.
This thread has some information about FontTweak
https://www.thebackshed.com/forum/ViewTopic.php?TID=16941&PID=221525#221525#221525
Some of the bugs mentioned there have been fixed.

FontTweak.zip

Jim
VK7JH
MMedit
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025