From 63cb27c091a8b4b419846f64aa7d541375944703 Mon Sep 17 00:00:00 2001
From: Clyne Sullivan <clyne@bitgloo.com>
Date: Tue, 6 Dec 2022 08:29:28 -0500
Subject: day6: basic for both parts

---
 day6/both.bas  | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 day6/part1.bas |  61 --------------------------------
 2 files changed, 110 insertions(+), 61 deletions(-)
 create mode 100644 day6/both.bas
 delete mode 100644 day6/part1.bas

diff --git a/day6/both.bas b/day6/both.bas
new file mode 100644
index 0000000..d5a70a3
--- /dev/null
+++ b/day6/both.bas
@@ -0,0 +1,110 @@
+REM Advent of Code 2022: Day 6, part 1 and 2
+REM Written in Applesoft BASIC
+
+ 5  HOME 
+ 10 A = 1000
+ 20 R = 0
+ 50  PRINT  CHR$ (4),"OPEN INPUT"
+ 60  PRINT  CHR$ (4),"READ INPUT"
+ 70  ONERR  GOTO 900
+ 100  PRINT "INITIALIZING COMMUNICATION SYSTEM";
+ 105 A = 350
+ 110  FOR I = 0 TO 6
+ 120  GOSUB 1000
+ 130  PRINT ".";
+ 140  NEXT I
+ 150  PRINT 
+ 200  PRINT "OPENING SIGNAL DATASTREAM";
+ 210  FOR I = 0 TO 6
+ 220  GOSUB 1000
+ 230  PRINT ".";
+ 240  NEXT I
+ 250  PRINT 
+ 260  PRINT 
+ 300  PRINT "SCANNING FOR START-OF-PACKET MARKER:"
+ 310  HTAB 1
+ 320  VTAB 8
+ 330  PRINT "||||";
+ 340  HTAB 1
+ 350  VTAB 10
+ 360  PRINT "||||";
+ 400  HTAB 1
+ 410  VTAB 9
+ 420  PRINT S$;
+ 430  IF  LEN (S$) >  = 4 GOTO 500
+ 440  GET C$
+ 450 S$ = C$ + S$
+ 455  IF  LEN (S$) > 40 THEN S$ =  MID$ (S$,1,40)
+ 460 A = 80
+ 470  GOSUB 1000
+ 475 R = R + 1
+ 480  GOTO 400
+ 500  HTAB 1
+ 510  VTAB 7
+ 530  IF  MID$ (S$,1,1) =  MID$ (S$,2,1) THEN  PRINT "/\  ";: GOTO 600
+ 540  IF  MID$ (S$,1,1) =  MID$ (S$,3,1) THEN  PRINT "/-\ ";: GOTO 600
+ 550  IF  MID$ (S$,1,1) =  MID$ (S$,4,1) THEN  PRINT "/--\";: GOTO 600
+ 560  IF  MID$ (S$,2,1) =  MID$ (S$,3,1) THEN  PRINT " /\ ";: GOTO 600
+ 570  IF  MID$ (S$,2,1) =  MID$ (S$,4,1) THEN  PRINT " /-\";: GOTO 600
+ 580  IF  MID$ (S$,3,1) =  MID$ (S$,4,1) THEN  PRINT "  /\";: GOTO 600
+ 590  PRINT "    ";
+ 595  GOTO 700
+ 600  GOTO 440
+ 620  VTAB 14
+ 700  HTAB 1
+ 710  VTAB 13
+ 715 A = 1300
+ 720  PRINT "MARKER FOUND AT INDEX ";R;"."
+ 725  GOSUB 1000
+ 730  PRINT 
+ 740  PRINT "ENGAGING FULL-SPEED SEARCH FOR START-OF-MESSAGE MARKER:"
+ 750  GOSUB 1000
+ 760  GOTO 2000
+ 900  PRINT  CHR$ (4),"CLOSE"
+ 910  END 
+ 1000  FOR Z = 0 TO A: NEXT Z
+ 1010  RETURN 
+ 2000  HTAB 1
+ 2010  VTAB 19
+ 2020  PRINT "||||||||||||||";
+ 2030  HTAB 1
+ 2040  VTAB 21
+ 2050  PRINT "||||||||||||||";
+ 2060  PRINT  CHR$ (4),"CLOSE"
+ 2070  PRINT  CHR$ (4),"OPEN INPUT"
+ 2080  PRINT  CHR$ (4),"READ INPUT"
+ 2090 S$ = "":R = 0
+ 2095 M = 0
+ 2100  HTAB 1
+ 2110  VTAB 20
+ 2120  PRINT S$;
+ 2130  GET C$
+ 2140 S$ = C$ + S$
+ 2145 R = R + 1
+ 2150  IF  LEN (S$) < 14 GOTO 2100
+ 2160  IF  LEN (S$) > 40 THEN S$ =  MID$ (S$,1,40)
+ 2170  IF M > 0 THEN M = M - 1: GOTO 2100
+ 2190 I = 1
+ 2200 M = 0
+ 2210  FOR J = I + 1 TO 14
+ 2220  IF  MID$ (S$,I,1) =  MID$ (S$,J,1) THEN M = J:J = 14
+ 2230  NEXT J
+ 2240  IF M <  > 0 GOTO 2300
+ 2250 I = I + 1
+ 2260  IF I < 14 GOTO 2200
+ 2270  GOTO 2400
+ 2300  HTAB I
+ 2310  VTAB 18
+ 2314  PRINT "              ";
+ 2318  HTAB I
+ 2320  FOR J = I TO M
+ 2330  PRINT "-";
+ 2340  NEXT J
+ 2345 M = 14 - M
+ 2350  GOTO 2100
+ 2400  HTAB 1
+ 2410  VTAB 23
+ 2420  PRINT "MESSAGE FOUND AT INDEX ";R"."
+ 2425  GOSUB 1000
+ 2430  GOTO 900
+
diff --git a/day6/part1.bas b/day6/part1.bas
deleted file mode 100644
index cb04c43..0000000
--- a/day6/part1.bas
+++ /dev/null
@@ -1,61 +0,0 @@
-REM Advent of Code 2022: Day 6, part 1
-REM Written in Applesoft BASIC
-
- 5  HOME 
- 10 A = 1000
- 20 R = 0
- 50  PRINT  CHR$ (4),"OPEN INPUT"
- 60  PRINT  CHR$ (4),"READ INPUT"
- 70  ONERR  GOTO 900
- 100  PRINT "INITIALIZING COMMUNICATION SYSTEM";
- 105 A = 350
- 110  FOR I = 0 TO 6
- 120  GOSUB 1000
- 130  PRINT ".";
- 140  NEXT I
- 150  PRINT 
- 200  PRINT "OPENING SIGNAL DATASTREAM";
- 210  FOR I = 0 TO 6
- 220  GOSUB 1000
- 230  PRINT ".";
- 240  NEXT I
- 250  PRINT 
- 260  PRINT 
- 300  PRINT "SCANNING FOR START-OF-PACKET MARKER:"
- 310  HTAB 1
- 320  VTAB 8
- 330  PRINT "||||";
- 340  HTAB 1
- 350  VTAB 10
- 360  PRINT "||||";
- 400  HTAB 1
- 410  VTAB 9
- 420  PRINT S$;
- 430  IF  LEN (S$) >  = 4 GOTO 500
- 440  GET C$
- 450 S$ = C$ + S$
- 455  IF  LEN (S$) > 40 THEN S$ =  MID$ (S$,1,40)
- 460 A = 80
- 470  GOSUB 1000
- 475 R = R + 1
- 480  GOTO 400
- 500  HTAB 1
- 510  VTAB 7
- 530  IF  MID$ (S$,1,1) =  MID$ (S$,2,1) THEN  PRINT "/\  ";: GOTO 600
- 540  IF  MID$ (S$,1,1) =  MID$ (S$,3,1) THEN  PRINT "/-\ ";: GOTO 600
- 550  IF  MID$ (S$,1,1) =  MID$ (S$,4,1) THEN  PRINT "/--\";: GOTO 600
- 560  IF  MID$ (S$,2,1) =  MID$ (S$,3,1) THEN  PRINT " /\ ";: GOTO 600
- 570  IF  MID$ (S$,2,1) =  MID$ (S$,4,1) THEN  PRINT " /-\";: GOTO 600
- 580  IF  MID$ (S$,3,1) =  MID$ (S$,4,1) THEN  PRINT "  /\";: GOTO 600
- 590  PRINT "    ";
- 595  GOTO 700
- 600  GOTO 440
- 620  VTAB 14
- 700  HTAB 1
- 710  VTAB 13
- 720  PRINT "MARKER FOUND AT INDEX ";R;"."
- 900  PRINT  CHR$ (4),"CLOSE"
- 910  END 
- 1000  FOR Z = 0 TO A: NEXT Z
- 1010  RETURN 
-
-- 
cgit v1.2.3