![]() |
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: SwedenPosts: 72 |
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: UkrainePosts: 481 |
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: AustraliaPosts: 6271 |
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: UkrainePosts: 481 |
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: SwedenPosts: 72 |
print string$(40,&Hc4) print's a line, 40 character long /Peter63 |
||||
javavi![]() Guru ![]() Joined: 01/10/2023 Location: UkrainePosts: 481 |
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: SwedenPosts: 72 |
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: GermanyPosts: 650 |
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 KingdomPosts: 4305 |
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: SwedenPosts: 72 |
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 KingdomPosts: 7879 |
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 KingdomPosts: 10251 |
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: GermanyPosts: 1224 |
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 KingdomPosts: 4305 |
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: UkrainePosts: 481 |
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: GermanyPosts: 650 |
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: GermanyPosts: 1224 |
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: GermanyPosts: 650 |
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: AustraliaPosts: 6271 |
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 |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |