From aca77a1af353ffd49d09501f60a8d6b4fdf2c77c Mon Sep 17 00:00:00 2001 From: kounch Date: Mon, 3 Aug 2020 14:45:00 +0200 Subject: [PATCH] Preliminar support for drives different than C: --- docs/en/man_index.html | 14 +++++++------- docs/es/man_index.html | 14 +++++++------- knlauncher.bas | 4 ++-- knloader.bas | 35 ++++++++++++++++++----------------- locale/en/Manual_en.adoc | 8 ++++---- locale/en/knloader_en.gde | 6 +++--- locale/es/Manual_es.adoc | 8 ++++---- locale/es/knloader_es.gde | 4 ++-- utils/autoexec.bas | 27 +++++++++++++++------------ 9 files changed, 62 insertions(+), 58 deletions(-) diff --git a/docs/en/man_index.html b/docs/en/man_index.html index f7a0c0a..81114d5 100644 --- a/docs/en/man_index.html +++ b/docs/en/man_index.html @@ -446,7 +446,7 @@

knloader English Manual

kounch

-version 1.0.0 +version 1.0.1
Index
@@ -604,7 +604,7 @@

Database file format

All paths in the database file must use / (slash) as separator for directories. Using \ (backslash) is not supported.

-

The first line has to be the base path where to start looking for programs (for example: /games). It’s length cannot exceed 128 characters.

+

The first line has to be the base path where to start looking for programs (for example: /games or D:/). It’s length cannot exceed 128 characters.

Starting from line 2, each line must have the following format:

@@ -746,7 +746,7 @@

Examples

-
/all/Games
+
C:/all/Games
 Albatrossity,1,,Albatrossity.tap
 Alter Ego,4,Alter Ego,Alter Ego.tap
 Altered Beast,3,Altered Beast,Altered Beast.dsk,Altered Beast.bmp
@@ -894,7 +894,7 @@ 

Autoexec NextBASIC program

Also included there is a small autoexec.bas that you can use to autostart knloader when the ZX Spectrum Next is started.

-

To install it, rename the file /nextzxos/autoexec.bas in the SD card to /nextzxos/autoexec.bas.bak, and then copy the file autoexec.bas from the utils folder into /nextzxos in the SD card. Copy also all the knloader files (knloader.bas, knlauncher, knzml and BDT file), from one of the distribution language folders (en for english, es for spanish, etc.), to a directory named /knloader/ in the root of the SD card.

+

To install it, rename the file /nextzxos/autoexec.bas in the SD card to /nextzxos/autoexec.old, and then copy the file autoexec.bas from the utils folder into /nextzxos in the SD card. Copy also all the knloader files (knloader.bas, knlauncher, knzml and BDT file), from one of the distribution language folders (en for english, es for spanish, etc.), to a directory named /knloader/ in the root of the SD card.

As an extra, you can use the following keys on startup to change the behaviour:

@@ -942,9 +942,9 @@
- \ No newline at end of file + diff --git a/docs/es/man_index.html b/docs/es/man_index.html index 3cba12e..55b2fb4 100644 --- a/docs/es/man_index.html +++ b/docs/es/man_index.html @@ -446,7 +446,7 @@

Manual de knloader

kounch

-version 1.0.0 +version 1.0.1
Índice
@@ -604,7 +604,7 @@

Formato del archivo de datos

Todas las rutas que se indiquen deben usar / como separador para indicar directorios. El uso de \ no está soportado.

-

La primera linea del archivo ha de ser la ruta principal de la SD desde la que empezar a buscar programas (por ejemplo: /Juegos). No debe exceder los 128 caracteres de longitud.

+

La primera linea del archivo ha de ser la ruta principal de la SD desde la que empezar a buscar programas (por ejemplo: /Juegos o D:/). No debe exceder los 128 caracteres de longitud.

A partir de la segunda, cada línea debe ser según el siguiente formato:

@@ -746,7 +746,7 @@

Ejemplos

-
/all/Games
+
C:/all/Games
 Albatrossity,1,,Albatrossity.tap
 Alter Ego,4,Alter Ego,Alter Ego.tap
 Altered Beast,3,Altered Beast,Altered Beast.dsk,Altered Beast.bmp
@@ -894,7 +894,7 @@ 

Programa Autoexec en NextBASIC

También se incluye un pequeño programa autoexec.bas que se puede utilizar para que se inicie knloader de forma automática cada vez que se encienda el ZX Spectrum Next.

-

Para utilizarlo, renombre el fichero /nextzxos/autoexec.bas de la tarjeta SD a /nextzxos/autoexec.bas.bak, y luego copie el fichero autoexec.bas del direcotrio utils a /nextzxos en la tarjeta SD. Copie también todos los ficheros de knloader (knloader.bas, knlauncher, knzml and BDT file), desde una de las carpetas de idioma de la distribución (en en inglés, es para castellano, etc.), en un directorio llamado /knloader/ en la raíz de la SD.

+

Para utilizarlo, renombre el fichero /nextzxos/autoexec.bas de la tarjeta SD a /nextzxos/autoexec.old, y luego copie el fichero autoexec.bas del direcotrio utils a /nextzxos en la tarjeta SD. Copie también todos los ficheros de knloader (knloader.bas, knlauncher, knzml and BDT file), desde una de las carpetas de idioma de la distribución (en en inglés, es para castellano, etc.), en un directorio llamado /knloader/ en la raíz de la SD.

Como extra, puede usar las siguientes teclas en el inicio para cambiar el comportamiento del arranque:

@@ -942,9 +942,9 @@
- \ No newline at end of file + diff --git a/knlauncher.bas b/knlauncher.bas index c617b49..953e482 100644 --- a/knlauncher.bas +++ b/knlauncher.bas @@ -17,12 +17,12 @@ 230 LOAD "m:klo.tmp"DATA o() 240 LOAD "m:kls.tmp"DATA o$() 250 mode=o(1) - 260 LET a$=o$(1):GO SUB 5200:LET y$=a$ + 260 LET a$=o$(1):GO SUB 5200:LET y$=a$:LET v$="C:":IF y$(2 TO 2)=":" THEN LET v$=y$(1 TO 2):LET y$=y$(3 TO LEN y$) 270 LET a$=o$(2):GO SUB 5200:LET c$=a$ 280 LET a$=o$(3):GO SUB 5200 290 IF y$(LEN y$ TO LEN y$)<>"/" THEN LET y$=y$+"/" 300 IF c$<>" " THEN LET y$=y$+c$ - 310 CD y$ + 310 LOAD v$:CD y$ 320 PRINT AT 1,1;a$ diff --git a/knloader.bas b/knloader.bas index d5af155..df91f1c 100644 --- a/knloader.bas +++ b/knloader.bas @@ -44,7 +44,7 @@ 520 IF K$="8" OR K$=CHR$(9) OR J=1 THEN LET prv=pos:GO TO 750 530 IF K$="6" OR K$=CHR$(10) OR J=4 THEN LET prv=pos:GO TO 800 540 IF K$="7" OR K$=CHR$(11) OR J=8 THEN LET prv=pos:GO TO 850 - 550 IF K$="R" OR K$="r" THEN CLOSE # 6:CLS:PRINT AT 10,12;"ERASING...":ERASE "/tmp/knloader/*.*":RUN AT %s:CLEAR:RUN + 550 IF K$="R" OR K$="r" THEN CLOSE # 6:CLS:PRINT AT 10,12;"ERASING...":ERASE "C:/tmp/knloader/*.*":RUN AT %s:CLEAR:RUN 560 IF K$="X" OR K$="x" OR J=64 THEN GO SUB 5200:FOR %a=0 TO 15:CLOSE # %a:NEXT %a:PAPER op:BORDER ob:INK oi:RUN AT %s:ERASE 570 IF K$="C" OR K$="c" OR J=32 THEN LET prv=pos:LET covers=1-covers:GO TO 1400 580 IF K$="A" OR K$="a" THEN LET autosave=1-autosave:GO SUB 5200:GO TO 1700 @@ -69,14 +69,14 @@ 895 ; Prepare to Launch Program 900 CLOSE # 6:CLS:BORDER 1:ON ERROR GO TO 1300:ON ERROR - 910 PRINT AT 4,13;"> knloader <":PRINT AT 6,12;"© kounch 2020" - 920 PRINT AT 10,1;z$(pos):PRINT AT 12,0;"Mode: ";o(pos);" - ";m$ - 930 PRINT AT 14,0;"Dir:":PRINT AT 15,1;w$(pos):PRINT AT 17,0;"File:":PRINT AT 18,1;x$(pos) - 940 LET a$=x$(pos):GO SUB 5300:LET l$=a$:LET a$=w$(pos):GO SUB 5300:IF a$(LEN a$ TO LEN a$)="/" THEN LET a$=a$(1 TO LEN a$-1) - 950 IF a$<>"" AND a$(LEN a$ TO LEN a$)="." THEN LET a$(LEN a$ TO LEN a$)="_":IF a$="_" THEN LET a$=" " - 960 LET c$=y$:IF y$(LEN y$ TO LEN y$)<>"/" THEN LET c$=y$+"/" + 910 PRINT AT 4,13;"> knloader <":PRINT AT 6,12;"© kounch 2020":PRINT AT 10,1;z$(pos):PRINT AT 12,0;"Mode: ";o(pos);" - ";m$ + 920 PRINT AT 14,0;"Dir:":PRINT AT 15,1;w$(pos):PRINT AT 17,0;"File:":PRINT AT 18,1;x$(pos) + 930 LET a$=x$(pos):GO SUB 5300:LET l$=a$:LET a$=w$(pos):GO SUB 5300:IF a$(LEN a$ TO LEN a$)="/" THEN LET a$=a$(1 TO LEN a$-1) + 940 IF a$<>"" AND a$(LEN a$ TO LEN a$)="." THEN LET a$(LEN a$ TO LEN a$)="_":IF a$="_" THEN LET a$=" " + 950 LET c$=y$:LET v$="C:":IF c$(2 TO 2)=":" THEN LET v$=c$(1 TO 2):LET c$=c$(3 TO LEN c$) + 960 IF c$(LEN c$ TO LEN c$)<>"/" THEN LET c$=c$+"/" 970 IF a$<>" " THEN LET c$=c$+a$ - 980 LET a$=l$:GO SUB 5400:CD c$:DIM d$(255):OPEN # 2,"v>d$":CAT a$:CLOSE # 2:LOAD q$:CD p$ + 980 LET a$=l$:GO SUB 5400:LOAD v$:CD c$:DIM d$(255):OPEN # 2,"v>d$":CAT a$:CLOSE # 2:LOAD q$:CD p$ 990 IF d$(1 TO 14)="No files found" THEN GO TO 1300 995 ; Save Launcher Options @@ -187,10 +187,11 @@ 4490 CLOSE # 5:RETURN 4495 ; Image Data (Cover) -4500 ON ERROR GO TO 4400:ON ERROR +4500 ON ERROR LOAD q$:GO TO 4400:ON ERROR 4510 LET l$=a$:LET a$=w$(pos):GO SUB 5300:IF a$(LEN a$ TO LEN a$)="/" THEN LET a$=a$(1 TO LEN a$-1) 4520 IF a$<>"" AND a$(LEN a$ TO LEN a$)="." THEN LET a$(LEN a$ TO LEN a$)="_":IF a$="_" THEN LET a$=" " -4530 LET c$=y$:IF y$(LEN y$ TO LEN y$)<>"/" THEN LET c$=y$+"/" +4530 LET c$=y$:LET v$="C:":IF c$(2 TO 2)=":" THEN LET v$=c$(1 TO 2):LET c$=c$(3 TO LEN c$) +4535 LOAD v$:IF c$(LEN c$ TO LEN c$)<>"/" THEN LET c$=c$+"/" 4540 LET c$=c$+a$+"/"+l$:LET l$=l$((LEN l$-2) TO LEN l$):LET a$=c$ 4550 IF l$="BMP" OR l$="bmp" THEN PRINT #6;CHR$ 2;:LAYER 2,0:.$ bmpload a$:LAYER 2,1:LAYER 0:PRINT #6;CHR$ 3 4560 IF l$="SCR" OR l$="scr" THEN PRINT #6;CHR$ 2;:LAYER 2,0:LAYER 0:LOAD a$ SCREEN$:PRINT #6;CHR$ 3 @@ -198,16 +199,16 @@ 4580 IF l$="SHR" OR l$="shr" THEN PRINT #6;CHR$ 2;:LAYER 2,0:LAYER 1,1:LOAD a$ LAYER:LAYER 0:PRINT #6;CHR$ 3 4590 IF l$="SHC" OR l$="shc" THEN PRINT #6;CHR$ 2;:LAYER 2,0:LAYER 1,2:LOAD a$ LAYER:LAYER 0:PRINT #6;CHR$ 3 4600 IF l$="SL2" OR l$="sl2" THEN PRINT #6;CHR$ 2;:LAYER 2,0:LOAD a$ LAYER:LAYER 2,1:LAYER 0:PRINT #6;CHR$ 3 -4610 RETURN +4610 LOAD q$:RETURN 4895 ; Load Cache from Disk 4900 ON ERROR GO SUB 6000:ON ERROR -4910 LOAD"/tmp/knloader/cache13"BANK 13 +4910 LOAD"C:/tmp/knloader/cache13"BANK 13 4920 LET maxpag=%BANK 13 DPEEK 16252:LET maxpos=%BANK 13 PEEK 16254 4930 LET y$=BANK 13 PEEK$(16255,~0) 4940 IF y$(LEN y$ TO LEN y$)="/" AND LEN y$>1 THEN LET y$=y$(1 TO LEN y$-1) 4950 LET bnk=13+INT((maxpag*22+maxpos)/74):LET p=PEEK 23401:IF bnk>p THEN GO TO 6700 -4960 IF bnk>13 THEN FOR p=14 TO bnk:LOAD"/tmp/knloader/cache"+STR$ p BANK p:NEXT p +4960 IF bnk>13 THEN FOR p=14 TO bnk:LOAD"C:/tmp/knloader/cache"+STR$ p BANK p:NEXT p 4970 DIM z$(22,22):DIM o(22):DIM w$(22,maxpath):DIM x$(22,maxpath):DIM b$(22,maxpath) 4980 RETURN @@ -254,7 +255,7 @@ 6000 DIM d$(40):OPEN # 2,"v>d$":CAT "knloader.bdt":CLOSE # 2 6010 IF d$(1 TO 14)="No files found" THEN GO TO 6500 6020 ON ERROR GO TO 6040:ON ERROR -6030 MKDIR "/tmp/knloader" +6030 MKDIR "C:/tmp/knloader" 6040 ON ERROR PRINT "Cache Build Error!!":ERROR TO e,l:PRINT e,l:PAUSE 0:ON ERROR:STOP 6050 LET %n=0:LET f=0:LET %f=0:LET pag=0:PRINT AT 20,12;"BUILDING CACHE: 0%" 6060 OPEN # 4,"knloader.bdt":DIM #4 TO %g:CLOSE # 4:BANK 12 ERASE 10:LOAD "knloader.bdt" BANK 12:IF %g>16384 THEN GO TO 6600 @@ -279,17 +280,17 @@ 6250 IF lp=5 THEN BANK 14 POKE %(j+154),l$ 6260 LET %j=%j+219:IF %j<16206 THEN GO TO 6300 6270 IF %k=13 THEN BANK 14 COPY TO 13:GO TO 6290 -6280 LET bnk=%k:SAVE"/tmp/knloader/cache"+STR$ bnk BANK 14 +6280 LET bnk=%k:SAVE"C:/tmp/knloader/cache"+STR$ bnk BANK 14 6290 LET %k=%k+1:LET %j=0:BANK 14 ERASE 0 6300 IF %f>=g THEN GO TO 6330 6310 LET %n=%n+1:IF %n<23 THEN GO TO 6080 6320 IF %n<23 THEN LET a$=BANK 14 PEEK$(%j,~0):IF a$="" THEN LET %n=%n-1 6330 PRINT AT 20,12;"BUILDING CACHE:";%(10*f/g*10);"%":IF %f13 THEN LET bnk=%k:SAVE"/tmp/knloader/cache"+STR$ bnk BANK 14 +6350 IF %k>13 THEN LET bnk=%k:SAVE"C:/tmp/knloader/cache"+STR$ bnk BANK 14 6360 IF %k=13 THEN BANK 14 COPY TO 13 6370 BANK 13 DPOKE 16252,maxpag:BANK 13 POKE 16254,maxpos:IF CODE y$(LEN y$ TO LEN y$)=13 THEN LET y$=y$(1 TO LEN y$-1) -6380 BANK 13 POKE 16255,y$:SAVE"/tmp/knloader/cache13" BANK 13:BANK 13 CLEAR:BANK 14 CLEAR:LET pag=0:LET pos=1:BANK 12 CLEAR:RETURN +6380 BANK 13 POKE 16255,y$:SAVE"C:/tmp/knloader/cache13" BANK 13:BANK 13 CLEAR:BANK 14 CLEAR:LET pag=0:LET pos=1:BANK 12 CLEAR:RETURN 6495 ; Database Not Found 6500 CLS:PRINT AT 2,2;INK 6;PAPER 2;" ERROR: Database Not Found " diff --git a/locale/en/Manual_en.adoc b/locale/en/Manual_en.adoc index 8b040b3..12350af 100644 --- a/locale/en/Manual_en.adoc +++ b/locale/en/Manual_en.adoc @@ -1,6 +1,6 @@ = knloader English Manual :author: kounch -:revnumber: 1.0.0 +:revnumber: 1.0.1 :doctype: book :email: kounch@users.noreply.github.com :Revision: 1.0 @@ -88,7 +88,7 @@ BDT file size is limited to 16384 bytes when the cache files are created from wi All paths in the database file must use `/` (slash) as separator for directories. Using `\` (backslash) is not supported. -The first line has to be the base path where to start looking for programs (for example: `/games`). It's length cannot exceed 128 characters. +The first line has to be the base path where to start looking for programs (for example: `/games` or `D:/`). It's length cannot exceed 128 characters. Starting from line 2, each line must have the following format: @@ -204,7 +204,7 @@ This is an example of a small database file: [source] ---- -/all/Games +C:/all/Games Albatrossity,1,,Albatrossity.tap Alter Ego,4,Alter Ego,Alter Ego.tap Altered Beast,3,Altered Beast,Altered Beast.dsk,Altered Beast.bmp @@ -278,7 +278,7 @@ After the cache data files are created, you have to copy them to your SD card in Also included there is a small `autoexec.bas` that you can use to autostart knloader when the ZX Spectrum Next is started. -To install it, rename the file `/nextzxos/autoexec.bas` in the SD card to `/nextzxos/autoexec.bas.bak`, and then copy the file `autoexec.bas` from the `utils` folder into `/nextzxos` in the SD card. Copy also all the knloader files (`knloader.bas`, `knlauncher`, `knzml` and BDT file), from one of the distribution language folders (`en` for english, `es` for spanish, etc.), to a directory named `/knloader/` in the root of the SD card. +To install it, rename the file `/nextzxos/autoexec.bas` in the SD card to `/nextzxos/autoexec.old`, and then copy the file `autoexec.bas` from the `utils` folder into `/nextzxos` in the SD card. Copy also all the knloader files (`knloader.bas`, `knlauncher`, `knzml` and BDT file), from one of the distribution language folders (`en` for english, `es` for spanish, etc.), to a directory named `/knloader/` in the root of the SD card. As an extra, you can use the following keys on startup to change the behaviour: diff --git a/locale/en/knloader_en.gde b/locale/en/knloader_en.gde index 1813ff6..419def2 100644 --- a/locale/en/knloader_en.gde +++ b/locale/en/knloader_en.gde @@ -1,8 +1,8 @@ @title knloader Manual @author kounch -@version 1.0 +@version 1.0.1 @copyright Copyright (C)2020 kounch -@date 2020/05/31 +@date 2020/08/03 @index INDEX @@ -167,7 +167,7 @@ All paths in the database file must use @{i}/@{ui} (slash) as separator for dire Using @{i}\@{ui} (backslash) is not supported. The first line has to be the base path where to start looking for programs -(for example: /games). It's length cannot exceed 128 characters. +(for example: /games or D:/). It's length cannot exceed 128 characters. Starting from line 2, each line must have the following format: diff --git a/locale/es/Manual_es.adoc b/locale/es/Manual_es.adoc index 63da667..df33677 100644 --- a/locale/es/Manual_es.adoc +++ b/locale/es/Manual_es.adoc @@ -1,6 +1,6 @@ = Manual de knloader :author: kounch -:revnumber: 1.0.0 +:revnumber: 1.0.1 :doctype: book :email: kounch@users.noreply.github.com :Revision: 1.0 @@ -88,7 +88,7 @@ El fichero BDT tiene un tamaño máximo de 16384 bytes si los archivos de cache Todas las rutas que se indiquen deben usar `/` como separador para indicar directorios. El uso de `\` no está soportado. -La primera linea del archivo ha de ser la ruta principal de la SD desde la que empezar a buscar programas (por ejemplo: `/Juegos`). No debe exceder los 128 caracteres de longitud. +La primera linea del archivo ha de ser la ruta principal de la SD desde la que empezar a buscar programas (por ejemplo: `/Juegos` o `D:/`). No debe exceder los 128 caracteres de longitud. A partir de la segunda, cada línea debe ser según el siguiente formato: @@ -204,7 +204,7 @@ Ejemplo de archivo de datos: [source] ---- -/all/Games +C:/all/Games Albatrossity,1,,Albatrossity.tap Alter Ego,4,Alter Ego,Alter Ego.tap Altered Beast,3,Altered Beast,Altered Beast.dsk,Altered Beast.bmp @@ -278,7 +278,7 @@ Una vez que los ficheros de caché se han creado, ha de copiarlos a la tarjeta S También se incluye un pequeño programa `autoexec.bas` que se puede utilizar para que se inicie knloader de forma automática cada vez que se encienda el ZX Spectrum Next. -Para utilizarlo, renombre el fichero `/nextzxos/autoexec.bas` de la tarjeta SD a `/nextzxos/autoexec.bas.bak`, y luego copie el fichero `autoexec.bas` del direcotrio `utils` a `/nextzxos` en la tarjeta SD. Copie también todos los ficheros de knloader (`knloader.bas`, `knlauncher`, `knzml` and BDT file), desde una de las carpetas de idioma de la distribución (`en` en inglés, `es` para castellano, etc.), en un directorio llamado `/knloader/` en la raíz de la SD. +Para utilizarlo, renombre el fichero `/nextzxos/autoexec.bas` de la tarjeta SD a `/nextzxos/autoexec.old`, y luego copie el fichero `autoexec.bas` del direcotrio `utils` a `/nextzxos` en la tarjeta SD. Copie también todos los ficheros de knloader (`knloader.bas`, `knlauncher`, `knzml` and BDT file), desde una de las carpetas de idioma de la distribución (`en` en inglés, `es` para castellano, etc.), en un directorio llamado `/knloader/` en la raíz de la SD. Como extra, puede usar las siguientes teclas en el inicio para cambiar el comportamiento del arranque: diff --git a/locale/es/knloader_es.gde b/locale/es/knloader_es.gde index ba309dd..0ffe32e 100644 --- a/locale/es/knloader_es.gde +++ b/locale/es/knloader_es.gde @@ -1,6 +1,6 @@ @title Manual de knloader @author kounch -@version 1.0 +@version 1.0.1 @copyright Copyright (C)2020 kounch @date 2020/06/13 @@ -178,7 +178,7 @@ Todas las rutas que se indiquen deben usar @{i}/@{ui} como separador para indica directorios. El uso de @{i}\@{ui} no está soportado. La primera linea del archivo ha de ser la ruta principal de la SD desde la que -empezar a buscar programas (por ejemplo: /Juegos). No debe exceder los 128 +empezar a buscar programas (por ejemplo: /Juegos o D:/). No debe exceder los 128 caracteres de longitud. A partir de la segunda, cada línea debe ser según el siguiente formato: diff --git a/utils/autoexec.bas b/utils/autoexec.bas index 5cdd1e9..5f68d6a 100644 --- a/utils/autoexec.bas +++ b/utils/autoexec.bas @@ -7,17 +7,20 @@ 50 LET %s=%REG 7&3:RUN AT 2 60 CLS:ON ERROR RUN AT %s:ERASE - 70 LET J=IN 31:LET K$=INKEY$:IF (J<>0 AND J<>255) OR K$<>"" THEN GO TO 90 - 80 LOAD "C:":CD "/knloader":RUN AT %s:LOAD "knloader.bas" - 90 IF K$=" " OR J=32 THEN RUN AT %s:ERASE - 100 IF K$<>"t" AND K$<>"T" AND J<>64 THEN GO TO 140 - 110 CLS:PRINT AT 6,12;"NTP..." - 120 .nxtp time.nxtel.org 12300 -z=RomanceStandardTime - 130 PRINT AT 6,12;"NTP OK!":GO TO 60 - 140 IF K$="a" OR K$="A" OR J=16 THEN LOAD "C:":CD "/":RUN AT %s:LOAD "/nextzxos/autoexec.bas.bak" - 150 IF K$<>"d" AND K$<>"D" THEN GO TO 180 - 160 CLS:PRINT AT 6,12;"WiFi Off":REG 2,128 - 170 IF INKEY$<>"" THEN GO TO 170 - 180 GO TO 60 + 70 LET J=IN 31:LET K$=INKEY$:IF (J<>0 AND J<>255) OR K$<>"" THEN GO TO 120 + 80 ON ERROR GO TO 100:ON ERROR + 90 LOAD "C:":CD "/Aplicaciones/knloader":RUN AT %s:LOAD "knloader.bas" + 100 ON ERROR RUN AT %s:ERASE + 110 LOAD "D:":CD "/Aplicaciones/knloader":RUN AT %s:LOAD "knloader.bas" + 120 IF K$=" " OR J=32 THEN RUN AT %s:ERASE + 130 IF K$<>"t" AND K$<>"T" AND J<>64 THEN GO TO 170 + 140 CLS:PRINT AT 6,12;"NTP..." + 150 .nxtp time.nxtel.org 12300 -z=RomanceStandardTime + 160 PRINT AT 6,12;"NTP OK!":GO TO 60 + 170 IF K$="a" OR K$="A" OR J=16 THEN LOAD "C:":CD "/":RUN AT %s:LOAD "/nextzxos/autoexec.old" + 180 IF K$<>"d" AND K$<>"D" THEN GO TO 210 + 190 CLS:PRINT AT 6,12;"WiFi Off":REG 2,128 + 200 IF INKEY$<>"" THEN GO TO 200 + 210 GO TO 60 990 SAVE "autoexec.bas"LINE 50