Beyond 80x25 x 16c with ENiGMA 1/2 BBS
From 80 to 132 Columns with moar colors
A lot of attention has been given to slightly larger formats than the legacy 80x25
sizes from years yonder lately. While I absolutely love the ‘DOS’ look and restrictions of 80x25
and 16 colors, 132 columns – and high color support – has gained in popularity amongst the BBS / artscene community.
So let’s do it with ENiGMA 1/2!
Enter ACS
If you’ve messed with the systems menu.hjson format much, you may already know: Everything the user is presented with is essentially a “menu”. With ENiGMA’s Access Condition System (ACS), we have full control of of the flow of these menus.
Some ACS codes are of particular interest:
TW
: Terminal Width is >= specified valueTT
: User’s current terminal type is one of the specified set of terminal types
With these two ACS codes we can route users to new prompts, menus, and so on. Suppose we want a to control which matrix a user is presented with at connect:
connect: {
art: connect
next: [
{
acs: TW132
next: matrix132cols
}
{
next: matrixLegacyCols
}
]
}
Of course we can combine or use TT
separately. NetRunner for example sets its ttype
to ansi-256color-rgb
, so we could:
acs: TT[ansi-256color-rgb] // add more by adding comma separated values