diff --git a/.Docs/Developers Guide.md b/.Docs/Developers Guide.md index 94185051..bb59192e 100644 --- a/.Docs/Developers Guide.md +++ b/.Docs/Developers Guide.md @@ -1,31 +1,33 @@ # A2osX Developers Guide -ASM is needed because at end of day its the most strict mem mgmt (the language that allows you to be stringy on mem use) so of course the core of A2osX is in ASM. however after we make out own ASM that makes the OS self making (we talked about this) we plan a CSH which is first step to Interactive C and then a BIn that will make C feed to ASM (the point of 23) so we will get there, but hey stupid, the CORE has to be ASM to be tight with mem +### Updated October 22, 2019 -# Notes for Developers +This Guide provides information on the development process and tools used to build A2osX. The core of A2osx is currently, and likely always will be, developed in 65C02 Assembly Language. Assembly is used for the speed, compactness and efficient memory management necessary for the central core, or kernel, of A2osX. Currently all of the programs distributed with A2osX are also written in Assembly, however, a it is expected that a C compiler or preprocessor that creates Assembly will be made available in the future. -There has been a significant uptick in interest in A2osX and its development. That's great! Along with that has come a lot of questions and requests for documentation. This document hopes to answer many, or at least some, of those questions. While this document attempts to describe the current process, we are certainly open to easier or better development work flows that will speed the creation of what we believe will be a great Operating Environment for Apple IIs. Feel free to post your comments or open issues on GitHub with any feedback you have on A2osX. +## Notes for Developers + +This Guide attempts to describe the current development and build process. As with any project of this size, suggestions to enhance or streamline this process are welcome. Please post your comments or open issues on GitHub with any feedback you have on A2osX including the development work flow. ## Current Development Process ->This section mentions the names of Software products some of use in the A2osX development process. Other than the Assembler, which is core, the other products could be replaced by similar software of the users choosing. Below, more information is providing on these products and as alternatives become know to us, we will update this document to make you aware of them. +>This section mentions the names of Software products some of us use in the A2osX development process. Other than the Assembler, which is core, the other products could be replaced by similar software of the users choosing. Below, more information is providing on these products and as alternatives become know to us, we will update this document to make you aware of them. In the purest sense, the development of A2osX is at its core an Apple II centric process. All the programs that make up A2osX are Assembled on an Apple II computer using a ProDOS-based assembler made by S-C Software Corporation. The reality of the development workflow is a little more nuanced. So lets talk about the actual process, starting with the place that brought you here, GitHub(GH). GH is our repository for code and files used to create A2osX. You can browse all of these files on GH, presumably you are reading this file from the root directory of the A2osX repository. Currently, all of the active developers of A2osX use a SVN (Subversion) client to create, maintain and update files in the repository. Many of us use TortoiseSVN, but other clients are available, including some GitHub specific desktop apps. Using SVN, we can download updates from other developers and submit updates we have made. TortoiseSVN happens to integrate well with Windows Explorer. -Most of our developers are using Notepad++ to edit the files stored in the repository. Any plain text editor can be used, but we have created a special helper file for Notepad++ the highlights the syntax/special words used in 6502 assembly. This is discussed further below. +Most of our developers are using Notepad++ to edit the files stored in the repository. Any plain text editor can be used, but we have created a special helper file for Notepad++ that highlights the syntax/special words used in 6502 assembly. This is discussed further below. -So how do we get from a source text file on GH to a running binary on an Apple...that magic or rather our current particular flow is achieved by combining two tools, the **S-C Macro Assembler running under ProDos** hosted on **The AppleWin Emulator** running on Windows. If you were to look at any (well most) of our source files in the GH repository you will see non-source like extras at the top and bottom of each file. These are actually S-C Assembler directives. If in AppleWin (AW) you mount and boot from the current BUILD media (found in .Floppies) the default behavior is to load the S-C Macro Assembler (you see the : prompt). In our source files you will see at the top directives such as AUTO 4,1 which means start automatic line numbering at 4 incrementing by 1. At the bottom of the file are directives such as TEXT SRC/LS.S which means save the source listing to the ProDOS disk in directory SRV as file LS.S. +So how do we get from a source text file on GH to a running binary on an Apple...that magic or rather our current particular flow is achieved by combining two tools, the **S-C Macro Assembler running under ProDos** hosted on **The AppleWin Emulator** running on Windows. If you were to look at any (well most) of our source files in the GH repository you will see non-source like extras at the top and bottom of each file. These are actually S-C Assembler directives. If in AppleWin (AW) you mount and boot from the current BUILD media (found in .Floppies) the default behavior is to load the S-C Macro Assembler (you see the : prompt). In our source files you will see at the top directives such as AUTO 4,1 which means start automatic line numbering at 4 incrementing by 1. At the bottom of the file are directives such as TEXT SRC/LS.S which means save the source listing to the ProDOS disk in directory SRC as file LS.S. -What we do in our current work flow, we edit the file with Notepad++, save locally to sync with GH, and then we select all text in the file (Ctrl-A), Copy (control-C) and then switch to AW with the S-C : prompt and paste (Shift-Insert in AW). That types the source into the assembler and the other bits at the top and bottom of the file which Assembles and saves everything to the BUILD disk image. To test our new program (bin), you type -RUN which is the same as -A2OSX.SYSTEM which loads A2osX. +In our current work flow, we edit the file with Notepad++, save locally to sync with GH, and then we select all text in the file (Ctrl-A), Copy (control-C) and then switch to AW with the S-C : prompt and paste (Shift-Insert in AW). That types the source into the assembler and the other bits at the top and bottom of the file which Assembles and saves everything to the BUILD disk image. To test our new program (bin), you type -RUN which is the same as -A2OSX.SYSTEM which loads A2osX. ->As stated at the very beginning, technically this Assemble/BUILD is a native Apple II process. Technically, you could run any ProDOS text editor, edit your source files and if using the right S-C Assembler commands you could Assemble binaries all in AW or on real Apple Hardware. We do not do this ourselves as it would then break the GH/SVN part of the workflow which we believe has value. This document does not cover the Apple only dev process, but read the Planned Development Process for what is coming in that area. +>As stated at the very beginning, technically this Assemble/BUILD is a native Apple II process. Technically, you could run any ProDOS text editor, edit your source files and if using the right S-C Assembler commands you could Assemble binaries all in AW or on real Apple Hardware. We do not do this ourselves as it would then break the GH/SVN part of the work flow which we think has value. This document does not cover the Apple only dev process, but read the Planned Development Process for what is coming in that area. ## Planned Development Process -ASM program hosted in A2osX. -Second part of plan is a AppleTalk over Ethernet Libray (LIBETALK) for A2osX that will allow the system to mount a remote file system on your Apple or Apple Emulator. The plan is to have this file system be the same folder synced via SVN with GitHub containing the A2osX source code. This would allow you to edit source code on either the Apple using A2osX EDIT or from your PC/MAC using a native text editor on those systems. Not only will you be able to ASM any A2osX drivers, libraries or programs this way, we will create MAKE scripts that run on A2osZ that can create new builds automatically. +**ASM program hosted in A2osX.** +One of the existing features of A2osX is its support for networking via drivers for the most popular Apple II ethernet network cards, a TCPIP stack, a library of network functions available to all programs and a handful of applications and utilities that use these libaries. In the future we plan to extend that functionality to allow A2osX to mount remote file systems potentially via a file sharing protocol such as CIFS or AppleTalk/EtherTalk. This would allow the developer to directly access files on a network synced with GH (by the file server)and be editable and compiled/assembled by the Apple. Concurrently, a native to A2osX Assembler is being created (followed by a C compiler or pre-processor) that will allow the developer to fully edit and assemble an application directly in the A2osX operating environment. This setup would allow you to edit source code on either the Apple using A2osX EDIT or from your PC/MAC using a native text editor on those systems. Not only will you be able to Assemble any A2osX drivers, libraries or programs this way, we will create MAKE scripts that run on A2osX that can create new builds automatically. ## Tools A2osX Developers Use @@ -41,14 +43,27 @@ You can find more information about this assembler here: http://www.txbobsc.com/ We use TortoiseSNV to pull/push changes to GitHUb (commit/update). Specifically we use version 1.10.2.28392 because we have found later versions have conflicts with GitHub. There are other software packages available, many of them public domain, that can be used to manage GitHub respositories on your desktop. -### Notepad++ - ### MarkdownPad 2 MD is a standard language for making documentation files. We use MarkdownPad 2/Pro to edit our MD files, but there are many many alternatives, including some in the Public Domain. In fact, ATOM is a standard alternate utilized by many in the GitHub community. If you decide to use MarkdownPad 2 as we do, you may want to add support for GitHub Tables in Live preview you need to go into Options and change the Markdown Processor to GitHub Flavor and then you need to fix GitHub login because it it only supports SSL/TLS 1.0 which is not enabled by default in Windows. to fix that you have to change some registry settings. +Documentation for A2osX is written in standard Github Markdown language. There are many editors you can use to read/make these files. THis includes Atom??? and our favorite MarkdownPad 2. Note though to use this edititor you need + +Use MarkdownPad 2 Pro to edit Github Markdown files such as this one. Note to fully use its features you need a pro license and you need to enable the Github markdown preview options. If you have a GH account you will immediately get a login error because GH and Windows TLS settings are mismatched. YOu should read this article: +https://stackoverflow.com/questions/33761919/tls-1-2-in-net-framework-4-0/44153734#44153734 + +Basically you are going to have to use regedit to create the following keys: + +| Registry Entry | Items | +| ----------- | ------------------- | +| [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] | "SchUseStrongCrypto"=dword:00000001 | +| [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] | "SchUseStrongCrypto"=dword:00000001| +| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] | | +| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] | "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 | +| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] | "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 | + ### AppleWin If you use AppleWin and want to enable support for networking (AW supports the UtherNet I network card protocol) you must install a network shim that enables AppleWin to talk to the Internet. You can search with Google how to do this, but basically you need to install WinPcap 4.1.3. @@ -72,21 +87,6 @@ Use Notepad++ which you can download from.... THere is a userDefinedLang.xlm file in the .Tools dir that you will want to copy to Notepad... then when editing ASM files (.S) you can change your language to S-C MASM 65C02 and notepad++ will do the proper highlighting. -Documentation for A2osX is written in standard Github Markdown language. There are many editors you can use to read/make these files. THis includes Atom??? and our favorite MarkdownPad 2. Note though to use this edititor you need - -Use MarkdownPad 2 Pro to edit Github Markdown files such as this one. Note to fully use its features you need a pro license and you need to enable the Github markdown preview options. If you have a GH account you will immediately get a login error because GH and Windows TLS settings are mismatched. YOu should read this article: -https://stackoverflow.com/questions/33761919/tls-1-2-in-net-framework-4-0/44153734#44153734 - -Basically you are going to have to use regedit to create the following keys: - -| Registry Entry | Items | -| ----------- | ------------------- | -| [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] | "SchUseStrongCrypto"=dword:00000001 | -| [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] | "SchUseStrongCrypto"=dword:00000001| -| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] | | -| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] | "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 | -| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] | "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 | - ## License A2osX is licensed under the GNU General Pulic License. diff --git a/.Docs/Media Guide.md b/.Docs/Media Guide.md index a6fec2f3..7280d5ac 100644 --- a/.Docs/Media Guide.md +++ b/.Docs/Media Guide.md @@ -10,7 +10,7 @@ We have changed the media set for A2osX. New A2osX Users should download the mo | --- | --- | --- | --- | | RELEASE | This is a locked down set of media that will change infrequently, only upon a major update. | | * | | **RC** | **This is a RELEASE candidate, if available, for the next coming major release. There should be very few RC releases before one of them becomes the actual RELEASE media. RC releases should be relatively bug free and feature complete (to the scope planned for that release).** | **1664** | **Oct-22-2019** | -| STABLE | Stable releases are significant updates over the last RELEASE but may not included in their own scope. STABLE releases will be made from BLEED builds that have no significant bugs, but may have documented issues that have not yet been resolved, especially in new features. | | * | +| STABLE | Stable releases are significant updates over the last RELEASE but may not included in their own scope. STABLE releases will be made from BLEED builds that have no significant bugs, but may have documented issues that have not yet been resolved, especially in new features. **This will likely become RC shortly. Anyone with network cards, please download and test.** | **1669** | **Oct-22-2019** | | BLEED| The media in this edition are very cutting edge, changing almost daily, particularly A2OSX.BUILD.po. This edition is targeted at core developers who are creating and maintaining A2osX. For most users, it is recommended that you use one of the other editions. | | * | * Note this is a new system of Editions and Disk Images. A2osX 0.93 will be the first Release that uses this new system. The first **RC** set of media are now available and are based on build No 1600. If no significant issues are found with **RC**, a set of **RELEASE** media will be made available based on this build (the RC media will then be removed until a 0.94 RC is ready). @@ -23,8 +23,12 @@ You can use and/or install A2osX from the media found in our Media directory fou | --- | --- | --- | | **[RC.140.po](../.Floppies/RC.140.po)** | **RC** |**An 140K 5.25" disk image containing the main BOOT and support files for running A2osX.** | | **[RC.800.po](../.Floppies/RC.800.po)** | **RC** |**An 800K 3.5" disk image containing A2osX system, utilities and application files for running A2osX.** | -| **[RC.32MB.po](../.Floppies/RC.32MB.po)** | **RC** |**A 32MB HD disk image containing A2osX system, utilities and applications; suitable for use with emulators such as AppleWin** or for use with the CFFA card. | -| **[TDBOOT.po](../.Floppies/TDBOOT.po)** | **RC** |**A formatted empty ProDOS 32MB HD disk image, suitable for use with emulators such as AppleWin** or for use with the CFFA card. | +| **[RC.32MB.po](../.Floppies/RC.32MB.po)** | **RC** |**A 32MB HD disk image containing A2osX system, utilities and applications; suitable for use with emulators such as AppleWin or for use with the CFFA card.** | +| **[TDBOOT.po](../.Floppies/TDBOOT.po)** | **RC** |**A special 32MB HD disk image, preconfigured to automatically load Uthernet2 driver, start network services and launch the TelnetD server process for use with the CFFA or similar card.** | +| **[DEBUG.po](../.Floppies/DEBUG.po)** | **STABLE** |**An 140K 5.25 disk image containing the main BOOT and support files for A2osX and preconfigured with the least options enabled. This is intended to be used as a minimal boot to help identify hardware conflicts.** | +| [STABLE.140.po](../.Floppies/STABLE.140.po) | STABLE |An 140K 5.25" disk image containing the main BOOT and support files for running A2osX. | +| [STABLE.800.po](../.Floppies/STABLE.800.po) | STABLE | An 800K 3.5" disk image containing the main BOOT and support files for running A2osX. | +| [STABLE.32MB.po](../.Floppies/STABLE.32MB.po) | STABLE | A formatted empty ProDOS 32MB HD disk image, suitable for use with emulators such as AppleWin | | A2OSX.BUILD.po | Bleed | 32MB disk image with S-C MASM 3.0, all binaries and all source for A2osX
This is primary development media for A2osX, especially pre-launch of Release, Stable and official Build Media. See below.| | A2OSX.MAKE.po | Bleed | 32MB disk image with S-C MASM 3.0, all binaries and all source for multiple BUILD versions of A2osX stored in directories on MAKE. The image also includes the TEST, ADMIN, and EXAMPLE scripts being created to support A2osX. | | A2OSX.B800.po | Bleed | An 800K 3.5" disk image containing the main BOOT and support files for running A2osX. | @@ -35,9 +39,6 @@ You can use and/or install A2osX from the media found in our Media directory fou | RELEASE.140.po | RELEASE |An 140K 5.25" disk image containing the main BOOT and support files for running A2osX. | | RELEASE.800.po | RELEASE |An 800K 3.5" disk image containing the main BOOT and support files for running A2osX. | | RELEASE.32MB.po | RELEASE | A formatted empty ProDOS 32MB HD disk image, suitable for use with emulators such as AppleWin | -| STABLE.140.po | STABLE |An 140K 5.25" disk image containing the main BOOT and support files for running A2osX. | -| STABLE.800.po | STABLE | An 800K 3.5" disk image containing the main BOOT and support files for running A2osX. | -| STABLE.32MB.po | STABLE | A formatted empty ProDOS 32MB HD disk image, suitable for use with emulators such as AppleWin | ## License A2osX is licensed under the GNU General Pulic License. diff --git a/.Docs/Shell Developers Guide.md b/.Docs/Shell Developers Guide.md index 44eb94c5..1c21a8c1 100644 --- a/.Docs/Shell Developers Guide.md +++ b/.Docs/Shell Developers Guide.md @@ -1,5 +1,7 @@ # A2osX Shell Developers Guide +### Updated October 22, 2019 + One of the most significant parts of A2osX is its shell which can perform both interactive and scripted tasks. With the interactive part of the shell you can perform many common and complex tasks using both built-in (native or internal to shell) and external (BINs or executables) commands. Internal commands include CD (change directory), MD (make directory), DATE, TIME, etc. External commands include CP (copy), RM (remove), CAT (display file contents), TELNET, etc. It should be noted, that it is possible to create and execute short scripts right on the interactive command line (these are run once and not saved like true scripts). An example diff --git a/.Docs/TERM.md b/.Docs/TERM.md index fac1542e..fd386c98 100644 --- a/.Docs/TERM.md +++ b/.Docs/TERM.md @@ -1,3 +1,9 @@ +# A2osX Terminal Codes + +### Updated October 22, 2019 + +A2osX terminal capabilities are based off of the standard VT100 Terminal. This applies to users connected via Super Serial Cards, Telnet (via TelnetD server daemon) and Apple console (physical keyboard/screen). All programs can use this facility to create rich interactive text mode applications. This includes both programs written in Assembly or Scripts written for the Shell (SH). The table below lists the codes you can use in your applications and their function. Consult the A2osX Shell Developers Guide for information on using these codes in scripts. Note, the Apple Console implementation only supports a subset of the VT100 codes, these are noted in the last column as OK. + | Esc Sequence | Description | DEC Code | A2osX TERM | |--------------|-------------|----------|------------| |Esc[20h |Set new line mode|LMN|OK| @@ -82,3 +88,22 @@ |Esc[0c |Identify what terminal type (another)| DA|| |Esc[?1;Value0c |Response: terminal type code n | DA || |Escc |Reset terminal to initial state| RIS |OK| + +## License +A2osX is licensed under the GNU General Pulic License. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +The full A2osX license can be found **[Here](../LICENSE)**. + +## Copyright + +Copyright 2015 - 2019, Remy Gibert and the A2osX contributors. diff --git a/.Docs/User Guide.md b/.Docs/User Guide.md index 4b3d7b24..c6fd2511 100644 --- a/.Docs/User Guide.md +++ b/.Docs/User Guide.md @@ -1,5 +1,7 @@ # A2osX User Guide +### Updated October 22, 2019 + This Guide provides information on getting started with A2osX. This Guide helps you understand the basic features, capabilities and operation of A2osX. This should be the first document you read before, or soon after, installing or running A2osX. ## What is A2osX? diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index a313df73..4ea35884 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/.Floppies/DEBUG.po b/.Floppies/DEBUG.po new file mode 100644 index 00000000..0add855c Binary files /dev/null and b/.Floppies/DEBUG.po differ diff --git a/.Floppies/RELEASE.32MB .po b/.Floppies/RELEASE.32MB.po similarity index 100% rename from .Floppies/RELEASE.32MB .po rename to .Floppies/RELEASE.32MB.po diff --git a/.Floppies/STABLE.140.po b/.Floppies/STABLE.140.po index 121087d7..3519baa1 100644 Binary files a/.Floppies/STABLE.140.po and b/.Floppies/STABLE.140.po differ diff --git a/.Floppies/STABLE.32MB.po b/.Floppies/STABLE.32MB.po index 3e384a6f..475ddc21 100644 Binary files a/.Floppies/STABLE.32MB.po and b/.Floppies/STABLE.32MB.po differ diff --git a/.Floppies/STABLE.800 .po b/.Floppies/STABLE.800.po similarity index 83% rename from .Floppies/STABLE.800 .po rename to .Floppies/STABLE.800.po index 8442f91d..2db440a7 100644 Binary files a/.Floppies/STABLE.800 .po and b/.Floppies/STABLE.800.po differ diff --git a/.Floppies/TDBOOT.po b/.Floppies/TDBOOT.po index e5797bad..20621e10 100644 Binary files a/.Floppies/TDBOOT.po and b/.Floppies/TDBOOT.po differ diff --git a/EXAMPLES/BBSLIST.txt b/EXAMPLES/BBSLIST.txt new file mode 100644 index 00000000..13af8b0c --- /dev/null +++ b/EXAMPLES/BBSLIST.txt @@ -0,0 +1,13 @@ +NEW + PREFIX +AUTO 4,1 +A80s BBS:GBBS Pro:a80sappleiibbs.ddns.net:6502 +The Brewery:GBBS Pro:thebrewery.servebeer.com:6400 +DJs Place:GBBS Pro:bbs.impakt.net:6502 +Dura Europos:GBBS Pro:dura-bbs.net:6359 +Sanctum II:GBBS Pro:sanctumbbs.com:6502 +Virtual Altair:CPM:altair.virtualaltair.com:4667 +Confusion:GBBS:tloc.antsinthepants.com:6502 +Seatle Community Network:Unix:scn.org:23 +MAN +TEXT /MAKE/USR/SHARE/EXAMPLES/BBSLIST diff --git a/MAKE/FL.MINBOOT.txt b/MAKE/DEBUGFILES.txt similarity index 65% rename from MAKE/FL.MINBOOT.txt rename to MAKE/DEBUGFILES.txt index 645fe78b..5b199966 100644 --- a/MAKE/FL.MINBOOT.txt +++ b/MAKE/DEBUGFILES.txt @@ -1,11 +1,17 @@ +NEW + PREFIX +AUTO 4,1 A2OSX.SYSTEM -BIN/KILL BIN/CAT BIN/CHTYP BIN/CP +BIN/CUT +BIN/DNSINFO BIN/EDIT -BIN/FORMAT +BIN/GREP +BIN/HTTPGET BIN/IPCONFIG +BIN/KILL BIN/LS BIN/LSDEV BIN/LSOF @@ -19,35 +25,26 @@ BIN/NSCUTIL BIN/PING BIN/PS BIN/RM -BIN/TELNET -BIN/HTTPGET -BIN/CSH BIN/SH -BIN/CUT -BIN/GREP +BIN/TELNET DRV/LANCEGS.DRV DRV/SSC.DRV +DRV/SSC.I.DRV DRV/UTHERNET.DRV DRV/UTHERNET2.DRV -ETC/HOSTNAME -ETC/HOSTS ETC/INIT -ETC/INIT.BOOT -ETC/TCPIP.CONFIG +ETC/ISSUE +ETC/MOTD ETC/NETWORK -ETC/PASSWD LIB/LIBBLKDEV LIB/LIBCRYPT LIB/LIBTCPIP SBIN/GETTY -SBIN/NETWORKD +SBIN/INITD SBIN/INSDRV -SBIN/KCONFIG SBIN/LOGIN +SBIN/NETWORKD SBIN/TELNETD SYS/KERNEL -SYS/KM.RAMWORKS -SYS/KM.NSC -SYS/KM.VSDRIVE -SYS/ATK/KM.APPLETALK -ROOT/PROFILE +MAN +TEXT /MAKE/USR/SHARE/MAKE/DEBUGFILES diff --git a/MAKE/DEBUGINIT.txt b/MAKE/DEBUGINIT.txt new file mode 100644 index 00000000..677e0b92 --- /dev/null +++ b/MAKE/DEBUGINIT.txt @@ -0,0 +1,27 @@ +NEW + PREFIX +AUTO 4,1 +#!/BIN/SH +# +# INIT Script for DEBUG Media +# +ECHO *** A2osX INIT Script *** +# Main Screens +NOHUP GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN & +#NOHUP GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN & +#NOHUP GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN & +#NOHUP GETTY /DEV/TTY4 ${ROOT}SBIN/LOGIN & +# Serial Login +#INSDRV SSC.DRV 9600,N,8,1,X +#INSDRV SSC.I.DRV 9600,N,8,1,X +#NOHUP GETTY /DEV/COM2 ${ROOT}SBIN/LOGIN +# Network Section +#INSDRV UTHERNET.DRV 00:0E:3A:12:34:56 +#INSDRV LANCEGS.DRV +#INSDRV UTHERNET2.DRV 00:08:DC:12:34:56 +#NOHUP NETWORKD libtcpip & +#NOHUP TELNETD & +#NOHUP HTTPD +ECHO *** End INIT *** +MAN +TEXT /MAKE/USR/SHARE/MAKE/DEBUGINIT diff --git a/MAKE/A2OSXFILES.txt b/MAKE/FULLFILES.txt similarity index 87% rename from MAKE/A2OSXFILES.txt rename to MAKE/FULLFILES.txt index 7cb8e7ff..942ef07e 100644 --- a/MAKE/A2OSXFILES.txt +++ b/MAKE/FULLFILES.txt @@ -68,4 +68,4 @@ SYS/KM/KM.APPLETALK SYS/KM/KM.RAMWORKS SYS/KM/KM.VSDRIVE MAN -TEXT /MAKE/USR/SHARE/MAKE/A2OSXFILES +TEXT /MAKE/USR/SHARE/MAKE/FULLFILES diff --git a/MAKE/MAKEBOOT2.txt b/MAKE/MAKEBOOT2.txt deleted file mode 100644 index 7d2ebd7e..00000000 --- a/MAKE/MAKEBOOT2.txt +++ /dev/null @@ -1,141 +0,0 @@ -NEW - PREFIX -AUTO 4,1 -#!/BIN/SH -# -# This script makes a proper BOOT disk using the files -# found in a particular BUILD stored in /MAKE/BUILDS -# -ECHO \f -ECHO "\n\nAB800 (800K Floppy) Media Creator\n\n" -ECHO "You must have the correct 800K image mounted on S7D2\n" -READ -P "Do you want to proceed (Y/N)? " P -SWITCH $P - CASE Y - CASE y - ECHO - BREAK - DEFAULT - ECHO "\n\nExiting.\n" - EXIT -END -READ -P "WHICH BUILD NO: " B -IF [ -Z $B ] - ECHO "You did not enter any response." - ECHO - ECHO "Exiting" - EXIT -FI -SET SRC = "/MAKE/BUILDS/BUILD${B}" -IF [ -D ${SRC} ] - ECHO "\n\nFound Valid BUILD\n" -ELSE - ECHO "\n\nValid BUILD not found." - ECHO - ECHO "Exiting" - EXIT -FI -ECHO "Is this a (R)elease, (C)andidate or (S)table Build" -READ -P "ENTER R C or S: " RCS -IF [ -Z $RCS ] - ECHO "You did not enter any response." - ECHO - ECHO "Exiting" - EXIT -FI -SWITCH $RCS - CASE r - CASE R - SET IM = "Release Build No. ${B}" - BREAK - CASE c - CASE C - SET IM = "Release Candidate Build No. ${B}" - BREAK - CASE s - CASE S - SET IM = "Stable Release Build No. ${B}" - BREAK - DEFAULT - ECHO "You did not enter a valid response." - ECHO "You must enter only one of the characters R C or S!" - ECHO - ECHO "Exiting" - EXIT -END -#SET IM = "Release Candidate Build No. ${B}" -ECHO "Formatting Destination..." -FORMAT S6D1 ABOOT -LS -L / -MD /ABOOT/BIN -MD /ABOOT/DRV -MD /ABOOT/ETC -MD /ABOOT/LIB -MD /ABOOT/ROOT -MD /ABOOT/SBIN -MD /ABOOT/SYS -CP ${SRC}/A2OSX.LOGO /ABOOT/A2OSX.LOGO -CP ${SRC}/A2OSX.SYSTEM /ABOOT/A2OSX.SYSTEM -CP ${SRC}/PRODOS /ABOOT/PRODOS -CP ${SRC}/BIN/CAT /ABOOT/BIN/CAT -CP ${SRC}/BIN/CHTYP /ABOOT/BIN/CHTYP -CP ${SRC}/BIN/CP /ABOOT/BIN/CP -CP ${SRC}/BIN/CUT /ABOOT/BIN/CUT -CP ${SRC}/BIN/DNSINFO /ABOOT/BIN/DNSINFO -CP ${SRC}/BIN/EDIT /ABOOT/BIN/EDIT -CP ${SRC}/BIN/GREP /ABOOT/BIN/GREP -CP ${SRC}/BIN/IPCONFIG /ABOOT/BIN/IPCONFIG -CP ${SRC}/BIN/KILL /ABOOT/BIN/KILL -CP ${SRC}/BIN/LS /ABOOT/BIN/LS -CP ${SRC}/BIN/LSDEV /ABOOT/BIN/LSDEV -CP ${SRC}/BIN/LSOF /ABOOT/BIN/LSOF -#CP ${SRC}/BIN/MD5 /ABOOT/BIN/MD5 -CP ${SRC}/BIN/MEM /ABOOT/BIN/MEM -CP ${SRC}/BIN/MKDIR /ABOOT/BIN/MKDIR -CP ${SRC}/BIN/MORE /ABOOT/BIN/MORE -CP ${SRC}/BIN/MV /ABOOT/BIN/MV -CP ${SRC}/BIN/NETSTAT /ABOOT/BIN/NETSTAT -#CP ${SRC}/BIN/NSCUTIL /ABOOT/BIN/NSCUTIL -CP ${SRC}/BIN/PING /ABOOT/BIN/PING -CP ${SRC}/BIN/PS /ABOOT/BIN/PS -CP ${SRC}/BIN/RM /ABOOT/BIN/RM -CP ${SRC}/BIN/TELNET /ABOOT/BIN/TELNET -CP ${SRC}/BIN/HTTPGET /ABOOT/BIN/HTTPGET -CP ${SRC}/BIN/SH /ABOOT/BIN/SH -#CP ${SRC}/BIN/USERADD /ABOOT/BIN/USERADD -#CP ${SRC}/BIN/USERDEL /ABOOT/BIN/USERDEL -#CP ${SRC}/BIN/WC /ABOOT/BIN/WC -#CP ${SRC}/BIN/WHO /ABOOT/BIN/WHO -CP ${SRC}/DRV/LANCEGS.DRV /ABOOT/DRV/LANCEGS.DRV -#CP ${SRC}/DRV/SSC.DRV /ABOOT/DRV/SSC.DRV -CP ${SRC}/DRV/UTHERNET.DRV /ABOOT/DRV/UTHERNET.DRV -CP ${SRC}/DRV/UTHERNET2.DRV /ABOOT/DRV/UTHERNET2.DRV -#CP ${SRC}/ETC/HOSTNAME /ABOOT/ETC/HOSTNAME -#CP ${SRC}/ETC/HOSTS /ABOOT/ETC/HOSTS -CP INITBOOT /ABOOT/ETC/INIT -#CP ${SRC}/ETC/INIT /ABOOT/ETC/INIT -#CP ${SRC}/ETC/INIT.BOOT /ABOOT/ETC/INIT.BOOT -#CP ${SRC}/ETC/ISSUE /ABOOT/ETC/ISSUE -ECHO "Welcome to A2osX!" > /ABOOT/ETC/ISSUE -ECHO >> /ABOOT/ETC/ISSUE -ECHO $IM >> /ABOOT/ETC/ISSUE -CP ${SRC}/ETC/MOTD /ABOOT/ETC/MOTD -CP ${SRC}/ETC/NETWORK /ABOOT/ETC/NETWORK -CP TCPIP.CONF /ABOOT/ETC/TCPIP.CONF -CP ${SRC}/LIB/LIBBLKDEV /ABOOT/LIB/LIBBLKDEV -CP ${SRC}/LIB/LIBCRYPT /ABOOT/LIB/LIBCRYPT -CP ${SRC}/LIB/LIBTCPIP /ABOOT/LIB/LIBTCPIP -CP ${SRC}/ROOT/PROFILE /ABOOT/PROFILE -CP ${SRC}/SBIN/GETTY /ABOOT/SBIN/GETTY -CP ${SRC}/SBIN/INITD /ABOOT/SBIN/INITD -CP ${SRC}/SBIN/INSDRV /ABOOT/SBIN/INSDRV -#CP ${SRC}/SBIN/KCONFIG /ABOOT/SBIN/KCONFIG -CP ${SRC}/SBIN/LOGIN /ABOOT/SBIN/LOGIN -CP ${SRC}/SBIN/NETWORKD /ABOOT/SBIN/NETWORKD -CP ${SRC}/SBIN/TELNETD /ABOOT/SBIN/TELNETD -CP ${SRC}/SYS/KERNEL /ABOOT/SYS/KERNEL -CP ${SRC}/SYS/KM.RAMWORKS /ABOOT/SYS/KM.RAMWORKS -CP ${SRC}/SYS/KM.NSC /ABOOT/SYS/KM.NSC -#CP ${SRC}/ROOT/PROFILE /ABOOT/ROOT/PROFILE -MAN -TEXT /MAKE/USR/SHARE/MAKE/MAKEBOOT3 diff --git a/MAKE/MAKEDEBUG.txt b/MAKE/MAKEDEBUG.txt new file mode 100644 index 00000000..0978550d --- /dev/null +++ b/MAKE/MAKEDEBUG.txt @@ -0,0 +1,69 @@ +NEW + PREFIX +AUTO 4,1 +#!/BIN/SH +# +# This script makes a proper DEBUG (140K) disk using the files +# found in a particular BUILD stored in /MAKE/BUILDS +# +. MAKEFUNCS +CALL CS +CALL TBOX "DEBUG (140K Floppy) Media Creator" +CALL PRINTXY 8 0 "You must have the correct 140K image mounted on S6D2" +ECHO "\n" +READ -P "Do you want to proceed (Y/N)? " P +SWITCH $P + CASE Y + CASE y + ECHO + BREAK + DEFAULT + ECHO "\n\nExiting.\n" + EXIT +END +ECHO +READ -P "WHICH BUILD NO: " B +IF [ -Z $B ] + ECHO "You did not enter any response." + ECHO + ECHO "Exiting" + EXIT +FI +SET SRC = "/MAKE/BUILDS/BUILD${B}" +IF [ -D ${SRC} ] + ECHO "\n\nFound Valid BUILD\n" +ELSE + ECHO "\n\nValid BUILD not found." + ECHO + ECHO "Exiting" + EXIT +FI +SET IM = "DEBUG Build No. ${B}" +ECHO "\n\nFormatting Destination..." +FORMAT -1 S6D2 DEBUG +ECHO "Making Directory Structure..." +MD /DEBUG/BIN +MD /DEBUG/DRV +MD /DEBUG/ETC +MD /DEBUG/LIB +MD /DEBUG/ROOT +MD /DEBUG/SBIN +MD /DEBUG/SYS +ECHO "Copying Files..." +FOR FILE IN (DEBUGFILES) + CP -Q ${SRC}/${FILE} /DEBUG/${FILE} +NEXT +CP -Q -Y /MAKE/ASSETS/PDOS203TC/PRODOS /DEBUG +CP -Q -Y DEBUGINIT /DEBUG/ETC/INIT +ECHO "Welcome to A2osX!" > /DEBUG/ETC/ISSUE +ECHO >> /DEBUG/ETC/ISSUE +ECHO $IM >> /DEBUG/ETC/ISSUE +ECHO >> /DEBUG/ETC/ISSUE +ECHO >> /DEBUG/ETC/ISSUE +ECHO "This is the Special DEBUG BOOT DISK" >> /DEBUG/ETC/ISSUE +ECHO >> /DEBUG/ETC/ISSUE +CP -Q TCPIP.CONF /DEBUG/ETC/TCPIP.CONF +CP -Q DEBUGPROFILE /DEBUG/ROOT/PROFILE +ECHO "DEBUG Disk Created!" +MAN +TEXT /MAKE/USR/SHARE/MAKE/MAKEDEBUG diff --git a/MAKE/MAKEFULL.txt b/MAKE/MAKEFULL.txt index 893b908e..6fce2c13 100644 --- a/MAKE/MAKEFULL.txt +++ b/MAKE/MAKEFULL.txt @@ -8,7 +8,7 @@ AUTO 4,1 # . MAKEFUNCS CALL CS -CALL TBOX " FULLBOOT Media Creator" +CALL TBOX " FULLBOOT 800 Media Creator" CALL PRINTXY 8 0 "You must have the correct image mounted on S7D2" ECHO "\n" READ -P "Do you want to proceed (Y/N)? " P diff --git a/MAKE/MAKEFULL32.txt b/MAKE/MAKEFULL32.txt index 48d1bbc2..e456b928 100644 --- a/MAKE/MAKEFULL32.txt +++ b/MAKE/MAKEFULL32.txt @@ -8,7 +8,7 @@ AUTO 4,1 # . MAKEFUNCS CALL CS -CALL TBOX " FULLBOOT Media Creator" +CALL TBOX " FULLBOOT 32mb Media Creator" CALL PRINTXY 8 0 "You must have the correct image mounted on S7D2" ECHO "\n" READ -P "Do you want to proceed (Y/N)? " P diff --git a/MAKE/MAKEFUNCS.txt b/MAKE/MAKEFUNCS.txt index 70641ea9..8dfad372 100644 --- a/MAKE/MAKEFUNCS.txt +++ b/MAKE/MAKEFUNCS.txt @@ -6,6 +6,7 @@ AUTO 4,1 # Clear Screen Function FUNCTION CS { ECHO \f + RETURN 22 } # Title Box Function # CALL TBOX Str_Title diff --git a/MAKE/MAKEBOOT.txt b/MAKE/MAKEMINI.txt similarity index 92% rename from MAKE/MAKEBOOT.txt rename to MAKE/MAKEMINI.txt index 9c71b4ec..f65340d8 100644 --- a/MAKE/MAKEBOOT.txt +++ b/MAKE/MAKEMINI.txt @@ -77,7 +77,7 @@ MD /MINIBOOT/ROOT MD /MINIBOOT/SBIN MD /MINIBOOT/SYS ECHO "Copying Files..." -FOR FILE IN (ABOOTFILES) +FOR FILE IN (MINIFILES) CP -Q ${SRC}/${FILE} /MINIBOOT/${FILE} NEXT CP -Q -Y /MAKE/ASSETS/PDOS203TC/PRODOS /MINIBOOT @@ -89,4 +89,4 @@ CP -Q TCPIP.CONF /MINIBOOT/ETC/TCPIP.CONF CP -Q PROFILE /MINIBOOT/ROOT/PROFILE ECHO "MINIBOOT Disk Created!" MAN -TEXT /MAKE/USR/SHARE/MAKE/MAKEBOOT +TEXT /MAKE/USR/SHARE/MAKE/MAKEMINI diff --git a/MAKE/MAKETD.txt b/MAKE/MAKETD.txt index c5f0a911..bce711c3 100644 --- a/MAKE/MAKETD.txt +++ b/MAKE/MAKETD.txt @@ -8,7 +8,7 @@ AUTO 4,1 # . MAKEFUNCS CALL CS -CALL TBOX " FULLBOOT Media Creator" +CALL TBOX " TDBOOT Media Creator" CALL PRINTXY 8 0 "You must have the correct image mounted on S7D2" ECHO "\n" READ -P "Do you want to proceed (Y/N)? " P diff --git a/MAKE/ABOOTFILES.txt b/MAKE/MINIFILES.txt similarity index 85% rename from MAKE/ABOOTFILES.txt rename to MAKE/MINIFILES.txt index 57c749cd..1cba4bae 100644 --- a/MAKE/ABOOTFILES.txt +++ b/MAKE/MINIFILES.txt @@ -48,4 +48,4 @@ SBIN/TELNETD SYS/KERNEL SYS/KM.NSC MAN -TEXT /MAKE/USR/SHARE/MAKE/ABOOTFILES +TEXT /MAKE/USR/SHARE/MAKE/MINIFILES diff --git a/MAKE/TDBOOT.txt b/MAKE/TDBOOTINIT.txt similarity index 100% rename from MAKE/TDBOOT.txt rename to MAKE/TDBOOTINIT.txt diff --git a/MAKE/TESTFUNCS.txt b/MAKE/TESTFUNCS.txt index 5a43ce36..255eb8f2 100644 --- a/MAKE/TESTFUNCS.txt +++ b/MAKE/TESTFUNCS.txt @@ -13,6 +13,9 @@ AUTO 4,1 # Test CS (ClearScreen Function) # CALL CS +ECHO $? +PAUSE + CALL TBOX "This is the Title" CALL STATUSLINE "Loading Functions..." CALL PRINTXY 10 10 "Hello World at 10 10" diff --git a/README.md b/README.md index 01d1cace..91057289 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ Consult the **[documentation](#documentation)** section below to find other reso ## News... +**2019-10-24** - Created STABLE images with Build 1669 with improvements to TCP networking. There is also a new DEBUG 140k disk image. See the media guide for more info. + **2019-10-22** - Updated RC images to Build 1664 which fixed RESTART SYSTEM bug on //GS. **2019-10-19** - Updated RC images to Build 1653 which fixed bugs in CUT and includes a patched version of ProDOS 2.03 to correct year display for ThunderClocks.