Terminal dimensions fixed at 80x24
Created by: CoherentLogic
This fix will modify service.c and mpsdef0.h.
Currently, memory for the screen buffers is statically allocated as part of the vtstyp struct:
unsigned char screenx[N_LINES + 1][N_COLUMNS]; /* characters / unsigned char screena[N_LINES + 1][N_COLUMNS]; / attributes */
ifdef COLOR
unsigned char screenc[N_LINES + 1][N_COLUMNS]; /* colors */
endif /* COLOR */
char sclines[N_LINES + 1];
N_LINES and N_COLUMNS are preprocessor defines, set to 24 and 80, respectively.
screenx, screena, screenc, and sclines in the vtstyp struct will need to be changed to unsigned char **screenx; etc, and then malloc()'d from the heap during structure initialization in writeHOME() (defined in service.c). Probably need an ioctl to get the terminal dimensions, as well as needing to respond to SIGWINCH. Could be a rather hairy fix.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information