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