From 5fa6d80b4dc3bef1e52361c2ee32035b843ff4da Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 5 Feb 2008 01:47:54 +0000 Subject: [PATCH] Add an Atari 80x25 "XEP80" mode. This does NOT use the real 7x11 font as of yet, but instead uses an 8x16 font generated from the Atari 8x8 one. --- src/conio/allfonts.c | 260 +++++++++++++++++++++++++++++++++++++++- src/conio/allfonts.h | 2 +- src/conio/ciolib.h | 1 + src/conio/vidmodes.c | 4 +- src/conio/vidmodes.h | 2 +- src/syncterm/bbslist.c | 11 +- src/syncterm/bbslist.h | 1 + src/syncterm/syncterm.c | 4 + src/syncterm/term.c | 1 + src/syncterm/window.c | 1 + src/uifc/uifc32.c | 2 +- 11 files changed, 283 insertions(+), 6 deletions(-) diff --git a/src/conio/allfonts.c b/src/conio/allfonts.c index 17f64dd70f..3e654aa88a 100644 --- a/src/conio/allfonts.c +++ b/src/conio/allfonts.c @@ -20270,7 +20270,265 @@ struct conio_font_data_struct conio_fontdata[257] = { "\x0f\x0f\x0f\x0f\xff\xff\xff\xff" "\x0f\x0f\x0f\x0f\xf0\xf0\xf0\xf0" , "Commodore 128 (Lower)"} - ,{NULL, NULL + ,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x18\x18\x18\x18\x18\x18\x18\x18\x00\x00\x18\x18\x00\x00" + "\x00\x00\x66\x66\x66\x66\x66\x66\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x66\x66\xff\xff\x66\x66\x66\x66\xff\xff\x66\x66\x00\x00" + "\x18\x18\x3e\x3e\x60\x60\x3c\x3c\x06\x06\x7c\x7c\x18\x18\x00\x00" + "\x00\x00\x66\x66\x6c\x6c\x18\x18\x30\x30\x66\x66\x46\x46\x00\x00" + "\x1c\x1c\x36\x36\x1c\x1c\x38\x38\x6f\x6f\x66\x66\x3b\x3b\x00\x00" + "\x00\x00\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x0e\x0e\x1c\x1c\x18\x18\x18\x18\x1c\x1c\x0e\x0e\x00\x00" + "\x00\x00\x70\x70\x38\x38\x18\x18\x18\x18\x38\x38\x70\x70\x00\x00" + "\x00\x00\x66\x66\x3c\x3c\xff\xff\x3c\x3c\x66\x66\x00\x00\x00\x00" + "\x00\x00\x18\x18\x18\x18\x7e\x7e\x18\x18\x18\x18\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x18\x18\x30\x30" + "\x00\x00\x00\x00\x00\x00\x7e\x7e\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x18\x18\x00\x00" + "\x00\x00\x06\x06\x0c\x0c\x18\x18\x30\x30\x60\x60\x40\x40\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x6e\x6e\x76\x76\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x18\x18\x38\x38\x18\x18\x18\x18\x18\x18\x7e\x7e\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x0c\x0c\x18\x18\x30\x30\x7e\x7e\x00\x00" + "\x00\x00\x7e\x7e\x0c\x0c\x18\x18\x0c\x0c\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x0c\x0c\x1c\x1c\x3c\x3c\x6c\x6c\x7e\x7e\x0c\x0c\x00\x00" + "\x00\x00\x7e\x7e\x60\x60\x7c\x7c\x06\x06\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x3c\x3c\x60\x60\x7c\x7c\x66\x66\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x7e\x7e\x06\x06\x0c\x0c\x18\x18\x30\x30\x30\x30\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x3c\x3c\x66\x66\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x3e\x3e\x06\x06\x0c\x0c\x38\x38\x00\x00" + "\x00\x00\x00\x00\x18\x18\x18\x18\x00\x00\x18\x18\x18\x18\x00\x00" + "\x00\x00\x00\x00\x18\x18\x18\x18\x00\x00\x18\x18\x18\x18\x30\x30" + "\x06\x06\x0c\x0c\x18\x18\x30\x30\x18\x18\x0c\x0c\x06\x06\x00\x00" + "\x00\x00\x00\x00\x7e\x7e\x00\x00\x00\x00\x7e\x7e\x00\x00\x00\x00" + "\x60\x60\x30\x30\x18\x18\x0c\x0c\x18\x18\x30\x30\x60\x60\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x0c\x0c\x18\x18\x00\x00\x18\x18\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x6e\x6e\x6e\x6e\x60\x60\x3e\x3e\x00\x00" + "\x00\x00\x18\x18\x3c\x3c\x66\x66\x66\x66\x7e\x7e\x66\x66\x00\x00" + "\x00\x00\x7c\x7c\x66\x66\x7c\x7c\x66\x66\x66\x66\x7c\x7c\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x60\x60\x60\x60\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x78\x78\x6c\x6c\x66\x66\x66\x66\x6c\x6c\x78\x78\x00\x00" + "\x00\x00\x7e\x7e\x60\x60\x7c\x7c\x60\x60\x60\x60\x7e\x7e\x00\x00" + "\x00\x00\x7e\x7e\x60\x60\x7c\x7c\x60\x60\x60\x60\x60\x60\x00\x00" + "\x00\x00\x3e\x3e\x60\x60\x60\x60\x6e\x6e\x66\x66\x3e\x3e\x00\x00" + "\x00\x00\x66\x66\x66\x66\x7e\x7e\x66\x66\x66\x66\x66\x66\x00\x00" + "\x00\x00\x7e\x7e\x18\x18\x18\x18\x18\x18\x18\x18\x7e\x7e\x00\x00" + "\x00\x00\x06\x06\x06\x06\x06\x06\x06\x06\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x66\x66\x6c\x6c\x78\x78\x78\x78\x6c\x6c\x66\x66\x00\x00" + "\x00\x00\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x7e\x7e\x00\x00" + "\x00\x00\x63\x63\x77\x77\x7f\x7f\x6b\x6b\x63\x63\x63\x63\x00\x00" + "\x00\x00\x66\x66\x76\x76\x7e\x7e\x7e\x7e\x6e\x6e\x66\x66\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x66\x66\x66\x66\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x7c\x7c\x66\x66\x66\x66\x7c\x7c\x60\x60\x60\x60\x00\x00" + "\x00\x00\x3c\x3c\x66\x66\x66\x66\x66\x66\x6c\x6c\x36\x36\x00\x00" + "\x00\x00\x7c\x7c\x66\x66\x66\x66\x7c\x7c\x6c\x6c\x66\x66\x00\x00" + "\x00\x00\x3c\x3c\x60\x60\x3c\x3c\x06\x06\x06\x06\x3c\x3c\x00\x00" + "\x00\x00\x7e\x7e\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x00\x00" + "\x00\x00\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x7e\x7e\x00\x00" + "\x00\x00\x66\x66\x66\x66\x66\x66\x66\x66\x3c\x3c\x18\x18\x00\x00" + "\x00\x00\x63\x63\x63\x63\x6b\x6b\x7f\x7f\x77\x77\x63\x63\x00\x00" + "\x00\x00\x66\x66\x66\x66\x3c\x3c\x3c\x3c\x66\x66\x66\x66\x00\x00" + "\x00\x00\x66\x66\x66\x66\x3c\x3c\x18\x18\x18\x18\x18\x18\x00\x00" + "\x00\x00\x7e\x7e\x0c\x0c\x18\x18\x30\x30\x60\x60\x7e\x7e\x00\x00" + "\x00\x00\x1e\x1e\x18\x18\x18\x18\x18\x18\x18\x18\x1e\x1e\x00\x00" + "\x00\x00\x40\x40\x60\x60\x30\x30\x18\x18\x0c\x0c\x06\x06\x00\x00" + "\x00\x00\x78\x78\x18\x18\x18\x18\x18\x18\x18\x18\x78\x78\x00\x00" + "\x00\x00\x08\x08\x1c\x1c\x36\x36\x63\x63\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00" + "\x00\x00\x36\x36\x7f\x7f\x7f\x7f\x3e\x3e\x1c\x1c\x08\x08\x00\x00" + "\x18\x18\x18\x18\x18\x18\x1f\x1f\x1f\x1f\x18\x18\x18\x18\x18\x18" + "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" + "\x18\x18\x18\x18\x18\x18\xf8\xf8\xf8\xf8\x00\x00\x00\x00\x00\x00" + "\x18\x18\x18\x18\x18\x18\xf8\xf8\xf8\xf8\x18\x18\x18\x18\x18\x18" + "\x00\x00\x00\x00\x00\x00\xf8\xf8\xf8\xf8\x18\x18\x18\x18\x18\x18" + "\x03\x03\x07\x07\x0e\x0e\x1c\x1c\x38\x38\x70\x70\xe0\xe0\xc0\xc0" + "\xc0\xc0\xe0\xe0\x70\x70\x38\x38\x1c\x1c\x0e\x0e\x07\x07\x03\x03" + "\x01\x01\x03\x03\x07\x07\x0f\x0f\x1f\x1f\x3f\x3f\x7f\x7f\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" + "\x80\x80\xc0\xc0\xe0\xe0\xf0\xf0\xf8\xf8\xfc\xfc\xfe\xfe\xff\xff" + "\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x00\x00\x00\x00\x00\x00\x00\x00" + "\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\x00\x00\x00\x00\x00\x00\x00\x00" + "\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0" + "\x00\x00\x1c\x1c\x1c\x1c\x77\x77\x77\x77\x08\x08\x1c\x1c\x00\x00" + "\x00\x00\x00\x00\x00\x00\x1f\x1f\x1f\x1f\x18\x18\x18\x18\x18\x18" + "\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00" + "\x18\x18\x18\x18\x18\x18\xff\xff\xff\xff\x18\x18\x18\x18\x18\x18" + "\x00\x00\x00\x00\x3c\x3c\x7e\x7e\x7e\x7e\x7e\x7e\x3c\x3c\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff" + "\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0" + "\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x18\x18\x18\x18\x18\x18" + "\x18\x18\x18\x18\x18\x18\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00" + "\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0" + "\x18\x18\x18\x18\x18\x18\x1f\x1f\x1f\x1f\x00\x00\x00\x00\x00\x00" + "\x78\x78\x60\x60\x78\x78\x60\x60\x7e\x7e\x18\x18\x1e\x1e\x00\x00" + "\x00\x00\x18\x18\x3c\x3c\x7e\x7e\x18\x18\x18\x18\x18\x18\x00\x00" + "\x00\x00\x18\x18\x18\x18\x18\x18\x7e\x7e\x3c\x3c\x18\x18\x00\x00" + "\x00\x00\x18\x18\x30\x30\x7e\x7e\x30\x30\x18\x18\x00\x00\x00\x00" + "\x00\x00\x18\x18\x0c\x0c\x7e\x7e\x0c\x0c\x18\x18\x00\x00\x00\x00" + "\x00\x00\x18\x18\x3c\x3c\x7e\x7e\x7e\x7e\x3c\x3c\x18\x18\x00\x00" + "\x00\x00\x00\x00\x3c\x3c\x06\x06\x3e\x3e\x66\x66\x3e\x3e\x00\x00" + "\x00\x00\x60\x60\x60\x60\x7c\x7c\x66\x66\x66\x66\x7c\x7c\x00\x00" + "\x00\x00\x00\x00\x3c\x3c\x60\x60\x60\x60\x60\x60\x3c\x3c\x00\x00" + "\x00\x00\x06\x06\x06\x06\x3e\x3e\x66\x66\x66\x66\x3e\x3e\x00\x00" + "\x00\x00\x00\x00\x3c\x3c\x66\x66\x7e\x7e\x60\x60\x3c\x3c\x00\x00" + "\x00\x00\x0e\x0e\x18\x18\x3e\x3e\x18\x18\x18\x18\x18\x18\x00\x00" + "\x00\x00\x00\x00\x3e\x3e\x66\x66\x66\x66\x3e\x3e\x06\x06\x7c\x7c" + "\x00\x00\x60\x60\x60\x60\x7c\x7c\x66\x66\x66\x66\x66\x66\x00\x00" + "\x00\x00\x18\x18\x00\x00\x38\x38\x18\x18\x18\x18\x3c\x3c\x00\x00" + "\x00\x00\x06\x06\x00\x00\x06\x06\x06\x06\x06\x06\x06\x06\x3c\x3c" + "\x00\x00\x60\x60\x60\x60\x6c\x6c\x78\x78\x6c\x6c\x66\x66\x00\x00" + "\x00\x00\x38\x38\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x3c\x00\x00" + "\x00\x00\x00\x00\x66\x66\x7f\x7f\x7f\x7f\x6b\x6b\x63\x63\x00\x00" + "\x00\x00\x00\x00\x7c\x7c\x66\x66\x66\x66\x66\x66\x66\x66\x00\x00" + "\x00\x00\x00\x00\x3c\x3c\x66\x66\x66\x66\x66\x66\x3c\x3c\x00\x00" + "\x00\x00\x00\x00\x7c\x7c\x66\x66\x66\x66\x7c\x7c\x60\x60\x60\x60" + "\x00\x00\x00\x00\x3e\x3e\x66\x66\x66\x66\x3e\x3e\x06\x06\x06\x06" + "\x00\x00\x00\x00\x7c\x7c\x66\x66\x60\x60\x60\x60\x60\x60\x00\x00" + "\x00\x00\x00\x00\x3e\x3e\x60\x60\x3c\x3c\x06\x06\x7c\x7c\x00\x00" + "\x00\x00\x18\x18\x7e\x7e\x18\x18\x18\x18\x18\x18\x0e\x0e\x00\x00" + "\x00\x00\x00\x00\x66\x66\x66\x66\x66\x66\x66\x66\x3e\x3e\x00\x00" + "\x00\x00\x00\x00\x66\x66\x66\x66\x66\x66\x3c\x3c\x18\x18\x00\x00" + "\x00\x00\x00\x00\x63\x63\x6b\x6b\x7f\x7f\x3e\x3e\x36\x36\x00\x00" + "\x00\x00\x00\x00\x66\x66\x3c\x3c\x18\x18\x3c\x3c\x66\x66\x00\x00" + "\x00\x00\x00\x00\x66\x66\x66\x66\x66\x66\x3e\x3e\x0c\x0c\x78\x78" + "\x00\x00\x00\x00\x7e\x7e\x0c\x0c\x18\x18\x30\x30\x7e\x7e\x00\x00" + "\x00\x00\x18\x18\x3c\x3c\x7e\x7e\x7e\x7e\x18\x18\x3c\x3c\x00\x00" + "\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" + "\x00\x00\x7e\x7e\x78\x78\x7c\x7c\x6e\x6e\x66\x66\x06\x06\x00\x00" + "\x08\x08\x18\x18\x38\x38\x78\x78\x38\x38\x18\x18\x08\x08\x00\x00" + "\x10\x10\x18\x18\x1c\x1c\x1e\x1e\x1c\x1c\x18\x18\x10\x10\x00\x00" + /* Inverted */ + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff\xe7\xe7\xff\xff" + "\xff\xff\x99\x99\x99\x99\x99\x99\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\x99\x99\x00\x00\x99\x99\x99\x99\x00\x00\x99\x99\xff\xff" + "\xe7\xe7\xc1\xc1\x9f\x9f\xc3\xc3\xf9\xf9\x83\x83\xe7\xe7\xff\xff" + "\xff\xff\x99\x99\x93\x93\xe7\xe7\xcf\xcf\x99\x99\xb9\xb9\xff\xff" + "\xe3\xe3\xc9\xc9\xe3\xe3\xc7\xc7\x90\x90\x99\x99\xc4\xc4\xff\xff" + "\xff\xff\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\xf1\xf1\xe3\xe3\xe7\xe7\xe7\xe7\xe3\xe3\xf1\xf1\xff\xff" + "\xff\xff\x8f\x8f\xc7\xc7\xe7\xe7\xe7\xe7\xc7\xc7\x8f\x8f\xff\xff" + "\xff\xff\x99\x99\xc3\xc3\x00\x00\xc3\xc3\x99\x99\xff\xff\xff\xff" + "\xff\xff\xe7\xe7\xe7\xe7\x81\x81\xe7\xe7\xe7\xe7\xff\xff\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe7\xe7\xe7\xe7\xcf\xcf" + "\xff\xff\xff\xff\xff\xff\x81\x81\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\xf9\xf9\xf3\xf3\xe7\xe7\xcf\xcf\x9f\x9f\xbf\xbf\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\x91\x91\x89\x89\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\xe7\xe7\xc7\xc7\xe7\xe7\xe7\xe7\xe7\xe7\x81\x81\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\xf3\xf3\xe7\xe7\xcf\xcf\x81\x81\xff\xff" + "\xff\xff\x81\x81\xf3\xf3\xe7\xe7\xf3\xf3\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\xf3\xf3\xe3\xe3\xc3\xc3\x93\x93\x81\x81\xf3\xf3\xff\xff" + "\xff\xff\x81\x81\x9f\x9f\x83\x83\xf9\xf9\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\xc3\xc3\x9f\x9f\x83\x83\x99\x99\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\x81\x81\xf9\xf9\xf3\xf3\xe7\xe7\xcf\xcf\xcf\xcf\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\xc3\xc3\x99\x99\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\xc1\xc1\xf9\xf9\xf3\xf3\xc7\xc7\xff\xff" + "\xff\xff\xff\xff\xe7\xe7\xe7\xe7\xff\xff\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\xff\xff\xe7\xe7\xe7\xe7\xff\xff\xe7\xe7\xe7\xe7\xcf\xcf" + "\xf9\xf9\xf3\xf3\xe7\xe7\xcf\xcf\xe7\xe7\xf3\xf3\xf9\xf9\xff\xff" + "\xff\xff\xff\xff\x81\x81\xff\xff\xff\xff\x81\x81\xff\xff\xff\xff" + "\x9f\x9f\xcf\xcf\xe7\xe7\xf3\xf3\xe7\xe7\xcf\xcf\x9f\x9f\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\xf3\xf3\xe7\xe7\xff\xff\xe7\xe7\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\x91\x91\x91\x91\x9f\x9f\xc1\xc1\xff\xff" + "\xff\xff\xe7\xe7\xc3\xc3\x99\x99\x99\x99\x81\x81\x99\x99\xff\xff" + "\xff\xff\x83\x83\x99\x99\x83\x83\x99\x99\x99\x99\x83\x83\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\x9f\x9f\x9f\x9f\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\x87\x87\x93\x93\x99\x99\x99\x99\x93\x93\x87\x87\xff\xff" + "\xff\xff\x81\x81\x9f\x9f\x83\x83\x9f\x9f\x9f\x9f\x81\x81\xff\xff" + "\xff\xff\x81\x81\x9f\x9f\x83\x83\x9f\x9f\x9f\x9f\x9f\x9f\xff\xff" + "\xff\xff\xc1\xc1\x9f\x9f\x9f\x9f\x91\x91\x99\x99\xc1\xc1\xff\xff" + "\xff\xff\x99\x99\x99\x99\x81\x81\x99\x99\x99\x99\x99\x99\xff\xff" + "\xff\xff\x81\x81\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x81\x81\xff\xff" + "\xff\xff\xf9\xf9\xf9\xf9\xf9\xf9\xf9\xf9\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\x99\x99\x93\x93\x87\x87\x87\x87\x93\x93\x99\x99\xff\xff" + "\xff\xff\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x81\x81\xff\xff" + "\xff\xff\x9c\x9c\x88\x88\x80\x80\x94\x94\x9c\x9c\x9c\x9c\xff\xff" + "\xff\xff\x99\x99\x89\x89\x81\x81\x81\x81\x91\x91\x99\x99\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\x99\x99\x99\x99\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\x83\x83\x99\x99\x99\x99\x83\x83\x9f\x9f\x9f\x9f\xff\xff" + "\xff\xff\xc3\xc3\x99\x99\x99\x99\x99\x99\x93\x93\xc9\xc9\xff\xff" + "\xff\xff\x83\x83\x99\x99\x99\x99\x83\x83\x93\x93\x99\x99\xff\xff" + "\xff\xff\xc3\xc3\x9f\x9f\xc3\xc3\xf9\xf9\xf9\xf9\xc3\xc3\xff\xff" + "\xff\xff\x81\x81\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\x99\x99\x99\x99\x99\x99\x99\x99\x99\x99\x81\x81\xff\xff" + "\xff\xff\x99\x99\x99\x99\x99\x99\x99\x99\xc3\xc3\xe7\xe7\xff\xff" + "\xff\xff\x9c\x9c\x9c\x9c\x94\x94\x80\x80\x88\x88\x9c\x9c\xff\xff" + "\xff\xff\x99\x99\x99\x99\xc3\xc3\xc3\xc3\x99\x99\x99\x99\xff\xff" + "\xff\xff\x99\x99\x99\x99\xc3\xc3\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\x81\x81\xf3\xf3\xe7\xe7\xcf\xcf\x9f\x9f\x81\x81\xff\xff" + "\xff\xff\xe1\xe1\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe1\xe1\xff\xff" + "\xff\xff\xbf\xbf\x9f\x9f\xcf\xcf\xe7\xe7\xf3\xf3\xf9\xf9\xff\xff" + "\xff\xff\x87\x87\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x87\x87\xff\xff" + "\xff\xff\xf7\xf7\xe3\xe3\xc9\xc9\x9c\x9c\xff\xff\xff\xff\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff" + "\xff\xff\xc9\xc9\x80\x80\x80\x80\xc1\xc1\xe3\xe3\xf7\xf7\xff\xff" + "\xe7\xe7\xe7\xe7\xe7\xe7\xe0\xe0\xe0\xe0\xe7\xe7\xe7\xe7\xe7\xe7" + "\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc" + "\xe7\xe7\xe7\xe7\xe7\xe7\x07\x07\x07\x07\xff\xff\xff\xff\xff\xff" + "\xe7\xe7\xe7\xe7\xe7\xe7\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xe7" + "\xff\xff\xff\xff\xff\xff\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xe7" + "\xfc\xfc\xf8\xf8\xf1\xf1\xe3\xe3\xc7\xc7\x8f\x8f\x1f\x1f\x3f\x3f" + "\x3f\x3f\x1f\x1f\x8f\x8f\xc7\xc7\xe3\xe3\xf1\xf1\xf8\xf8\xfc\xfc" + "\xfe\xfe\xfc\xfc\xf8\xf8\xf0\xf0\xe0\xe0\xc0\xc0\x80\x80\x00\x00" + "\xff\xff\xff\xff\xff\xff\xff\xff\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0" + "\x7f\x7f\x3f\x3f\x1f\x1f\x0f\x0f\x07\x07\x03\x03\x01\x01\x00\x00" + "\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xff\xff\xff\xff\xff\xff\xff\xff" + "\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\xff\xff\xff\xff\xff\xff\xff\xff" + "\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00" + "\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" + "\xff\xff\xe3\xe3\xe3\xe3\x88\x88\x88\x88\xf7\xf7\xe3\xe3\xff\xff" + "\xff\xff\xff\xff\xff\xff\xe0\xe0\xe0\xe0\xe7\xe7\xe7\xe7\xe7\xe7" + "\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff" + "\xe7\xe7\xe7\xe7\xe7\xe7\x00\x00\x00\x00\xe7\xe7\xe7\xe7\xe7\xe7" + "\xff\xff\xff\xff\xc3\xc3\x81\x81\x81\x81\x81\x81\xc3\xc3\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f\x3f" + "\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xe7\xe7\xe7\xe7\xe7\xe7" + "\xe7\xe7\xe7\xe7\xe7\xe7\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff" + "\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" + "\xe7\xe7\xe7\xe7\xe7\xe7\xe0\xe0\xe0\xe0\xff\xff\xff\xff\xff\xff" + "\x87\x87\x9f\x9f\x87\x87\x9f\x9f\x81\x81\xe7\xe7\xe1\xe1\xff\xff" + "\xff\xff\xe7\xe7\xc3\xc3\x81\x81\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\xe7\xe7\xe7\xe7\xe7\xe7\x81\x81\xc3\xc3\xe7\xe7\xff\xff" + "\xff\xff\xe7\xe7\xcf\xcf\x81\x81\xcf\xcf\xe7\xe7\xff\xff\xff\xff" + "\xff\xff\xe7\xe7\xf3\xf3\x81\x81\xf3\xf3\xe7\xe7\xff\xff\xff\xff" + "\xff\xff\xe7\xe7\xc3\xc3\x81\x81\x81\x81\xc3\xc3\xe7\xe7\xff\xff" + "\xff\xff\xff\xff\xc3\xc3\xf9\xf9\xc1\xc1\x99\x99\xc1\xc1\xff\xff" + "\xff\xff\x9f\x9f\x9f\x9f\x83\x83\x99\x99\x99\x99\x83\x83\xff\xff" + "\xff\xff\xff\xff\xc3\xc3\x9f\x9f\x9f\x9f\x9f\x9f\xc3\xc3\xff\xff" + "\xff\xff\xf9\xf9\xf9\xf9\xc1\xc1\x99\x99\x99\x99\xc1\xc1\xff\xff" + "\xff\xff\xff\xff\xc3\xc3\x99\x99\x81\x81\x9f\x9f\xc3\xc3\xff\xff" + "\xff\xff\xf1\xf1\xe7\xe7\xc1\xc1\xe7\xe7\xe7\xe7\xe7\xe7\xff\xff" + "\xff\xff\xff\xff\xc1\xc1\x99\x99\x99\x99\xc1\xc1\xf9\xf9\x83\x83" + "\xff\xff\x9f\x9f\x9f\x9f\x83\x83\x99\x99\x99\x99\x99\x99\xff\xff" + "\xff\xff\xe7\xe7\xff\xff\xc7\xc7\xe7\xe7\xe7\xe7\xc3\xc3\xff\xff" + "\xff\xff\xf9\xf9\xff\xff\xf9\xf9\xf9\xf9\xf9\xf9\xf9\xf9\xc3\xc3" + "\xff\xff\x9f\x9f\x9f\x9f\x93\x93\x87\x87\x93\x93\x99\x99\xff\xff" + "\xff\xff\xc7\xc7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xc3\xc3\xff\xff" + "\xff\xff\xff\xff\x99\x99\x80\x80\x80\x80\x94\x94\x9c\x9c\xff\xff" + "\xff\xff\xff\xff\x83\x83\x99\x99\x99\x99\x99\x99\x99\x99\xff\xff" + "\xff\xff\xff\xff\xc3\xc3\x99\x99\x99\x99\x99\x99\xc3\xc3\xff\xff" + "\xff\xff\xff\xff\x83\x83\x99\x99\x99\x99\x83\x83\x9f\x9f\x9f\x9f" + "\xff\xff\xff\xff\xc1\xc1\x99\x99\x99\x99\xc1\xc1\xf9\xf9\xf9\xf9" + "\xff\xff\xff\xff\x83\x83\x99\x99\x9f\x9f\x9f\x9f\x9f\x9f\xff\xff" + "\xff\xff\xff\xff\xc1\xc1\x9f\x9f\xc3\xc3\xf9\xf9\x83\x83\xff\xff" + "\xff\xff\xe7\xe7\x81\x81\xe7\xe7\xe7\xe7\xe7\xe7\xf1\xf1\xff\xff" + "\xff\xff\xff\xff\x99\x99\x99\x99\x99\x99\x99\x99\xc1\xc1\xff\xff" + "\xff\xff\xff\xff\x99\x99\x99\x99\x99\x99\xc3\xc3\xe7\xe7\xff\xff" + "\xff\xff\xff\xff\x9c\x9c\x94\x94\x80\x80\xc1\xc1\xc9\xc9\xff\xff" + "\xff\xff\xff\xff\x99\x99\xc3\xc3\xe7\xe7\xc3\xc3\x99\x99\xff\xff" + "\xff\xff\xff\xff\x99\x99\x99\x99\x99\x99\xc1\xc1\xf3\xf3\x87\x87" + "\xff\xff\xff\xff\x81\x81\xf3\xf3\xe7\xe7\xcf\xcf\x81\x81\xff\xff" + "\xff\xff\xe7\xe7\xc3\xc3\x81\x81\x81\x81\xe7\xe7\xc3\xc3\xff\xff" + "\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7" + "\xff\xff\x81\x81\x87\x87\x83\x83\x91\x91\x99\x99\xf9\xf9\xff\xff" + "\xf7\xf7\xe7\xe7\xc7\xc7\x87\x87\xc7\xc7\xe7\xe7\xf7\xf7\xff\xff" + "\xef\xef\xe7\xe7\xe3\xe3\xe1\xe1\xe3\xe3\xe7\xe7\xef\xef\xff\xff" + + , NULL , "\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x18\x18\x18\x18\x00\x18\x00" "\x00\x66\x66\x66\x00\x00\x00\x00" diff --git a/src/conio/allfonts.h b/src/conio/allfonts.h index 149a78c24e..6fb7d5d7d3 100644 --- a/src/conio/allfonts.h +++ b/src/conio/allfonts.h @@ -10,6 +10,6 @@ struct conio_font_data_struct { extern struct conio_font_data_struct conio_fontdata[257]; -#define CONIO_FIRST_FREE_FONT 37 +#define CONIO_FIRST_FREE_FONT 38 #endif diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index 07f21b2a2e..cd4cdf104b 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -177,6 +177,7 @@ enum text_modes C128_40X25, /* Commodore 128 40x25 colour mode */ C128_80X25, /* Commodore 128 40x25 colour mode */ ATARI_40X24, /* Atari 800 40x24 colour text mode */ + ATARI_80X25, /* Atari 800 XEP80 80x25 mono text mode */ /* VESA Modes */ VESA_132X21 = 235, diff --git a/src/conio/vidmodes.c b/src/conio/vidmodes.c index 58d3b9e3a3..e0f43f25a2 100644 --- a/src/conio/vidmodes.c +++ b/src/conio/vidmodes.c @@ -4,7 +4,7 @@ #include "vidmodes.h" -struct video_params vparams[48] = { +struct video_params vparams[49] = { /* BW 40x25 */ {BW40, GREYSCALE_PALETTE, 40, 25, 14, 15, 16, 8}, /* CO 40x25 */ @@ -85,6 +85,8 @@ struct video_params vparams[48] = { {C128_80X25, COLOUR_PALETTE, 80, 25, 0, 7, 8, 8}, /* Atari 800 40x24 mode */ {ATARI_40X24, ATARI_PALETTE, 40, 24, 0, 7, 8, 8}, + /* Atari 800 XEP80 80x25 mode */ + {ATARI_80X25, GREYSCALE_PALETTE, 80, 25, 0, 15, 16, 8}, /* VESA 21x132 mode */ {VESA_132X21, COLOUR_PALETTE, 132, 21, 14, 15, 16, 8}, /* VESA 25x132 mode */ diff --git a/src/conio/vidmodes.h b/src/conio/vidmodes.h index bf4007dd0b..347a9b8ac8 100644 --- a/src/conio/vidmodes.h +++ b/src/conio/vidmodes.h @@ -88,7 +88,7 @@ enum { ,ATARI_PALETTE }; -extern struct video_params vparams[48]; +extern struct video_params vparams[49]; #define NUMMODES (sizeof(vparams) / sizeof(struct video_params)) extern unsigned char palettes[5][16]; extern struct dac_colors dac_default[34]; diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c index 4170765d69..509034d4c1 100644 --- a/src/syncterm/bbslist.c +++ b/src/syncterm/bbslist.c @@ -171,7 +171,7 @@ int sortorder[sizeof(sort_order)/sizeof(struct sort_order_info)]; char *sort_orders[]={"BBS Name","Address","Connection Type","Port","Date Added","Date Last Connected"}; -char *screen_modes[]={"Current", "80x25", "80x28", "80x43", "80x50", "80x60", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128 (40col)", "C128 (80col)", "Atari", NULL}; +char *screen_modes[]={"Current", "80x25", "80x28", "80x43", "80x50", "80x60", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128 (40col)", "C128 (80col)", "Atari", "Atari XEP80", NULL}; char *log_levels[]={"Emergency", "Alert", "Critical", "Error", "Warning", "Notice", "Info", "Debug", NULL}; char *log_level_desc[]={"None", "Alerts", "Critical Errors", "Errors", "Warnings", "Notices", "Normal", "All (Debug)", NULL}; @@ -237,6 +237,7 @@ void viewofflinescroll(void) setfont(35,TRUE); break; case SCREEN_MODE_ATARI: + case SCREEN_MODE_ATARI_XEP80: setfont(36,TRUE); break; } @@ -257,6 +258,7 @@ void viewofflinescroll(void) ,scrollback_buf+(scrollback_cols*2*top)); switch(ciolib_to_screen(scrollback_mode)) { case SCREEN_MODE_ATARI: + case SCREEN_MODE_ATARI_XEP80: cputs("3crollback"); break; case SCREEN_MODE_C64: @@ -270,6 +272,7 @@ void viewofflinescroll(void) gotoxy(scrollback_cols-9,1); switch(ciolib_to_screen(scrollback_mode)) { case SCREEN_MODE_ATARI: + case SCREEN_MODE_ATARI_XEP80: cputs("3crollback"); break; case SCREEN_MODE_C64: @@ -967,6 +970,12 @@ int edit_list(struct bbslist **list, struct bbslist *item,char *listpath,int isd item->nostatus = 1; iniSetBool(&inifile,itemname,"NoStatus",item->nostatus,&ini_style); } + if(item->screen_mode == SCREEN_MODE_ATARI_XEP80) { + strcpy(item->font,font_names[36]); + iniSetString(&inifile,itemname,"Font",item->font,&ini_style); + item->nostatus = 1; + iniSetBool(&inifile,itemname,"NoStatus",item->nostatus,&ini_style); + } changed=1; break; } diff --git a/src/syncterm/bbslist.h b/src/syncterm/bbslist.h index 1cb2470c03..71d0a63bc2 100644 --- a/src/syncterm/bbslist.h +++ b/src/syncterm/bbslist.h @@ -49,6 +49,7 @@ enum { ,SCREEN_MODE_C128_40 ,SCREEN_MODE_C128_80 ,SCREEN_MODE_ATARI + ,SCREEN_MODE_ATARI_XEP80 ,SCREEN_MODE_TERMINATOR }; diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c index c82a458798..1089954774 100644 --- a/src/syncterm/syncterm.c +++ b/src/syncterm/syncterm.c @@ -1352,6 +1352,8 @@ int screen_to_ciolib(int screen) return(C128_80X25); case SCREEN_MODE_ATARI: return(ATARI_40X24); + case SCREEN_MODE_ATARI_XEP80: + return(ATARI_80X25); } gettextinfo(&ti); return(ti.currmode); @@ -1392,6 +1394,8 @@ int ciolib_to_screen(int ciolib) return(SCREEN_MODE_C128_80); case ATARI_40X24 : return(SCREEN_MODE_ATARI); + case ATARI_80X25: + return(SCREEN_MODE_ATARI_XEP80); } return(SCREEN_MODE_CURRENT); } diff --git a/src/syncterm/term.c b/src/syncterm/term.c index b84635d147..450daefb7d 100644 --- a/src/syncterm/term.c +++ b/src/syncterm/term.c @@ -1745,6 +1745,7 @@ BOOL doterm(struct bbslist *bbs) emulation = CTERM_EMULATION_PETASCII; break; case SCREEN_MODE_ATARI: + case SCREEN_MODE_ATARI_XEP80: emulation = CTERM_EMULATION_ATASCII; break; } diff --git a/src/syncterm/window.c b/src/syncterm/window.c index 1857443699..619076f44e 100644 --- a/src/syncterm/window.c +++ b/src/syncterm/window.c @@ -18,6 +18,7 @@ int drawwin(void) switch(ciolib_to_screen(txtinfo.currmode)) { case SCREEN_MODE_ATARI: + case SCREEN_MODE_ATARI_XEP80: strcpy(str,"3ync4%2- "); break; case SCREEN_MODE_C64: diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c index 4e1804cad1..7fc7c140d4 100644 --- a/src/uifc/uifc32.c +++ b/src/uifc/uifc32.c @@ -237,7 +237,7 @@ int uifcini32(uifcapi_t* uifcapi) || txtinfo.currmode==MONO43 || txtinfo.currmode==BW40X43 || txtinfo.currmode==BW80X43 || txtinfo.currmode==MONO50 || txtinfo.currmode==BW40X50 || txtinfo.currmode==BW80X50 || txtinfo.currmode==MONO60 || txtinfo.currmode==BW40X60 || txtinfo.currmode==BW80X60 - || txtinfo.currmode==ATARI_40X24)) + || txtinfo.currmode==ATARI_40X24 || txtinfo.currmode==ATARI_80X25)) { api->bclr=BLACK; api->hclr=WHITE; -- GitLab