diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.html
new file mode 100644
index 00000000..bb507bda
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.html
@@ -0,0 +1,57 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.swf
new file mode 100644
index 00000000..d26c6a82
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/allyouneed_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/attractloop_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/attractloop_bps.swf
new file mode 100644
index 00000000..4644c831
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/attractloop_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.html
new file mode 100644
index 00000000..6dd374af
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.html
@@ -0,0 +1,57 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.swf
new file mode 100644
index 00000000..71c5051f
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/email_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/index.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/index.html
new file mode 100644
index 00000000..7108810a
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/index.html
@@ -0,0 +1,57 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.html
new file mode 100644
index 00000000..0cd255e2
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.html
@@ -0,0 +1,57 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.swf
new file mode 100644
index 00000000..b6469a04
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/internet_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.html
new file mode 100644
index 00000000..809eef82
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.html
@@ -0,0 +1,58 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.swf
new file mode 100644
index 00000000..55d332e1
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/mainmenu_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.html
new file mode 100644
index 00000000..fddae1f2
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.html
@@ -0,0 +1,57 @@
+
+
+Shockwave
+
+
+
+
+
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.swf b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.swf
new file mode 100644
index 00000000..acf7bfbf
Binary files /dev/null and b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DealerDemo-BPS/service_bps.swf differ
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js
new file mode 100644
index 00000000..07200197
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js
@@ -0,0 +1,60 @@
+var minisrv_service_file = true;
+//GET wtv-disk:/content/DownloadScreen.tmpl?diskmap=Demo&group=Demo
+
+headers = `200 OK
+Content-Type: text/html
+wtv-expire: wtv-disk:/content/DownloadScreen.tmpl`
+
+data = `
+
+
+
+
+ Retrieving Files
+
+
+
+
+
+
+ |
+
+
+
+
+
+ Retrieving Files
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+ Your ${wtvshared.getBoxName(session_data.get("wtv-client-rom-type"))} is retrieving some files.
+ This usually takes a while.
+
+ |
+ |
+ |
+
+
+
+
+ | |
+
+`;
\ No newline at end of file
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js
new file mode 100644
index 00000000..fcb08074
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js
@@ -0,0 +1,46 @@
+var minisrv_service_file = true;
+
+headers = `200 OK
+Content-Type: text/html`;
+
+data = `
+
+Download-O-Rama
+
+
+
+Download-O-Rama!
+
+
+Welcome to Download-O-Rama.
+
+Download any of our fine file sets:
+
Demos
+
+Firmware
+
+Delete Modem Firmware (Use 33.6k technology)
+
+
+K.Flex Modem Firmware (Use older 56k technology)
+
+
+V.90 Modem Firmware (Use common 56k technology)
+
+
+Music
+
+All Music (can take a very long time)
+
+
+Karaoke
+
+
+`;
\ No newline at end of file
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/DealerDemo-BPS.json b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/DealerDemo-BPS.json
new file mode 100644
index 00000000..718c1048
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/DealerDemo-BPS.json
@@ -0,0 +1,47 @@
+{
+ "DealerDemo-BPS": {
+ "base": "file://Disk/Demo-BPS/",
+ "location": "content/DealerDemo-BPS",
+ "service_owned": true,
+ "display": "Getting Demo",
+ "partition_size": 4194304,
+ "files": [
+ {
+ "file": "file://Disk/Demo-BPS/allyouneed_bps.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/allyouneed_bps.swf"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/attractloop_bps.swf"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/email_bps.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/email_bps.swf"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/index.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/internet_bps.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/internet_bps.swf"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/mainmenu_bps.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/mainmenu_bps.swf"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/service_bps.html"
+ },
+ {
+ "file": "file://Disk/Demo-BPS/service_bps.swf"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareDel.json b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareDel.json
new file mode 100644
index 00000000..8f72cb4b
--- /dev/null
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareDel.json
@@ -0,0 +1,18 @@
+{
+ "ModemFirmware": {
+ "base": "file://Disk/Browser/Modem_Firmware/",
+ "location": "content/Modem_Firmware/",
+ "execute_end": "client:ModemReload",
+ "service_owned": true,
+ "files": [
+ {
+ "file": "file://Disk/Browser/Modem_Firmware/Locale/en-US/modem_firmware.dat.gz",
+ "action": "delete"
+ },
+ {
+ "file": "file://Disk/Browser/Modem_Firmware/Locale/ja-JP/modem_firmware.dat.gz",
+ "action": "delete"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareOld.json b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareOld.json
index ff770dfd..ad05c8ac 100644
--- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareOld.json
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/diskmaps/ModemFirmwareOld.json
@@ -2,8 +2,7 @@
"ModemFirmware": {
"base": "file://Disk/Browser/Modem_Firmware/",
"location": "content/Modem_Firmware/",
- "execute": "client:ModemReload",
- "execute_when": "atEnd",
+ "execute_end": "client:ModemReload",
"service_owned": true,
"files": [
{
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js
index bc7878ba..4c860168 100644
--- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js
@@ -1,6 +1,6 @@
var minisrv_service_file = true;
-var diskmap = Object.getCaseInsensitiveKey(request_headers.query, "DiskMap");
+var diskmap = request_headers.query[wtvshared.getCaseInsensitiveKey("DiskMap", request_headers.query)];
var wtvdl = new WTVDisk(minisrv_config, service_name);
var force_update = (request_headers.query.force == "true") ? true : false;
@@ -213,7 +213,7 @@ if (request_headers['wtv-request-type'] == 'download') {
Object.keys(service_vaults).forEach(function (g) {
if (diskmap_data_file != null) return;
diskmap_data_file = service_vaults[g] + "/" + service_name + "/" + diskmap_group_data.files[k].location;
- if (!fs.existsSync(diskmap_data_file)) diskmap_data_file = null;
+ if (!fs.existsSync(diskmap_data_file) || !fs.lstatSync(diskmap_data_file).isFile()) diskmap_data_file = null;
});
if (diskmap_data_file) {
@@ -254,7 +254,7 @@ if (request_headers['wtv-request-type'] == 'download') {
Object.keys(post_data_fileinfo).forEach(function (g) {
if (post_data_fileinfo[g].file == wtv_download_list[k] || post_data_fileinfo[g].file == wtv_download_list[k].base) {
diskmap_group_data.group_exists = true;
- if (diskmap_group_data.files[k].checksum.toLowerCase() == post_data_fileinfo[g].checksum) wtv_download_list[k].invalid = false;
+ if (diskmap_group_data.files[k].checksum && diskmap_group_data.files[k].checksum.toLowerCase() == post_data_fileinfo[g].checksum) wtv_download_list[k].invalid = false;
else if (post_data_fileinfo[g].version == wtv_download_list[k].version && post_data_fileinfo[g].state != "invalid") wtv_download_list[k].invalid = false;
}
});
@@ -321,8 +321,9 @@ if (request_headers['wtv-request-type'] == 'download') {
Object.keys(service_vaults).forEach(function (g) {
if (diskmap_json_file != null) return;
diskmap_json_file = service_vaults[g] + "/" + service_name + "/" + diskmap_dir + diskmap + ".json";
+ console.log("Checking diskmap file: " + diskmap_json_file);
if (!fs.existsSync(diskmap_json_file)) diskmap_json_file = null;
- });
+ });
var diskmap_data = JSON.parse(fs.readFileSync(diskmap_json_file).toString());
if (!diskmap_data[request_headers.query.group]) {
throw ("Invalid diskmap data (group does not match)");
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js
index 960feac2..d82b253d 100644
--- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js
+++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js
@@ -20,6 +20,7 @@ tricks = [
["client:ResetNVAndPowerOff", "Blast NVRAM"],
["wtv-tricks:/charmap", "Character Map"],
["wtv-tricks:/cSetup", "Connect Setup"],
+ ["wtv-disk:/content/Downloads.tmpl", "Download-O-Rama"],
["wtv-tricks:/benchmark", "Speed Test"],
["wtv-flashrom:/big-willie", "Big Willie"],
["wtv-flashrom:/willie", "Ultra Willie"],
diff --git a/zefie_wtvp_minisrv/includes/classes/WTVShared.js b/zefie_wtvp_minisrv/includes/classes/WTVShared.js
index 61474cc7..ee9d5122 100644
--- a/zefie_wtvp_minisrv/includes/classes/WTVShared.js
+++ b/zefie_wtvp_minisrv/includes/classes/WTVShared.js
@@ -47,6 +47,30 @@ class WTVShared {
}
}
+
+ getBoxName(client_rom_type) {
+ switch (client_rom_type) {
+ case "bf0app":
+ case "bfeapp":
+ case "US-BPS-flashdisk-0MB-8MB-softmodem-CPU5230":
+ case "US-BPS-flashdisk-0MB-16MB-softmodem-CPU5230":
+ return "WebTV Internet Terminal";
+
+ case "US-DTV-disk-0MB-32MB-softmodem-CPU5230":
+ case "US-WEBSTAR-disk-0MB-8MB-softmodem-CPU5230":
+ case "US-WEBSTAR-disk-0MB-16MB-softmodem-CPU5230":
+ return "WebTV Satellite Receiver";
+
+ case "US-LC2-disk-0MB-8MB":
+ case "US-LC2-disk-0MB-8MB-softmodem-CPU5230":
+ case "US-LC2-flashdisk-0MB-16MB-softmodem-CPU5230":
+ return "WebTV Plus Internet Receiver";
+
+ default:
+ return "WebTV Internet Receiver";
+ }
+ }
+
/**
* Calculates the CRC of an SSID, WNI Style
* @param {string} ssid