100 REM ==========================================
110 REM                 MAIN MENU
120 REM ==========================================
130 CLEAR
135 SLOW
140 COLOR 7, 0
145 PRINT "  "
150 PRINT "   | \ | |_) |__ /  ~|~ / \ |_) \/ "
160 PRINT "   |_/ | | \ |__ \_  |  \_/ | \  | "
170 PRINT " "
180 PRINT "  /\  (_ (_  | (_  ~|~  /\  |\ | /  |__ "
190 PRINT " /__\ __)__) | __)  |  /__\ | \| \_ |__ "
200 PRINT "  "
205 NOSLOW
210 COLOR 5, 0
220 PRINT "1. LOGIN TO SYSTEM"
230 PRINT "2. REGISTER NEW ACCOUNT"
240 PRINT "3. DISCONNECT"
250 PRINT " "
260 GET C$ : IF C$="" THEN GOTO 260
270 IF C$ = "1" THEN GOTO 400
280 IF C$ = "2" THEN GOTO 300
290 IF C$ = "3" THEN END
295 GOTO 260

300 REM ==========================================
310 REM               REGISTRATION
320 REM ==========================================
330 CLEAR
340 PRINT "--- NEW USER REGISTRATION ---"
350 INPUT "DESIRED USERNAME: ", U$
360 INPUT "ACCOUNT PASSWORD: ", P$
370 DBINSERT "users", U$, P$
380 COLOR 11, 0
390 PRINT "ACCOUNT CREATED! RETURNING TO LOGIN..."
395 FOR D=1 TO 500 : NEXT D
398 GOTO 100

400 REM ==========================================
410 REM                  LOGIN
420 REM ==========================================
430 CLEAR
440 PRINT "--- SECURE LOGIN ---"
450 INPUT "USERNAME: ", U$
460 INPUT "PASSWORD: ", P$
470 DBGET "users", "username", U$, "password", R$
480 IF R$ = P$ THEN GOTO 600
490 COLOR 12, 0
500 PRINT "ACCESS DENIED. INVALID CREDENTIALS."
510 COLOR 10, 0
520 FOR D=1 TO 500 : NEXT D
530 GOTO 100

600 REM ==========================================
610 REM         SYSOP DASHBOARD (LOGGED IN)
620 REM ==========================================
630 CLEAR
640 COLOR 11, 0
650 PRINT "WELCOME BACK, " ; U$
660 COLOR 10, 0
670 PRINT "----------------------------------"
680 PRINT "1. READ SYSTEM NEWS (FILE I/O)"
690 PRINT "2. WHO IS ONLINE? (NETWORK)"
700 PRINT "3. SEND PRIVATE MESSAGE"
710 PRINT "4. CHECK INBOX"
720 PRINT "5. ENTER PUBLIC CHAT ROOM"
730 PRINT "6. LOGOUT"
740 PRINT "----------------------------------"
750 GET C$ : IF C$="" THEN GOTO 750
760 IF C$ = "1" THEN GOTO 800
770 IF C$ = "2" THEN GOTO 900
780 IF C$ = "3" THEN GOTO 1000
790 IF C$ = "4" THEN GOTO 1100
792 IF C$ = "5" THEN GOTO 1200
794 IF C$ = "6" THEN GOTO 100
796 GOTO 750

800 REM ==========================================
810 REM            SYSTEM NEWS (FILE I/O)
820 REM ==========================================
830 CLEAR
840 COLOR 11, 0
850 PRINT "--- SYSTEM NEWS BULLETIN ---"
860 COLOR 10, 0
870 TYPE "news.txt"
880 PRINT " "
890 INPUT "PRESS ENTER TO RETURN: ", X$
895 GOTO 600

900 REM ==========================================
910 REM             WHO IS ONLINE
920 REM ==========================================
930 CLEAR
940 COLOR 11, 0
950 PRINT "--- ACTIVE NETWORK USERS ---"
960 COLOR 10, 0
970 WHONODE
980 PRINT " "
990 INPUT "PRESS ENTER TO RETURN: ", X$
995 GOTO 600

1000 REM ==========================================
1010 REM           SEND PRIVATE MESSAGE
1020 REM ==========================================
1030 CLEAR
1040 PRINT "--- TRANSMIT PRIVATE SECURE MSG ---"
1050 INPUT "TARGET USERNAME: ", T$
1060 INPUT "MESSAGE PAYLOAD: ", M$
1070 MSG T$, M$
1080 COLOR 11, 0
1090 PRINT "MESSAGE TRANSMITTED!"
1092 COLOR 10, 0
1094 FOR D=1 TO 500 : NEXT D
1096 GOTO 600

1100 REM ==========================================
1110 REM               CHECK INBOX
1120 REM ==========================================
1130 CLEAR
1140 PRINT "--- SECURE INBOX ---"
1150 POLL M$, S$, P
1160 COLOR 11, 0
1170 PRINT "RECEIVED: " ; M$
1180 COLOR 10, 0
1190 PRINT " "
1192 INPUT "PRESS ENTER TO RETURN: ", X$
1194 GOTO 600

1200 REM ==========================================
1210 REM             PUBLIC CHAT ROOM
1220 REM ==========================================
1230 CLEAR
1240 COLOR 11, 0
1250 PRINT "--- GLOBAL CHAT (TYPE 'QUIT' TO EXIT) ---"
1260 COLOR 10, 0
1270 TYPE "chat.txt"
1280 PRINT "-----------------------------------------"
1290 INPUT "SAY: ", M$
1300 IF M$ = "QUIT" THEN GOTO 600
1310 REM -- APPEND TO CHAT FILE --
1320 READ "chat.txt", C$
1330 C$ = C$ + " [" + U$ + "]: " + M$
1340 WRITE "chat.txt", C$
1350 GOTO 1200