diff --git a/mvnw b/mvnw old mode 100644 new mode 100755 diff --git a/src/main/java/eu/sblendorio/bbs/tenants/ascii/MenuApple1.java b/src/main/java/eu/sblendorio/bbs/tenants/ascii/MenuApple1.java index a7b2b4c3..de8f4af1 100644 --- a/src/main/java/eu/sblendorio/bbs/tenants/ascii/MenuApple1.java +++ b/src/main/java/eu/sblendorio/bbs/tenants/ascii/MenuApple1.java @@ -6,14 +6,18 @@ import eu.sblendorio.bbs.core.BbsThread; import static eu.sblendorio.bbs.core.Utils.STR_ALPHANUMERIC; import static eu.sblendorio.bbs.core.Utils.setOfChars; +import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.stream.Collectors.toList; +import static org.apache.commons.lang3.StringUtils.startsWith; import static org.apache.commons.lang3.math.NumberUtils.toInt; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.nio.file.Path; import java.util.*; +import eu.sblendorio.bbs.core.Utils; import org.apache.commons.lang3.StringUtils; public class MenuApple1 extends AsciiThread { @@ -152,6 +156,7 @@ public void doLoop() throws Exception { else if ("w".equals(choice) && !alternateLogo()) subThread = new ChatGptAscii(); else if ("x".equals(choice) && !alternateLogo()) { showPatrons(); subThread = null; } else if ("y".equals(choice) && !alternateLogo()) { wifiModem(); subThread = null; } + else if ("z".equals(choice) && !alternateLogo()) { apple1Demo(); subThread = null; } else { validKey = false; subThread = null; @@ -190,14 +195,14 @@ public void displayMenu() { println("E - The 8-Bit Guy "+ sp +" R - Zork III"); println(" "+ sp +" S - Hitchhiker's"); println("Italian News"); - println("----------------- "+ sp +" Services"); - println("F - Televideo RAI "+ sp +" ---------------"); - println("G - Lercio "+ sp +" T - Chat"); - println("H - Disinformatico "+ sp +" U - Private Msg"); - println("I - Mupin.it "+ sp +" V - Eliza"); - println("J - Fatto Quotidiano "+ sp + (alternateLogo() ? "" : " W - Chat GPT")); - println("K - Amedeo Valoroso "+ sp + (alternateLogo() ? "" : " X - Patrons list")); - println("L - Butac.it "+ sp + (alternateLogo() ? "" : " Y - Wifi Modem")); + println("----------------- "+ sp +" Services-------"); + println("F - Televideo RAI "+ sp +" T - Chat"); + println("G - Lercio "+ sp +" U - Private Msg"); + println("H - Disinformatico "+ sp +" V - Eliza"); + println("I - Mupin.it "+ sp + (alternateLogo() ? "" : " W - Chat GPT")); + println("J - Fatto Quotidiano "+ sp + (alternateLogo() ? "" : " X - Patrons list")); + println("K - Amedeo Valoroso "+ sp + (alternateLogo() ? "" : " Y - Wifi Modem")); + println("L - Butac.it "+ sp +" Z - Apple-1 Demo"); println("M - Alessandro Albano"+ sp +" . - Logout"); println(); } @@ -230,6 +235,24 @@ public void showPatrons() throws Exception { flush(); resetInput(); readKey(); } + public void apple1Demo() throws Exception { + List drawings = Utils.getDirContent("apple1/demo30th"); + for (Path drawing : drawings) { + String filename = drawing.toString(); + if (startsWith(filename,"/")) filename = filename.substring(1); + final String content = new String(readBinaryFile(filename), UTF_8); + cls(); + for (String row: content.split("\n")) { + println(); + print(row); + } + flush(); resetInput(); + int ch = keyPressed(60_000); + if (ch == '.') return; + } + } + + public void wifiModem() throws Exception { cls(); banner(); @@ -264,4 +287,5 @@ private List readTxt(String filename) { return result; } + } diff --git a/src/main/java/eu/sblendorio/bbs/tenants/mixed/StdChoice.java b/src/main/java/eu/sblendorio/bbs/tenants/mixed/StdChoice.java index de3f5a0d..bb581031 100644 --- a/src/main/java/eu/sblendorio/bbs/tenants/mixed/StdChoice.java +++ b/src/main/java/eu/sblendorio/bbs/tenants/mixed/StdChoice.java @@ -27,7 +27,7 @@ public void initBbs() throws Exception { @Override public void doLoop() throws Exception { - if (alternateLogo()) { println();println();println("Moved to BBS.RETROCAMPUS.COM");println(); keyPressed(10_000); return; } + if (alternateLogo()) { println();println();println("moved to bbs.retrocampus.com");println(); keyPressed(10_000); return; } int ch; String banner = (alternateLogo() ? "RETROACADEMY" : "RETROCAMPUS") + " BBS"; write(12); diff --git a/src/main/resources/apple1/demo30th-01.txt b/src/main/resources/apple1/demo30th/demo30th-01.txt similarity index 100% rename from src/main/resources/apple1/demo30th-01.txt rename to src/main/resources/apple1/demo30th/demo30th-01.txt diff --git a/src/main/resources/apple1/demo30th-02.txt b/src/main/resources/apple1/demo30th/demo30th-02.txt similarity index 100% rename from src/main/resources/apple1/demo30th-02.txt rename to src/main/resources/apple1/demo30th/demo30th-02.txt diff --git a/src/main/resources/apple1/demo30th-03.txt b/src/main/resources/apple1/demo30th/demo30th-03.txt similarity index 100% rename from src/main/resources/apple1/demo30th-03.txt rename to src/main/resources/apple1/demo30th/demo30th-03.txt diff --git a/src/main/resources/apple1/demo30th-04.txt b/src/main/resources/apple1/demo30th/demo30th-04.txt similarity index 100% rename from src/main/resources/apple1/demo30th-04.txt rename to src/main/resources/apple1/demo30th/demo30th-04.txt diff --git a/src/main/resources/apple1/demo30th-05.txt b/src/main/resources/apple1/demo30th/demo30th-05.txt similarity index 100% rename from src/main/resources/apple1/demo30th-05.txt rename to src/main/resources/apple1/demo30th/demo30th-05.txt diff --git a/src/main/resources/apple1/demo30th-06.txt b/src/main/resources/apple1/demo30th/demo30th-06.txt similarity index 100% rename from src/main/resources/apple1/demo30th-06.txt rename to src/main/resources/apple1/demo30th/demo30th-06.txt diff --git a/src/main/resources/apple1/demo30th-07.txt b/src/main/resources/apple1/demo30th/demo30th-07.txt similarity index 100% rename from src/main/resources/apple1/demo30th-07.txt rename to src/main/resources/apple1/demo30th/demo30th-07.txt diff --git a/src/main/resources/apple1/demo30th-08.txt b/src/main/resources/apple1/demo30th/demo30th-08.txt similarity index 100% rename from src/main/resources/apple1/demo30th-08.txt rename to src/main/resources/apple1/demo30th/demo30th-08.txt diff --git a/src/main/resources/apple1/demo30th-09.txt b/src/main/resources/apple1/demo30th/demo30th-09.txt similarity index 100% rename from src/main/resources/apple1/demo30th-09.txt rename to src/main/resources/apple1/demo30th/demo30th-09.txt diff --git a/src/main/resources/apple1/demo30th-10.txt b/src/main/resources/apple1/demo30th/demo30th-10.txt similarity index 100% rename from src/main/resources/apple1/demo30th-10.txt rename to src/main/resources/apple1/demo30th/demo30th-10.txt