furball1985
Experienced Member
- Joined
- Jul 14, 2022
- Messages
- 128
This is a little project i have been working on.
about 1.5 years ago i started to play around with the FABGL ANSI Terminal.
GitHub - fdivitto/FabGL: ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal
ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal - fdivitto/F...
github.com
its a very capable Terminal that supports graphics via escape codes.
i started to play around with the code from eightbitwide
GitHub - eightbitswide/ppmview: A Portable Pix Map viewer for CPM MBASIC using FabGL serial terminal.
A Portable Pix Map viewer for CPM MBASIC using FabGL serial terminal. - eightbitswide/ppmview
github.com
as he made a simple PPM Viewer for the ansi terminal that ran in basic.
i expanded the idea and added Dithering and even printing functions for a okidata dot matrix printer.
i knew it would be possible to expand this further.
just this week i had time to sit down and play around with Text based browsers.
Links, links2, and Elinks.
these browsers allow you to redirect a file based on the type of file it is.
do to bugs and other issues i eventually decided to remap BMP pictures to an executable file
containing:
#!/bin/bash
echo "$(<$1)"
originally i used CAT but that seemed to cause problems so i switched to the echo command.
i've been slowly making fixes for the Elinks browser in the configuration file to make things work better.
all 3 browsers have a really nasty bug if you try to use the bookmarks function.
in order to try this out.
johngalt01.github.io/README.TXT at main · johngalt01/johngalt01.github.io
Contribute to johngalt01/johngalt01.github.io development by creating an account on GitHub.
github.com
you will need a unix/linux machine to connect to i use a raspberry pi
setup the elinks browser and make sure its working for you.
next on your S-100 machine you will need a modem that can connect to IP
you will most importantly need a FABGL VGA32 ANSI Terminal as your main terminal.
connect from your S-100 machine to your raspberry pi(you can make a special user account if you wish.) you will need to make some changes to your shell i outlined it in the readme.txt file
using the configuration information in my README.TXT file from this
GitHub - johngalt01/johngalt01.github.io
Contribute to johngalt01/johngalt01.github.io development by creating an account on GitHub.
github.com
you can setup your elinks.config file.
i have formatted everything to use the BMP image type as a remap to Serial Escape coded image files.
(you can also use ANSI animation files but they can cause issues and crash the terminal)
so your connecting via your wifi modem from your S-100 machine to a raspberry pie via telnet(tcp causes issues) you then start the elinks browser
and if you go here https://johngalt01.github.io/
you will see a demo website of AdwaterandStir.com
if you view this in a modern browser you will see a page that looks a little funny(i am improving on things as i have time)
if you view this on your S-100 machine you will see the website with a blank area at the top.
this is the area for the pictures to display at the bottom of the web page are links for the images when you load them the asci escape code will fill in the area at the top of the screen with photos.
each link has a time based on 9600baud rates.
many new website ideas are possible with this new method of allowing images in a text based browser.
the reason the blank area is at the top of the screen is to get around the ELinks browser dialog boxes which will overwrite a loaded image.
there is enough room for many images loaded at the top or you can have a large image in the center of the screen.
again its back to the 1990s early 2000s for web design but it works REALLY well with off the shelf programs.
i plan to add some more website demos.
well i hope you found this interesting and a new toy to play with.
playing music is possible as the ANSI Terminal supports it also animation is possible however it will be very very slow at 9600 your animation files have to be under 1K per frame, this is possible using he escape code primitives'
but we need to make a ansi terminal drawing program to make it easier to happen.
i have included 1 interlaced image demo on the main web page many effects are possible.
just a warning again do not use the bookmarks function in these browsers and they are quite buggy.
i created a local HTML file called bookmarks, so when i start elinks i can type bookmarks and go right to my bookmarks list avoiding the browser bookmarks.
Last edited: