diff --git a/client/basic/BoB.htm b/client/basic/BoB.htm new file mode 100644 index 0000000..ef84c8c --- /dev/null +++ b/client/basic/BoB.htm @@ -0,0 +1,189 @@ +
Command | +Descrption | +Parameters | +Example | +
---|---|---|---|
IPCFG | +Display the current IP stack configuration | +none | +|
MAC | +Set the last 3 bytes of the MAC address. Top 3 bytes will always be "00:80:10". This command + also resets the whole IP stack, so new IP address will need to be assigned (via MYIP or DHCP) after calling MAC |
+ 3 byte string | +|
DHCP | +Use DHCP to assign IP address, netmask, default gateway and DNS server | +none | +|
MYIP | +Assign a new IP address | +||
NETMASK | +Assign a new netmask | +||
GATEWAY | +Assign a new default gateway (router to send non-local traffic to) | +||
DNS | +Specify the DNS server to be used for resolving hostnames | +||
PING | +Sends a number of ICMP echo requests to the specified host. For each packet sent, if a response is received a "." is displayed, if an error occurs (including a timeout) then a "!" is displayed. | +||
HTTPD | +start listening on a TCP port for inbound HTTP requests. When a HTTP request is received, go to the specified +default line number, unless the request happens to be for a path that has previously been HOOKed | +||
HOOK | +sociate the 'path' part of a URL with a BASIC line number to jump to when a request for the specified path is received | +||
TYPE | +change the HTTP Content Type field in the HTTP header +from the default "text/html" to whatever is specified. Be careful with +case - the remote end will be expecting ASCII not PETSCII! For this to be effective, it must +be set BEFORE any data is output with the ! or XSEND keywords | +||
STATUS | +change the HTTP status line from default +"200 OK". Be careful you include the 3 digit code (as an ASCII string) +then a space then a free form status description (ASCII NOT PETSCII). +To be effective, it must be set BEFORE any data is output with the ! or XSEND keywords | +||
! | +Send specified string expression. If no +HTTP header has been sent yet, one will be sent now. + | +||
XSEND | +Send a file from the default drive. If the file does +not exist, then an error message will be sent to the remote browser. If no HTTP header has +been sent yet, one will be sent first. | +||
YIELD | +finish processing the current request, go back and wait for +another HTTP request. | +
+ +5 MAC CHR$(192)+CHR$(29)+CHR$(85) +10 DHCP +20 HOOK"/HELLO",1000 +25 FA$="/"+CHR$(102)+CHR$(97)+CHR$(118)+CHR$(105)+CHR$(99)+CHR$(111) +27 FA$=FA$+CHR$(110)+CHR$(46)+CHR$(105)+CHR$(99)+CHR$(111) +30 HOOKFA$,2000 +40 HTTPD80,100 + +100 !"<H1>HELLO</H1>" +110 !"<FORM ACTION=/HELLO>" +120 !"WHAT'S YOUR NAME?" +130 !"<INPUT TYPE=TEXT NAME=N>" +140 !"</FORM>" +200 YIELD + +1000!"HELLO "+N$+", I'M A C64 RUNNING BASIC ON BAILS." +1010 FOR I=1 TO 10 +1020 !"<BR>" +1030 !STR$(I) +1040 NEXT I +1100 YIELD + +2000 TYPE"IMAGE/X-ICON" +2010 XSEND"FAVICON.ICO" +2020 YIELD + + ++ + diff --git a/client/basic/KB.htm b/client/basic/KB.htm new file mode 100644 index 0000000..ada56fc --- /dev/null +++ b/client/basic/KB.htm @@ -0,0 +1,182 @@ +
Command | +Descrption | +Parameters | +Example | +
---|---|---|---|
IPCFG | +Display the current IP stack configuration | +none | +|
MAC | +Set the last 3 bytes of the MAC address. Top 3 bytes will always be "00:80:10". This command + also resets the whole IP stack, so new IP address will need to be assigned (via MYIP or DHCP) after calling MAC |
+ 3 byte string | +|
DHCP | +Use DHCP to assign IP address, netmask, default gateway and DNS server | +none | +|
MYIP | +Assign a new IP address | +||
NETMASK | +Assign a new netmask | +||
GATEWAY | +Assign a new default gateway (router to send non-local traffic to) | +||
DNS | +Specify the DNS server to be used for resolving hostnames | +||
TFTP | +Specify the TFTP server that will be accessed by TFPUT and TFGET. | +||
PING | +Sends a number of ICMP echo requests to the specified host. For each packet sent, if a response is received a "." is displayed, if an error occurs (including a timeout) then a "!" is displayed. | +||
NETCAT | +Open a TCP connection to a remote server. Any data received on the connection will be displayed on screen, any keypress will be sent to the remote server. To exit, hit RUN/STOP. The optional mode paramater determines whether the connection should be in PETSCII 'char at a time' mode, where every keypress is sent 'as is' to the remote site, or ASCII 'line mode', which allows a line to be edited and is sent (with a CR/LF at the end) only when the RETURN key is pressed. In this mode, data is converted between the PETSCII character set and standard ASCII - you will need to shift to the "lower case" char set for this to display properly. + The PETSCII mode is appropriate for connecting to e.g. a PETSCII BBS. The ASCII mode is appropriate for connecting to a server running a "network ASCII" derived protocol, e.g. SMTP or HTTP. + ' + + |
+
|
+ |
TFPUT | +Upload a file to a TFTP server. By default, TFPUT will use the broadcast address (255.255.255.255), meaning +any TFTP server on the LAN will respond. To send a file to a specific TFTP server (including one not on the local network), specify the +destination TFTP server with the "TFTP" command prior to calling TFPUT. The filename specified will be looked for on whichever drive was last accessed. | +||
TFGET | +Download a file from a TFTP server. By default, TFPUT will use the broadcast address (255.255.255.255), meaning +any TFTP server on the LAN will respond. To download a file from a specific TFTP server (including one not on the local network), specify the +destination TFTP server with the "TFTP" command prior to calling TFGET. The file will be written (as a PRG file) to whichever drive was last accessed. | +||
TCPCONNECT | +Open a TCP connection to a remote server. | +||
TCPLISTEN | +Wait for an inbound TCP connection from a remote client. This is a blocking command, i.e. the BASIC program will not continue executing until either an inbound connection is made, or the program is terminated by pressing RUN/STOP | +||
POLL | +Check for network traffic. If data has arrived on a previously opened TCP connection, that data (up to a maximum of 255 bytes) will be set into string variable IN$.If no data has arrived since the last POLL, then IN$ will be an empty string. Integer variables CO% and ER% +are also set to indicate current connection state and error conditions (if any). + + + | +none | +POLL | +TCPSEND | +Send a string (up to 255 bytes) over a previously opened connection.Integer variables CO% and ER% ae aset to indicate current connection state and any error condition which may occur during the sending of the file. NB - in the current implementation of Kipper BASIC, it is possible for data to arrive during a call to TCPSEND, which may not be passed through to the BASIC program. | +
TCPBLAT | +Send a file (of any length) over a previously opened connection. The file will be looked for on the current 'default' device, i.e. which ever drive was last accessed. Integer variables CO% and ER% ae aset to indicate current connection state and any error condition which may occur during the sending of the file. NB - in the current implementation of Kipper BASIC, it is possible for data to arrive during a call to TCPSEND, which may not be passed through to the BASIC program. | +
ERROR CODE HEX / DEC | DESCRIPTION |
---|---|
$80 / 128 | PORT IN USE |
$81 / 129 | TIMEOUT ON RECEIVE |
$82 / 130 | TRANSMIT FAILED |
$83 / 131 | TRANSMISSION REJECTED BY PEER |
$84 / 132 | INPUT TOO LARGE |
$85 / 133 | DEVICE FAILURE |
$86 / 134 | ABORTED BY USER |
$87 / 135 | LISTENER NOT AVAILABLE |
$88 / 136 | NO SUCH LISTENER |
$89 / 137 | CONNECTION RESET BY PEER |
$8A / 138 | CONNECTION CLOSED |
$8B / 139 | TOO MANY ERRORS |
$90 / 140 | FILE ACCESS FAILURE |
$A0 / 160 | MALFORMED URL |
$A1 / 161 | DNS LOOKUP FAILED |
$FE / 254 | OPTION NOT SUPPORTED |
$FF / 255 | FUNCTION NOT SUPPORTED |
+DHCP:NETCAT"JAMTRONIX.COM",6464 ++ +