again not sure 320x200 is a default available mode:// Change resolution (for example: ESC + "_#512x384x64$")
// Usable options:
// "1280x768x2","1024x720x4","800x600x8","720x520x16","640x480 73x16"
// "640x480 60x16","640x350x16","512x384x64","400x300x64"On Tuesday, January 3, 2023 at 1:19:54 AM UTC-5 John Galt wrote:i found the patch here:"I've been playing with the AnsiTerminal code. Attached is a few additional lines of code which will give BASICaccess to the Fonts and Resolution settings. Just exchange the sections of code in the file and recompile it to your ESP32.Then you can do print chr$(27)+"_#512x384x64$" and print chr$(27)+"#VGA 8x8$""On Tuesday, January 3, 2023 at 12:54:25 AM UTC-5 John Galt wrote:
I don’t remember 320x200 being an available modeHit f12 for available modesEightbit put out some code to allow font switching via escape codesIt’s buried in one of his threads hereHe made a petsci fontI have my resolution locked so I can have 80x48 character rows
Tom I wrote to you on Github.Let me put the information here.the original Asci Terminal Code seems to be bugged.if you look into the source code it tells you:// onUserSequence is triggered whenever a User Sequence has been received (ESC + '_#' ... '$'), where '...' is sent hereTerminal.onUserSequence = [&](char const * seq) {// 'R': change resolution (for example: ESC + "_#R512x384x64$")for (int i = 0; i < RESOLUTIONS_COUNT; ++i)if (strcmp(RESOLUTIONS_CMDSTR[i], seq) == 0) {// found resolution stringpreferences.putInt(PREF_TEMPRESOLUTION, i);if (ConfDialogApp::getBootInfo() == BOOTINFO_ENABLED)preferences.putInt(PREF_BOOTINFO, BOOTINFO_TEMPDISABLED);ESP.restart();}};}this actually does not work.I took eightbitwide's code//----------------------------------------------------------------------------------------------------------------------//// EXCHANGE THE CODE ABOVE WITH THE CODE BELOW: Recompile and upload to the ESP32// Code will allow BASIC/PASCAL control over Resolution, Color Level, and Fonts upon Demand.////----------------------------------------------------------------------------------------------------------------------// onUserSequence is triggered whenever a User Sequence has been received (ESC + '_#' ... '$'), where '...' is sent hereTerminal.onUserSequence = [&](char const * seq) {
// Change resolution (for example: ESC + "_#512x384x64$")// Usable options:
// "1280x768x2","1024x720x4","800x600x8","720x520x16","640x480 'ATSIGN'73x16"// "640x480'ATSIGN'60x16","640x350x16","512x384x64","400x300x64"for (int i = 0; i < RESOLUTIONS_COUNT; ++i)if (strcmp(RESOLUTIONS_CMDSTR[i], seq) == 0) {// found resolution stringpreferences.putInt(PREF_TEMPRESOLUTION, i);if (ConfDialogApp::getBootInfo() == BOOTINFO_ENABLED)preferences.putInt(PREF_BOOTINFO, BOOTINFO_TEMPDISABLED);ESP.restart();}// Change font (for example: ESC + "_#VGA 8x8$")// Usable options:// "Auto", "VGA 4x6", "VGA 5x7", "VGA 5x8", "VGA 6x8", "VGA 6x9", "VGA 6x10", "VGA 6x12", "VGA 6x13",// "VGA 7x13", "VGA 7x14", "VGA 8x8", "VGA 8x9", "VGA 8x13", "VGA 8x14", "VGA 8x16", "VGA 8x19", "VGA 9x15",// "VGA 9x18", "VGA 10x20", "BigSerif 8x14", "BigSerif 8x16", "Block 8x14", "Broadway 8x14",// "Computer 8x14", "Courier 8x14", "LCD 8x14", "Old English 8x16", "Sans Serif 8x14", "Sans Serif 8x16",// "Slant 8x14", "Wiggly 8x16"for (int i = 0; i < FONTS_COUNT; ++i)if (strcmp(FONTS_STR[i], seq) == 0) {// found font stringpreferences.putInt(PREF_FONT, i);if (ConfDialogApp::getBootInfo() == BOOTINFO_ENABLED)preferences.putInt(PREF_BOOTINFO, BOOTINFO_TEMPDISABLED);ESP.restart();}};}spliced it in and recompiled.now when you type in10 PRINT CHR$(27)+ "_#512x384x64$"20 ENDit does work, note the missing 'R' with what eightbitwide patched.you can also change fonts.30 PRINT CHR$(27)+"_#VGA 8x8$"Keep this in mind, when you switch resolutions or fonts the terminal will reset to a blank screen. you need a keypress to get the system to respond and start to use the new mode on the displaythese are the only supported resolutions// "1280x768x2","1024x720x4","800x600x8","720x520x16","640x480'ATSIGN'73x16"// "640x480 'ATSIGN'60x16","640x350x16","512x384x64","400x300x64"there is no 320x200 mode programmed for the terminal buildwhen you change the mode or font it overwrites the existing terminal settings so when you reboot the terminal or power it off it will not return to your original settings you will have to reset your defaults save and reboot the terminal again.at note 'ATSIGN' i had to put because google is stupid and refused to believe it was not a email address and would not let me post

The problem is it will never be settled.each person wants something different out of the terminals it just leads to endless multiple branches where eventually there will be incompatibilities.the current modifications that have been posted do not interfere with each other yet.the current mods involve adding the ability to change resolution or fonts through Escape codes and adding new resolution modes that can again be accessed via escape codes.that does present problems as allowing changing fonts and resolution through escape codes means its possible to accidently send escape codes and cause the change when you do not want them to occur. you can always go into the configuration menu and change a font or resolution and leave it locked in(if its a valid font or resolution)the fabgl code goes through various changes and updates on Github. its possible some features will integrate into the master code or that the code posted here could become invalid at some point because of a major shuffling of the code by the author.when you change modes with the terminal it also has to reset and those changes become permanent on reboot or reset and that might not be what you want as you will need to manually change them back to how you want or you needed to manually code in return escape codes when your program ends to return to defaults.
its a fight, people want to be period correct or they want extra function and if it can emulate period correct great if not oh well.its the same graphics card wars from the 80s and 90s when you think about it. each "accelerator card" back then would be the type of terminal or emulation now.each had pluses and minus and it took years into the late 1990s for things to become standardized.many people put heart and soul into tek or gsx so they want all that functionality.its also the issue of once you can see what a terminal is capable of you naturally want more.its frustrating when you make something amazing and are unable to show it to somebody else because they do not have the hardware or software.i would have loved to find an original working VT340 it would not be correct for an altair but color and graphics on a terminal from 1987 sign me up.no your not wrong it looks pretty, its what you gave me with microshell and autoexec boot in cp/m, i had made some changes to work with the GEOFF terminal at that time.with the VGA32 i think i could match that loading screen.treat the CP/M inside as a Sprite for the VGA32 ASCI Terminal then i could overlay itoh well whats the saying "don't hate the player hate the game" but the game is the game. :-)
its a fight, people want to be period correct or they want extra function and if it can emulate period correct great if not oh well.its the same graphics card wars from the 80s and 90s when you think about it. each "accelerator card" back then would be the type of terminal or emulation now.each had pluses and minus and it took years into the late 1990s for things to become standardized.many people put heart and soul into tek or gsx so they want all that functionality.its also the issue of once you can see what a terminal is capable of you naturally want more.its frustrating when you make something amazing and are unable to show it to somebody else because they do not have the hardware or software.i would have loved to find an original working VT340 it would not be correct for an altair but color and graphics on a terminal from 1987 sign me up.no your not wrong it looks pretty, its what you gave me with microshell and autoexec boot in cp/m, i had made some changes to work with the GEOFF terminal at that time.with the VGA32 i think i could match that loading screen.treat the CP/M inside as a Sprite for the VGA32 ASCI Terminal then i could overlay itoh well whats the saying "don't hate the player hate the game" but the game is the game. :-)
On Wednesday, January 18, 2023 at 4:13:51 PM UTC-5 fridtjof.ma...@gmail.com wrote:
there is also a trade off with how much space exists for the firmware.I have hit walls with the Arduino Due and the ESP32. a few times i had to turn off optimization because there was no room for the expanded code.Right now i have to turn off part of the optimization for the Altari-dino because it will run out of space and refuse to upload to the DUE. i packed too much into my build.Its going to lead back to having to separate terminals ino-s rather then being able to simply switch between them in one conglomeration.Nobody is going to want to strip features to make space for something else. I'm surprised there have not been offshoots of Fabgl. development of anything is almost non-existent.When somebody really wants something they will figure out a way to build it.right now the entire FABGL is super packed with goodies that have not been explored.
I don't understand the S100 group complaint, it is extremely fast compared to some other terminal hardware or emulation.Many people seem to not know that the VGA32/ESP32 asci terminal also supports color using VT-100 escape codes, plus you have mouse support and proper cursor key support.you can port A LOT of games and apps that used VT-100 Color terminals back in the day.The VIC-20 was designed to show what was possible with the FABGL library, for some reason it has not gained traction with developers to do other things.it is honestly amazing for what it is packing, and its super cheap too.
there is also a trade off with how much space exists for the firmware.I have hit walls with the Arduino Due and the ESP32. a few times i had to turn off optimization because there was no room for the expanded code.Right now i have to turn off part of the optimization for the Altari-dino because it will run out of space and refuse to upload to the DUE. i packed too much into my build.Its going to lead back to having to separate terminals ino-s rather then being able to simply switch between them in one conglomeration.Nobody is going to want to strip features to make space for something else. I'm surprised there have not been offshoots of Fabgl. development of anything is almost non-existent.When somebody really wants something they will figure out a way to build it.right now the entire FABGL is super packed with goodies that have not been explored.
Fred i keep looking at your RTC and having the nerve to figure that out with the Arudino Altair RTC and making that work in basic.
my plate is still beyond full.