summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2024-12-22 14:54:20 +0000
committerIan C <ianc@noddybox.co.uk>2024-12-22 14:54:20 +0000
commit80b1b51911e8c4221e918b50039caf7533751e4c (patch)
tree620d440a515ec0cc7d230d46d0f1529b649cf117
parent024c31402a50343d15332a3965405983750f00ab (diff)
Updates to skeleton and added wifi routine skeletons.
-rwxr-xr-xMakefile8
-rw-r--r--dload.c27
-rw-r--r--wifi.c61
-rw-r--r--wifi.h51
4 files changed, 133 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 7e95aba..b720b35 100755
--- a/Makefile
+++ b/Makefile
@@ -20,10 +20,14 @@
# Makefile
#
-dload: dload.c
- zcc +zxn -subtype=dot -create-app -o dload dload.c
+dload: dload.c wifi.c wifi.h
+ zcc +zxn -subtype=dot -create-app -o dload dload.c wifi.c
clean:
rm -f dload dload_CODE.bin
+# If you use this, you'll almost certainly have to edit it
+devinstall: dload
+ hdfmonkey put $(shell cygpath $(USERPROFILE))/SpectrumNext/ZEsarUX_win-11.0/tbblue.mmc dload /dot
+
#vim: ai sw=4 ts=8 !expandtab
diff --git a/dload.c b/dload.c
index e52125d..82236e0 100644
--- a/dload.c
+++ b/dload.c
@@ -17,6 +17,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
+ --------------------------------------------------------------------------
+
+ Main
+
*/
#include <stdlib.h>
#include <stdio.h>
@@ -32,12 +36,18 @@
static const char *dload_usage =
"Version 1.0 development\n"
"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License (Version 3) for more details.\n"
+"This program is distributed in\n"
+"the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY;\n"
+"without even the implied\n"
+"warranty of MERCHANTABILITY or\n"
+"FITNESS FOR A PARTICULAR\n"
+"PURPOSE. See the GNU General\n"
+"Public License (Version 3) for\n"
+"more details.\n"
"\n"
-"usage: dload URL [dest_file]\n";
+"usage:\n"
+"dload http_url [dest_file]\n";
/* ---------------------------------------- TYPES
@@ -56,13 +66,6 @@ static const char *dload_usage =
*/
int main(int argc, char *argv[])
{
- int f;
-
- for(f = 0; f < argc; f++)
- {
- printf("argv[%d] = '%s'\n", f, argv[f]);
- }
-
if (!argv[1])
{
fprintf(stderr,"%s\n", dload_usage);
diff --git a/wifi.c b/wifi.c
new file mode 100644
index 0000000..eea5b39
--- /dev/null
+++ b/wifi.c
@@ -0,0 +1,61 @@
+/*
+
+ dload - Dot command for downloading files on the Spectrum Next
+
+ Copyright (C) 2025 Ian Cowburn (ianc@noddybox.co.uk)
+
+ 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 3 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ --------------------------------------------------------------------------
+
+ Wifi interface
+
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "wifi.h"
+
+/* ---------------------------------------- PRIVATE ROUTINES
+*/
+
+
+/* ---------------------------------------- PUBLIC ROUTINES
+*/
+int WifiConnect(void)
+{
+ return 0;
+}
+
+int ConnectURL(const char *url)
+{
+ return 0;
+}
+
+int SendByte(unsigned char c)
+{
+ return 0;
+}
+
+int GetByte(unsigned char *c)
+{
+ *c = 0;
+ return 0;
+}
+
+
+/*
+vim: ai sw=4 ts=8 expandtab
+*/
diff --git a/wifi.h b/wifi.h
new file mode 100644
index 0000000..b0b184a
--- /dev/null
+++ b/wifi.h
@@ -0,0 +1,51 @@
+/*
+
+ dload - Dot command for downloading files on the Spectrum Next
+
+ Copyright (C) 2025 Ian Cowburn (ianc@noddybox.co.uk)
+
+ 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 3 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ --------------------------------------------------------------------------
+
+ Wifi interface
+
+*/
+
+#ifndef DOTDLOAD_WIFI_H
+#define DOTDLOAD_WIFI_H
+
+/* Connect to the wifi modem and return true if connection is successful.
+ If the connection fails diagnostics will be printed to stderr.
+*/
+int WifiConnect(void);
+
+/* Connect to a URL. Returns true if the connection is made.
+*/
+int ConnectURL(const char *url);
+
+/* Send a byte to the connection. Returns true if no errors.
+*/
+int SendByte(unsigned char c);
+
+/* Get a byte from the connection. Returns true if no errors and updates the
+ passed pointer.
+*/
+int GetByte(unsigned char *c);
+
+#endif
+
+/*
+vim: ai sw=4 ts=8 expandtab
+*/