diff --git a/exec/bullseye.src b/exec/bullseye.src
deleted file mode 100644
index ab6008d468bfc9c6af0fceadc644f17472651d38..0000000000000000000000000000000000000000
--- a/exec/bullseye.src
+++ /dev/null
@@ -1,81 +0,0 @@
-# bullseye.src
-
-# Bulletins written in Baja by Rob Swindell
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include file_io.inc
-!include sbbsdefs.inc
-
-# Load the configuration file
-
-int i
-int b
-int file
-int filepos
-int total
-int mode
-str fname
-
-printf "\r\nSynchronet BullsEye! Version 1.06 by Rob Swindell\r\n"
-pause_reset
-set str "%zbullseye.cfg"
-fopen file O_RDONLY str
-if_false
-	printf "\r\n!ERROR %ld opening %s\r\n" _errno str
-	return
-	end_if
-fread_line file str
-copy mode str
-fget_pos file filepos
-
-set total 0
-#print "%l: %s" total str
-:count_bulls
-	fread_line file str
-	#print "%ld: %s" total str
-	if_true	# not end of file
-		add total 1
-		goto count_bulls
-	        end_if
-
-# Display menu, list bulletins, display prompt, etc.
-
-:menu
-printfile "%zbullseye.asc"
-print "\1n\r\n\1b\1hEnter number of bulletin to view or press (\1wENTER\1b) to continue: \1w"
-getnum b total
-compare b 1
-if_less
-	return
-	end_if
-fset_pos file filepos
-set i 0
-:next
-fread_line file str
-if_true	# not end of file
-	add i 1
-	compare i b
-	if_equal
-		print "\1n\1l"
-		truncsp str
-		copy fname str
-		compare_substr str ".htm"
-		replace_text 563 "\1n\1h\1b{\1wContinue? Yes/No\1b} "
-		if_true
-			exec "?typehtml -color %s"
-		else
-			printfile str 0
-			end_if
-		sprintf str "Node %d %s viewed bulletin #%d: %s" _node_num _useron.alias i fname
-		print_local "%s"
-		revert_text 563
-		clear_abort
-		goto menu
-		end_if
-	goto next
-	end_if
-printf "\r\nInvalid bulletin number: %d" b
-goto menu
diff --git a/exec/chat_sec.src b/exec/chat_sec.src
deleted file mode 100644
index 63fbabeff5ad0a2d5523fd1c3ae9a42cd07ae79d..0000000000000000000000000000000000000000
--- a/exec/chat_sec.src
+++ /dev/null
@@ -1,102 +0,0 @@
-# chat_sec.src
-
-# Chat Section for any/all Synchronet command shells
-
-# Requires v3.00g or later
-
-!include sbbsdefs.inc
-
-compare_ars rest C
-if_true
-    print "\r\nYou can't chat.\r\n"
-    return
-    end_if
-
-# Set return point for main menu commands (via end_cmd)
-cmd_home
-
-# Display TEXT\MENU\CHAT.* if not in expert mode
-compare_user_misc UM_EXPERT
-if_false
-	menu chat
-	end_if
-
-# Update node status
-node_action node_chat
-async
-print "\r\n\1_\1y\1hChat: \1n"
-getcmd "ACDFIJPQRST?\r"
-cmdkey 'S'
-	TOGGLE_USER_CHAT CHAT_SPLITP
-	printf "\1n\r\nPrivate split-screen chat is now: \1h"
-	COMPARE_USER_CHAT CHAT_SPLITP
-	if_true
-		print "ON\1n"
-	else
-		print "OFF\1n"
-		end_if
-	crlf
-	end_cmd
-
-cmdkey 'A'
-	crlf
-	toggle_user_chat CHAT_NOACT
-	toggle_node_misc NODE_AOFF
-	nodelist_users
-	end_cmd
-
-cmdkey 'D'
-	crlf
-	toggle_user_chat CHAT_NOPAGE
-	toggle_node_misc NODE_POFF
-	nodelist_users
-	end_cmd
-
-cmdkey 'F'
-	crlf
-	exec "?finger"
-	end_cmd
-
-cmdkey 'I'
-	crlf
-	exec "?sbbsimsg"
-	end_cmd
-
-cmdkey 'R'
-	crlf
-	print "\1n\1y\1hServer and channel: "
-	setstr "irc.synchro.net 6667 #Synchronet"
-	getstr str 50 K_EDIT|K_LINE|K_AUTODEL
-	if_true
-		exec "?irc -a %s"
-		end_if
-	end_cmd
-
-cmdkey 'J'
-	multinode_chat
-	end_cmd
-
-cmdkey 'P'
-	private_chat
-	end_cmd
-
-cmdkey 'C'
-	page_sysop
-	if_false
-		page_guru
-		end_if
-	end_cmd
-
-cmdkey 'T'
-	page_guru
-	end_cmd
-
-cmdkey '?'
-	compare_user_misc UM_EXPERT
-	if_true
-		menu "chat"
-		end_if
-	end_cmd
-
-cmd_pop
-return
\ No newline at end of file
diff --git a/exec/login.src b/exec/login.src
deleted file mode 100644
index bd5da71a5cc4c50065f5b9be68e1dfd1731498e7..0000000000000000000000000000000000000000
--- a/exec/login.src
+++ /dev/null
@@ -1,67 +0,0 @@
-# login.src
-
-# Login module for Synchronet BBS v2.2+
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-logout
-
-node_status NODE_LOGON
-
-compare_ars WIP
-if_true
-	exec_bin WIPLOGIN
-	return
-	end_if
-
-int c
-int guest
-
-set str "Guest"
-matchuser guest str		# save Guest account number in guest
-
-:top
-sync
-compare c 10
-if_greater_or_equal
-	hangup
-	return
-	end_if
-
-compare guest 0	# Guest account?
-if_greater
-	print "\r\n\1nEnter Name, Number, '\1hNew\1n', or '\1hGuest\1n'\r\nNN: "
-else
-	print "\r\n\1nEnter Name, Number, or '\1hNew\1n'\r\nNN: "
-	end_if
-getstr str 25 K_UPRLWR|K_LOWPRIO|K_E71DETECT|K_TAB|K_ANSI_CPR
-truncsp str
-compare_str ""
-if_true
-	add c 1
-	goto top
-	end_if
-compare_str "NEW"
-if_true
-	newuser
-	if_false
-		add c 1
-		goto top
-		end_if
-	logon
-	return
-	end_if
-login "PW: "
-if_true
-	logon
-	if_true
-		return
-		end_if
-	end_if
-add c 2
-goto top
-
diff --git a/exec/logon.src b/exec/logon.src
deleted file mode 100644
index 1f96b71ab51507abcbb4737b72ee32e6618486ad..0000000000000000000000000000000000000000
--- a/exec/logon.src
+++ /dev/null
@@ -1,154 +0,0 @@
-# logon.src
-
-# Synchronet v2.20 Logon Module
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-or _node_misc NM_NOPAUSESPIN	# Disable spinning cursor at pause prompts
-
-compare_ars rest G
-if_true
-	:get_name
-	print "\1y\1hFor our records, please enter your full name: \1w"
-	getname 25
-	compare_str ""
-	if_true
-		goto get_name
-		end_if
-	log "Guest: "
-	logstr
-	set_user_string user_string_realname
-	
-	:get_loc
-	print "\1y\1hPlease enter your location (City, State): \1w"
-	getname 30
-	compare_str ""
-	if_true
-		goto get_loc
-		end_if
-	log "  "
-	logstr
-	set_user_string user_string_location
-
-#	:get_phone
-#	print "\1y\1hPlease enter your voice telephone number: "
-#	get_template nnn-nnn-nnnn
-#	compare_str ""
-#	if_true
-#		goto get_phone
-#		end_if
-#	log "  "
-#	logstr
-#	set_user_string user_string_phone
-	log "\r\n"
-	:get_mag
-	print "yhWhere did you hear about this BBS?\r\n: w"
-	getstr 70
-	compare_str ""
-	if_true
-		goto get_mag
-		end_if
-	logstr
-	log "\r\n"
-	end_if
-
-#compare_ars rest G or rest X or flag S
-#if_false
-#	no_yes Do you want to enter the \1cSynchronet Match Maker\1b
-#	if_false
-#		exec_xtrn smm
-#		end_if
-#	end_if
-
-# Force split-screen chat on ANSI users
-compare_user_misc UM_ANSI
-if_true
-	compare_user_chat CHAT_SPLITP
-	if_false
-		toggle_user_chat CHAT_SPLITP
-		end_if
-	end_if
-
-# Inactivity exemption
-compare_ars exempt H
-if_true
-	or _console CON_NO_INACT
-	end_if
-
-###############################################################################
-# Replaces the 2.1 Logon stuff
-##############################
-int i
-
-# Logon screens
-
-compare_ars LOCAL
-if_true
-	goto logon_event
-	end_if
-
-sprintf str "logon%ld" _useron.level
-chkfile "%zmenu/%s.*"
-if_true
-        menu "%s"
-        end_if
-
-set i 0
-:logon_screens
-	add i 1
-	compare i 1
-	if_equal
-		set str "logon"
-	else
-		sprintf str "logon%ld" i
-		end_if
-	chkfile "%zmenu/%s.*"
-	if_false
-		goto logon_event
-		end_if
-	menu "%s"
-	compare_user_misc UM_WIP
-	if_true
-		getkey
-		end_if
-	goto logon_screens
-
-:logon_event
-cls
-user_event event_logon
-
-# Last few callers
-clear_abort
-cls
-str logonlst
-set logonlst "%jlogon.lst"
-get_file_length i logonlst
-compare i 1
-if_less
-	print "\1n\1g\1hYou are the first caller of the day!\r\n"
-else
-	print "\1n\1g\1hLast few callers:\1n\r\n"
-	printtail logonlst P_NOATCODES 4
-	crlf
-	endif
-
-# Auto-message
-setstr "%jmsgs/auto.msg"
-get_file_length i str
-compare i 0 
-if_greater
-	printfile str P_NOATCODES
-	crlf
-	end_if
-
-# Automatically set shell to WIPSHELL
-compare_user_misc UM_WIP
-if_true
-	setstr "WIPSHELL"
-	set_shell
-	end_if
-
diff --git a/exec/mudgate.src b/exec/mudgate.src
deleted file mode 100644
index 6b854121503dfb10a6eb8bf7bec3e29f424fa42b..0000000000000000000000000000000000000000
--- a/exec/mudgate.src
+++ /dev/null
@@ -1,13 +0,0 @@
-# mudgate.src
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-printf "\r\n\1h\1hPress \1yCtrl-]\1w for a control menu anytime.\r\n\r\n"
-pause
-printf "\1h\1yConnecting to MUD: \1w%s\1n\r\n" str
-telnet_gate str TG_ECHO|TG_CRLF|TG_LINEMODE|TG_NODESYNC|TG_CTRLKEYS
-cls
diff --git a/exec/rlogin.src b/exec/rlogin.src
deleted file mode 100644
index 49c7075c5c07c72eb99f3c9ca0b7c8047257a752..0000000000000000000000000000000000000000
--- a/exec/rlogin.src
+++ /dev/null
@@ -1,15 +0,0 @@
-# rlogin.src
-
-# Telnet Gateway using RLogin protocol - Requires v3.00c
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-printf "\r\n\1h\1hPress \1yCtrl-]\1w for a control menu anytime.\r\n\r\n"
-pause
-printf "\1h\1yConnecting to: \1w%s\1n\r\n" str
-telnet_gate str TG_RLOGIN
-cls
diff --git a/exec/str_cmds.src b/exec/str_cmds.src
deleted file mode 100644
index d562de00b43ba0d03c3c4001066491fe9b2efc3e..0000000000000000000000000000000000000000
--- a/exec/str_cmds.src
+++ /dev/null
@@ -1,454 +0,0 @@
-# str_cmds.src
-
-# Global String Command Module for Synchronet
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-# This is NOT a command shell, DO NOT add to SCFG->Command Shells
-
-# This module is loaded from command shells with the EXEC_BIN function
-
-# It contains mostly sysop commands (i.e. ;ERR)
-
-# The command string must be the current string (obtained with SETSTR, GETSTR
-# or similar function) before this module is loaded.
-
-!include nodedefs.inc
-!include file_io.inc
-
-str fname
-int file
-
-# Remove any trailing spaces
-
-truncsp str
-
-logstr
-compare_ars SYSOP
-if_true
-	# Change node action to "sysop activities"
-	node_action NODE_SYSP
-	sync
-
-	######################## SYSOP Functions ##############################
-
-	compare_str "ERR"
-	if_true
-		error_log
-		return
-		end_if
-
-	compare_str "GURU"
-	if_true
-		guru_log
-		return
-		end_if
-
-	compare_str "CHUSER"
-	if_true
-		change_user
-		return
-		end_if
-
-	compare_str "ANSCAP"
-	if_true
-		ansi_capture
-		return
-		end_if
-
-	compare_word "LIST"
-	if_true
-		chksyspass
-		if_true
-			shift_str 4
-			call get_arg
-			printfile "%s"
-			end_if
-		return
-		end_if
-
-	compare_str "EDIT"
-	if_true
-		edit_text_file
-		return
-		end_if
-
-	compare_str "LOG"
-	if_true
-		system_log
-		return
-		end_if
-
-	compare_str "MEM"
-	if_true
-		show_mem
-		return
-		end_if
-
-	compare_str "YLOG"
-	if_true
-		system_ylog
-		return
-		end_if
-
-	compare_str "SS"
-	if_true
-		system_stats
-		return
-		end_if
-
-	compare_word "NS"
-        if_true
-		shift_str 2
-		compare_word " "
-		if_true
-			shift_str 1
-			end_if
-		node_stats
-		return
-                end_if
-
-	compare_word "EXEC"
-	if_true
-		chksyspass
-		if_true
-			shift_str 4
-			call get_arg
-			exec_int %s
-			end_if
-		return
-		end_if
-
-	compare_word "FOSSIL"
-	if_true
-		chksyspass
-		if_true
-			shift_str 6
-			call get_arg
-			exec %s
-			end_if
-		return
-		end_if
-
-	compare_word "CALL"
-	if_true
-		chksyspass
-		if_true
-			shift_str 4
-			call get_arg
-			set fname "%jqnet/%s.now"
-			fopen file O_WRONLY|O_CREAT|O_DENYNONE fname
-			if_true
-				fclose file
-				end_if
-			end_if
-		return
-		end_if
-
-	compare_word "NODE"
-	if_true
-		strlwr str
-		exec_int %!%s
-		return
-		end_if
-
-	compare_word "DOWN"
-	if_true
-		shift_str 4
-		call get_arg
-		exec_int %!node down %s
-		return
-                end_if
-
-	compare_word "RERUN"
-	if_true
-		shift_str 5
-		call get_arg
-		exec_int %!node rerun %s
-		return
-                end_if
-
-	compare_str "SLOG"
-	if_true
-		exec_int %!slog /p
-		return
-		end_if
-
-	compare_str "NLOG"
-        if_true
-		exec_int %!slog %n /p
-		return
-		end_if
-
-	compare_word "NLOG "
-        if_true
-		shift_str 5
-		exec_int %!slog %n../node%s /p
-		return
-                end_if
-
-	compare_word "UEDIT"
-        if_true
-		shift_str 5
-		compare_word " "
-		if_true
-			shift_str 1
-			end_if
-                user_edit
-		return
-                end_if
-
-	compare_str "MAIL"
-	if_true
-		mail_read_all
-		return
-		end_if
-
-        compare_str "BULKMAIL"
-        if_true
-		print "\r\nEnter ARS matches to send mail to or [CR] to send "
-		print "by name/number\r\nARS to match: "
-		getstrupr 40
-                mail_send_bulk
-		return
-                end_if
-
-	compare_str "DOS"	# DOS/Windows shell
-	if_true
-		chksyspass
-		if_true
-			exec_int "command.com"
-			end_if
-		return
-		end_if
-
-	compare_str "SHELL"	# Unix shell (-i for interactive)
-	if_true
-		chksyspass
-		if_true
-			compare_ars "UNIX"
-			if_true
-				exec_int "%y -i"	
-			else
-				exec_int "%y"	
-				end_if
-			end_if	
-		return
-		end_if
-
-	compare_word "SPY"
-	if_true
-		chksyspass
-		if_true
-			shift_str 3
-			call get_arg
-			crlf
-			spy
-			if_true
-				print "\1n\r\nSpy session complete.\r\n"
-				end_if
-			end_if
-		return
-		end_if
-
-	compare_str "DIR"	# directory of current lib/dir
-	if_true
-		chksyspass
-		print "\r\nDirectory of %f\r\n\r\n"
-		if_true
-			exec_int "%y /c dir %f /p"
-			end_if
-		return
-                end_if
-
-	compare_word "LOAD"
-	if_true
-		shift_str 4
-		call get_arg
-		load_text %s
-		return
-		end_if
-
-	compare_word "DIR"	# directory of user specified location
-	if_true
-		chksyspass
-		if_true
-			shift_str 3
-			call get_arg
-			exec_int "%y /c dir %s /p"
-			end_if
-		return
-		end_if
-
-	compare_word "UPLOAD"
-	if_true
-		shift_str 7
-		file_upload_bulk
-		return
-		end_if
-
-	compare_word "ALTUL"
-	if_true
-		shift_str 6
-		file_set_alt_path
-		return
-		end_if
-
-	compare_word "RESORT"
-	if_true
-		shift_str 7
-		file_resort_directory
-		return
-		end_if
-
-	compare_word "OLDUL"
-	if_true
-		shift_str 6
-		file_find_old_uploads
-		return
-		end_if
-
-	compare_word "OLD"
-	if_true
-		shift_str 4
-		file_find_old
-		return
-		end_if
-
-	compare_word "OFFLINE"
-	if_true
-		shift_str 8
-		file_find_offline
-		return
-		end_if
-
-	compare_word "CLOSE"
-	if_true
-		shift_str 6
-		file_find_open
-		return
-		end_if
-
-	compare_word "GET"
-	if_true
-		shift_str 3
-		compare_word " "
-		if_true
-			shift_str 1
-			end_if
-		compare_str ""
-		if_true
-			print "\r\nPath and filename: "
-			getstr 60
-			compare_str ""
-			if_true
-				return
-				end_if
-			end_if
-		file_get
-		return
-		end_if
-
-	compare_word "PUT"
-	if_true
-		shift_str 3
-		compare_word " "
-		if_true
-			shift_str 1
-			end_if
-		compare_str ""
-		if_true
-			print "\r\nPath and filename: "
-			getstr 60
-			compare_str ""
-			if_true
-				return
-                                end_if
-			end_if
-		file_put
-		return
-		end_if
-        end_if
-
-############################# Exemption Functions #############################
-
-
-# Quiet Node
-compare_ars exempt Q
-if_true
-	compare_str "QUIET"
-	if_true
-		compare_ars QUIET
-		if_true
-			exec_int %!node status=3 %#
-		else
-			exec_int %!node status=4 %#
-			end_if
-		return
-		end_if
-
-	compare_str "ANON"
-	if_true
-		toggle_node_misc NODE_ANON
-		exec_int %!node list %#
-		return
-		end_if
-	end_if
-
-# Lock Node
-compare_ars exempt N
-if_true
-        compare_word "LOCK"
-        if_true
-                shift_str 4
-		call get_arg
-                exec_int %!node lock %s
-		return
-                end_if
-	end_if
-
-# Interrupt Node
-compare_ars exempt I
-if_true
-	compare_word "INTR"
-        if_true
-                shift_str 4
-		call get_arg
-                exec_int %!node intr %s
-                return
-                end_if
-	end_if
-
-# Chat
-compare_ars exempt C
-if_true
-	compare_str "CHAT"
-	if_true
-		page_sysop
-		return
-		end_if
-	end_if
-
-compare_str "POFF"
-if_true
-	toggle_node_misc NODE_POFF
-	end_if
-
-# None of the above (unrecognized)
-return
-
-### Generic routine to ask user for parameter if one wasn't specified ###
-
-:get_arg
-	compare_word " "
-	if_true
-		shift_str 1
-		end_if
-	compare_str ""
-	if_true
-		print "Parameter(s): "
-		getstr
-		end_if
-return
diff --git a/exec/telgate.src b/exec/telgate.src
deleted file mode 100644
index 6fd79de5b37b6f5d08628701e899f2ada2de59b0..0000000000000000000000000000000000000000
--- a/exec/telgate.src
+++ /dev/null
@@ -1,13 +0,0 @@
-# telgate.src
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-printf "\r\n\1h\1hPress \1yCtrl-]\1w for a control menu anytime.\r\n\r\n"
-pause
-printf "\1h\1yConnecting to: \1w%s\1n\r\n" str
-telnet_gate str TG_PASSTHRU
-cls
diff --git a/exec/typehtml.src b/exec/typehtml.src
deleted file mode 100644
index 8455e05d49d8acc5bf30bc5bf71cef11663947b6..0000000000000000000000000000000000000000
--- a/exec/typehtml.src
+++ /dev/null
@@ -1,469 +0,0 @@
-# typehtml.c
-
-# Synchronet Baja Modules to Display HTML files to TTY/ANSI users
-
-# $Id$
-
-# Created October 09, 2000 by Rob Swindell
-
-# Requires Baja v2.20+
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include file_io.inc
-!include sbbsdefs.inc
-
-# Color Attributes for HTML type styles
-!define NORMAL		"\1N\1H"
-!define HEADING1	"\1H\1Y"
-!define HEADING2	"\1H\1C"
-!define HEADING3	"\1H\1M"
-!define HEADING4	"\1H\1G"
-!define HEADING5	"\1H\1B"	
-!define HEADING6	"\1H\1R"
-!define BOLD		"\1H\1C\x014"
-!define ITALIC		"\1H\1G\x012"
-!define UNDERLINE	"\1H\1W\x016"
-!define STRIKE_THROUGH	"\1N\1K\x017"
-!define LIST_ITEM 	"    \1H\1Wo \1G"
-
-!define RIGHT_MARGIN	79
-	
-str 	filename		# HTML filename
-str	tmpfname		# Temporary filename
-str	href
-int	i
-int	ch
-int	len
-int	t
-int	start
-int 	htmlfile 
-int	tmpfile
-int	hlevel			# header level
-int	col			# current cursor column
-int	last_line_len		# length of last line printed
-int	lines			# total lines printed
-int	printing		# printing on
-int	newline			# new line read from html file
-
-copy filename str
-
-compare_str ""
-if_true
-	print "usage: typehtml <filename>\r\n"
-	return
-	end_if
-
-# Open HTML input file
-fopen htmlfile O_RDONLY|O_DENYNONE filename
-if_false
-	printf "!Error %d opening %s\r\n" _ERRNO filename
-	return
-	end_if
-
-# Open Ctrl-A output file
-set tmpfname "%gHTML.ASC"
-fopen tmpfile O_WRONLY|O_CREAT|O_TRUNC tmpfname
-if_false
-	printf "!Error %d creating %s\r\n" _ERRNO tmpfname
-	return
-	end_if
-
-set col 0		# reset column counter
-set last_line_len 0	# reset last line length
-set lines 0		# reset line counter
-set printing 1		# printing by default
-
-print "Converting HTML"
-time start
-
-:next_line
-	print "."
-
-	# Read a line 
-	fread_line htmlfile str
-	if_false # end of file
-		fclose htmlfile
-		fclose tmpfile
-		time t
-		sub t start
-#		printf "%d seconds" t
-#		pause
-		cls
-		printfile tmpfname P_NOATCODES
-		return
-		end_if
-
-	set newline 1
-
-	# truncate whitespace off end
-	truncsp str
-
-	# truncate whitespace off front
-	call skip_whitespace
-
-	:next_char
-		compare_first_char str 0
-		if_true
-			goto next_line
-			end_if
-
-		compare_substr str "<"
-		if_false
-			compare col 0
-			if_true
-				call skip_whitespace
-				end_if
-			set i RIGHT_MARGIN
-			sub i col
-			compare i 0
-			if_equal
-				call crlf
-				set i RIGHT_MARGIN
-				end_if
-			strlen len str
-			compare i len
-			if_greater
-				copy i len
-				end_if
-			fprintf tmpfile "%.*s" i str
-			shift_str str i
-			add col i
-			compare col RIGHT_MARGIN
-			if_greater_or_equal
-				call crlf
-				end_if
-			goto next_char
-			end_if
-
-		compare_first_char str '<'
-		if_false
-			compare printing 1
-			if_true
-				# handle word wrap
-				compare newline 1
-				if_equal
-					compare col 0
-					if_not_equal
-						fprintf tmpfile " "	
-						add col 1
-						end_if
-					end_if
-				set newline 0
-
-				# don't start lines with white-space
-				compare col 0
-				if_true
-					compare_first_char str ' '		
-					end_if
-				if_false
-					fwrite tmpfile str 1
-					add col 1
-					compare col RIGHT_MARGIN
-					if_greater_or_equal
-						call crlf
-						end_if
-					end_if
-				end_if
-			shift_str 1
-			goto next_char
-			end_if
-
-		shift_str 1	# skip <
-
-		# Title
-		compare_word "TITLE>"
-		if_true
-			set printing 0
-			call find_close_bracket
-			goto next_char
-			end_if
-		compare_word "/TITLE>"
-		if_true
-			set printing 1
-			call find_close_bracket
-			goto next_char
-			end_if
-
-
-		# List item
-		compare_word "LI>"
-		if_false
-			compare_word "LI "
-			end_if
-		if_true
-			compare col 0
-			if_not_equal
-				call crlf
-				end_if
-			fprintf tmpfile LIST_ITEM
-			set col 6
-			call find_close_bracket
-			goto next_char
-			end_if
-
-		# Strike-through
-		compare_word "S>"
-		if_false
-			compare_word "STRIKE>"
-			end_if
-		if_true
-			fprintf tmpfile STRIKE_THROUGH
-			call find_close_bracket
-			goto next_char
-			end_if
-
-		# Bold
-		compare_word "B>"
-		if_false
-			compare_word "STRONG>"
-			end_if
-		if_true
-			fprintf tmpfile BOLD
-			call find_close_bracket
-			goto next_char
-			end_if
-
-		# Italics
-		compare_word "I>"
-		if_false
-			compare_word "EM>"
-			end_if
-		if_true
-			fprintf tmpfile ITALIC
-			call find_close_bracket
-			goto next_char
-			end_if
-
-		# Underline
-		compare_word "U>"
-		if_false
-			compare_word "U>"
-			end_if
-		if_true
-			fprintf tmpfile UNDERLINE
-			call find_close_bracket
-			goto next_char
-			end_if
-
-
-		# Attribute off
-		compare_word "/S>"
-		if_false
-			compare_word "/STRIKE>"
-			end_if
-		if_false
-			compare_word "/B>"
-			end_if
-		if_false
-			compare_word "/STRONG>"
-			end_if
-		if_false
-			compare_word "/I>"
-			end_if
-		if_false
-			compare_word "/EM>"
-			end_if
-		if_false
-			compare_word "/U>"
-			end_if
-		if_true
-			fprintf tmpfile NORMAL
-			call find_close_bracket
-			goto next_char
-			end_if
-
-		# Table cell
-		compare_word "TD>"
-		if_false
-			compare_word "TD "
-			end_if
-		if_true
-			# visually separate cells
-			compare col 0
-			if_greater
-				fprintf tmpfile " "	
-				add col 1
-				end_if
-			call find_close_bracket
-			goto next_char
-			end_if
-			
-
-		# Dumb CR/LF block	
-		compare_word "BR>"
-		if_false
-			compare_word "BR "
-			end_if
-		if_false
-			compare_word "P>"
-			end_if
-		if_false
-			compare_word "P "
-			end_if
-		if_false
-			compare_word "TR>"
-			end_if
-		if_false
-			compare_word "TR "	
-			end_if
-		if_true
-			call crlf
-			call find_close_bracket
-			goto next_char
-			end_if
-	
-
-		# Intelligent CR/LF block (force single blank line)
-		compare_word "/UL>"
-		if_false
-			compare_word "/OL>"
-			end_if
-		if_false
-			compare_word "/DIR>"
-			end_if
-		if_false
-			compare_word "/MENU>"
-			end_if
-		if_true
-			fprintf tmpfile NORMAL
-			end_if
-		if_false
-			compare_word "H"
-			if_true
-				shift_str 1
-				copy hlevel str
-				compare hlevel 0 
-				if_greater
-					switch hlevel
-						case 1
-							fprintf tmpfile HEADING1
-							end_case
-						case 2
-							fprintf tmpfile HEADING2
-							end_case
-						case 3
-							fprintf tmpfile HEADING3
-							end_case
-						case 4
-							fprintf tmpfile HEADING4
-							end_case
-						case 5
-							fprintf tmpfile HEADING5
-							end_case
-						default
-							fprintf tmpfile HEADING6
-							end_case
-						end_switch
-					setlogic TRUE
-				else
-					setlogic FALSE
-					end_if
-				end_if
-			end_if
-		if_false
-			compare_word "/H"
-			if_true
-				shift_str 2
-				copy hlevel str
-				compare hlevel 0 
-				if_greater
-					fprintf tmpfile NORMAL
-					setlogic TRUE
-				else
-					setlogic FALSE
-					end_if					
-				end_if
-			end_if
-		if_true
-			compare lines 0
-			if_equal
-				compare col 0
-				end_if
-			if_greater
-				compare last_line_len 0
-				if_equal
-					compare col 0
-					end_if
-				if_not_equal
-					call crlf
-					call crlf
-					end_if
-				end_if
-			call find_close_bracket
-			goto next_char
-			end_if
-		
-		# Hyper-link
-		compare_word "A HREF="
-		if_true
-			shift_str 7
-			set href ""
-			:copy_href
-				compare_first_char str '>'
-				if_false
-					copy_first_char ch str
-					strcat href ch
-					shift_str 1
-					goto copy_href
-					end_if
-			end_if
-
-		# Show hyper-link
-		compare_word "/A>"
-		if_true
-			compare href ""
-			if_false
-				strlen i href
-				add i 3
-				add col i
-				compare col RIGHT_MARGIN
-				if_equal_or_greater
-					call crlf
-					sub i 1
-					copy col i
-				else
-					fprintf tmpfile " "
-					end_if					
-				fprintf tmpfile "<%s>" href
-				end_if
-			set href ""
-			end_if
-
-		call find_close_bracket
-		goto next_char
-			
-return
-
-# Carriage-return/Line-feed with column reset
-:crlf
-	copy last_line_len col
-	fprintf tmpfile "\r\n"
-	set col 0
-	add lines 1
-	return
-
-# Shift str past first close bracket
-:find_close_bracket
-	compare_first_char str 0
-	if_true
-		return
-		end_if
-
-	compare_first_char str '>'
-	shift_str 1
-	if_false
-		goto find_close_bracket
-		end_if	
-	return
-
-:skip_whitespace
-	compare_first_char str ' '
-	if_false
-		compare_first_char str '\t'
-		end_if
-	if_true
-		shift_str 1
-		goto skip_whitespace
-		end_if
-	return
diff --git a/exec/unixgate.src b/exec/unixgate.src
deleted file mode 100644
index fe0673af82e6c51674d10a03740e320445a20607..0000000000000000000000000000000000000000
--- a/exec/unixgate.src
+++ /dev/null
@@ -1,15 +0,0 @@
-# unixgate.src
-
-# Telnet Gateway for Unix servers - Requires v3.00c
-
-# $Id$
-
-# @format.tab-size 8, @format.use-tabs true
-
-!include sbbsdefs.inc
-
-printf "\r\n\1h\1hPress \1yCtrl-]\1w for a control menu anytime.\r\n\r\n"
-pause
-printf "\1h\1yConnecting to: \1w%s\1n\r\n" str
-telnet_gate str TG_PASSTHRU|TG_NOTERMTYPE
-cls