Spectranet - the TNFS directory thread

Y'know, other stuff, Sinclair related.
User avatar
Einar Saukas
Bugaboo
Posts: 3213
Joined: Wed Nov 15, 2017 2:48 pm

Re: Spectranet - the TNFS directory thread

Post by Einar Saukas »

mdr wrote: Thu Apr 08, 2021 12:04 pm I've started work on merging in the latest TOSEC dump, and have added 7,000+ new games and 1,000 new demos to the site. There's now around 14,000 files in total hosted and playable from the menu system, including all the recent CSSCGC entries, modern games and more :shock: .
How are you doing this?

Files in TOSEC are associated to corresponding titles in ZXDB through ZX Pokemaster. But it sounds like you didn't use either ZXDB or ZX Pokemaster, instead you re-classified all TOSEC files yourself. if that's the case, perhaps there's data from ZXDB that could help you and vice-versa...
User avatar
mdr
Dizzy
Posts: 52
Joined: Fri Jan 22, 2021 9:12 am
Contact:

Re: Spectranet - the TNFS directory thread

Post by mdr »

Einar Saukas wrote: Thu Oct 28, 2021 7:29 pm How are you doing this?
Downloaded and extracted the archive, and then ran it through a collection of scripts that find all the .TAP games/demos/utilities/whatever which can be loaded through Spectranet, and then renames them so they can be indexed and searched for quickly without all the extra [stuff] in the filenames.

Then they are indexed through my API server so that the BASIC menu interface can query them and load them from the backend. I have a half-finished blog post on how my whole development environment works which is next on my TODO list, I use a "modern" environment of VSCode, cross-compilers, Concourse pipelines and GitOps to build/package/release things to my staging TNFS server, run some tests and then promote the build to the "production" site.

Image

EG on Page 2 of the main menu, there's a debug option which shows the current git revision and build target - it was a lot of fun bringing the tools and techniques from $DAYJOB to a 1980s machine :lol:

Image
Visit my Spectranet TNFS server at tnfs.markround.com or try it through a web browser!
16,000+ games, demos and utilities online | message wall | hall of fame | articles | more...
User avatar
Einar Saukas
Bugaboo
Posts: 3213
Joined: Wed Nov 15, 2017 2:48 pm

Re: Spectranet - the TNFS directory thread

Post by Einar Saukas »

Thanks for the explanation!

I thought you were re-classifying these programs. But you are doing something much simpler: you are just filtering files in TAP format, stripping everything from filenames except program title, and indexing these files for download without bothering to classify them. OK, I agree a TNFS directory doesn't really need much else :)

The only problem I see is different games with same title from different publishers. Perhaps you should put publisher in filenames too? This way your listing could have Backgammon(HewsonConsultants), Backgammon(SinclairResearch), Backgammon(PiSoftware), Backgammon(CDSMicrosystems), etc.

I suggest you take a look at ZX Pokemaster. It already has options to filter and rename TOSEC files according to any criteria, separate them into different directories depending on program type, etc.

To eliminate duplicates, you can use Fast Duplicate File Finder, it's free and works quite well.
User avatar
mdr
Dizzy
Posts: 52
Joined: Fri Jan 22, 2021 9:12 am
Contact:

Re: Spectranet - the TNFS directory thread

Post by mdr »

Thanks for the tips! I'll see what I can do with them :D
Visit my Spectranet TNFS server at tnfs.markround.com or try it through a web browser!
16,000+ games, demos and utilities online | message wall | hall of fame | articles | more...
User avatar
Hedge1970
Manic Miner
Posts: 388
Joined: Mon Feb 18, 2019 2:41 pm

Re: Spectranet - the TNFS directory thread

Post by Hedge1970 »

It’s incredible work, thank you for taking the time to do this selfless job. Amazing support and while I can’t quite put my finger on the right words it’s mad being online with a 40yr old computer designed around a tape recorder.

mdr wrote: Thu Oct 28, 2021 4:17 pm Hi all!

It's been a while but I have just made a pretty big update to my TNFS site. I had to move things around in the main menu to make room for some new features, so sorry for messing with anyone's muscle memory!

Image

The big news is that there is now an articles section and thanks to the amazing work of Robert Hazelby (http://theretroranch.co.uk/), there are a couple of great articles now readable on the site: There's a review of Amiga PD conversions of Speccy classics as well as an exclusive interview with the Rose Tinted Spectrum YouTube channel:

Image

I'll be making more changes and improving the articles "engine" over the coming days, adding proper pagination and so on, and we're also working on getting some more articles and features loaded up - if you have anything you'd like to contribute just email me (speccy [at] markround.com) or drop me a DM.

Hope you enjoy!

-Mark
User avatar
p13z
Manic Miner
Posts: 621
Joined: Sun Feb 17, 2019 10:41 pm
Location: UK
Contact:

Re: Spectranet - the TNFS directory thread

Post by p13z »

Updated TNFS directory:

irata.online - Platoterm terminal / bulletin service
nihirash.net - Gopher client
retrojen.org - "Experimental site"
sickbay.ddns.net - Sickbay, a cosy corner of the Internet
szeliga.zapto.org - Includes IRC client, and a nice up-to-date list of modern games / new releases
tnfs.bytedelight.com - A new home for new Spectranets
tnfs.markround.com - Good things, and the easiest big database search since WoS Bridge
tnfs.millhill.org - Mirror / Tribute to the old Kupo TNFS service / TOSEC browser
vexed4.alioth.net - The original and spiritual home of the Spectranet
zx.cm7.ch - Some cool online feeds (when available)
zx.desertkun.in - TNFS service for the "Channels" Spectranet browser project
zxnet.co.uk - Some nice online Speccy programs / clients
zx.zapto.org - A strange celebration of crap BASIC
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

It would be really nice if we could have an index "starting point" tnfs website, which would fetch a list of projects from its directory, and upon selection, automatically load appropriate tnfs. Much like google. I often find switching the websites around to be not at all seamless.
User avatar
Guesser
Manic Miner
Posts: 646
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Spectranet - the TNFS directory thread

Post by Guesser »

desertkun wrote: Wed Dec 29, 2021 12:44 pm It would be really nice if we could have an index "starting point" tnfs website, which would fetch a list of projects from its directory, and upon selection, automatically load appropriate tnfs. Much like google. I often find switching the websites around to be not at all seamless.
You must remember these are not websites, they're more like FTP servers or network shares. There's no standard for what files they will contain, or what filesystem number a user will have them mounted under.
If someone happens to host a basic program to mount other servers that's fair enough, but don't expect to be able to "browse" around them like a webring :)

edit: in fact, since TNFS was adopted by the Atari 8-bit people for their "fujinet" there's no guarantee that a server even contains anything that a spectrum can execute.
User avatar
Hedge1970
Manic Miner
Posts: 388
Joined: Mon Feb 18, 2019 2:41 pm

Re: Spectranet - the TNFS directory thread

Post by Hedge1970 »

desertkun wrote: Wed Dec 29, 2021 12:44 pm It would be really nice if we could have an index "starting point" tnfs website, which would fetch a list of projects from its directory, and upon selection, automatically load appropriate tnfs. Much like google. I often find switching the websites around to be not at all seamless.
I love the idea and found myself thinking along similar lines in fact using list files could be the “standard” adopted by all TNFS site owners. However I am not sure if I am missing some functionality but in order to “browse” a Speccy tnfs site I first need to Mount it and then where I have mounted it I need to set that as the file system and %load””. All these steps would need to be automated, this would effectively mean I have the ability to control your spectranet with out your say so.
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

Well that complex functionality is not needed. It could be as simple as collection of TXT records on a certain domain, all the index cliend would need to do, is to perform a dns lookup and that's it. No http no tcp even, since dns is udp.

And the client would display a list of domains along with short description and maybe a search function that would lookup the list internally if it's too long.

The client itself doesn't even need to be served from the same tnfs on itself, since it would only do a couple of dns queries, so people could chip in and host copies around. Or you can have a client in an old fashion way, on a tape or something. The records themselves could be even held on spectrumcomputing.co.uk, and via magic of dns redirection, the admin of this website could just have a record pointing to a domain that has all the latest records.

Now that I think about it it looks very easy to implement, we just need a reputable maintainer to handle dns records.
User avatar
Guesser
Manic Miner
Posts: 646
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Spectranet - the TNFS directory thread

Post by Guesser »

Hedge1970 wrote: Wed Dec 29, 2021 8:30 pm However I am not sure if I am missing some functionality but in order to “browse” a Speccy tnfs site I first need to Mount it and then where I have mounted it I need to set that as the file system and %load””. All these steps would need to be automated, this would effectively mean I have the ability to control your spectranet with out your say so.
That's what some people's TNFS menu programs do already, they're just basic programs so can include the %mount, %fs, and %load commands.
User avatar
Guesser
Manic Miner
Posts: 646
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Spectranet - the TNFS directory thread

Post by Guesser »

desertkun wrote: Wed Dec 29, 2021 9:43 pm Now that I think about it it looks very easy to implement, we just need a reputable maintainer to handle dns records.
It could be a text file on a normal http server too, that's easy enough to read from BASIC, but if one person is going to maintain the directory then it may as well be a loader hosted on a tnfs server and not need a special client writing at all :lol:
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

Guesser wrote: Wed Dec 29, 2021 11:55 pm
desertkun wrote: Wed Dec 29, 2021 9:43 pm Now that I think about it it looks very easy to implement, we just need a reputable maintainer to handle dns records.
It could be a text file on a normal http server too, that's easy enough to read from BASIC, but if one person is going to maintain the directory then it may as well be a loader hosted on a tnfs server and not need a special client writing at all :lol:
Oh yeah, and the TNFS program could be linked to a CI that would rebuild/deploy project on every commit to a public repository.
User avatar
mdr
Dizzy
Posts: 52
Joined: Fri Jan 22, 2021 9:12 am
Contact:

Re: Spectranet - the TNFS directory thread

Post by mdr »

Other problem is that there's no fool-proof way to mount and load a TNFS site. EG, in my tnfs.markround.com site, I have a links page (which I'll update soon to include a few of the missing links in this thread), but the code to load them looks like e.g.:

Code: Select all

if a$="0" then restore: clear: %mount 2, "tnfs.bytedelight.com": %fs 2: %load ""
So it has to mount the site into a free slot, switch to it and then load it. But you can't unmount an in-use slot, or guarantee that the user has left slot "2" free. I included a message on the links page saying "you need to have slot 2 free to use these links" but that's obviously not guaranteed to be the case on every user's Spectranet card.
Visit my Spectranet TNFS server at tnfs.markround.com or try it through a web browser!
16,000+ games, demos and utilities online | message wall | hall of fame | articles | more...
User avatar
p13z
Manic Miner
Posts: 621
Joined: Sun Feb 17, 2019 10:41 pm
Location: UK
Contact:

Re: Spectranet - the TNFS directory thread

Post by p13z »

mdr wrote: Thu Dec 30, 2021 9:05 am Other problem is that there's no fool-proof way to mount and load a TNFS site. EG, in my tnfs.markround.com site, I have a links page (which I'll update soon to include a few of the missing links in this thread), but the code to load them looks like e.g.:

Code: Select all

if a$="0" then restore: clear: %mount 2, "tnfs.bytedelight.com": %fs 2: %load ""
So it has to mount the site into a free slot, switch to it and then load it. But you can't unmount an in-use slot, or guarantee that the user has left slot "2" free. I included a message on the links page saying "you need to have slot 2 free to use these links" but that's obviously not guaranteed to be the case on every user's Spectranet card.
Yeah, it can be a bit of a pain in the ass.
If you check the "LINKS" page on my TNFS - (zx.zapto.org) - I have a little snippet of MC to determine if the mount point is used, so it can unmount first if needed. The other thing I do, to avoid some other pitfalls of "linking" TNFS sites, is reset some common system variables and CLEAR just prior to mounting the new TNFS. (The RESTORE and CLEAR in your code is a step further than a lot folk)
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

So after some research I'm coming up with a proposed draft of a solution:

A DNS-based distributed spectranet module
Image
  • A list of active TNFS websites maintained by independent maintainers
  • Completely serverless
  • The code for the client fits into 4K spectranet module, and once installed requires no tnfs to be hosted from = no central weak point
  • type "%index" in BASIC to open the index and see what's going on on the community
  • Such module could be shipped with new spectranets, new users = zero hassle
  • Records of the list are hosted on DNS in form of TXT records, try "dig index.speccytools.org txt" on your pc. On domains can fit up until 4K of txt records. That means no server is required besides renewing DNS domain
    Image
  • Each record can be two types:
  • "tnfs" - a point to mountable site and index
  • "link" - link to another index maintained by (friendly) independent maintainer. Once such record is found, corresponding index is automatically recursively fetched and its existence burned into spectranet's rom. In an event the original index goes down, friendly index is still going to be fetched.
  • (potentially) "tap" - A link for a one particular game that is worth separate link. Still on tnfs, just different image than boot.zx.
  • Spectranet / 48k ram has plenty or ram to load however many this community could pull off in years
Looking for your input. Currently trying to figure out asm code that would mount and load "boot.zx" on a tnfs given by HL. Maybe some of you have such a snippet already?
User avatar
lister_of_smeg
Microbot
Posts: 146
Joined: Thu Nov 16, 2017 1:44 pm

Re: Spectranet - the TNFS directory thread

Post by lister_of_smeg »

desertkun wrote: Fri Feb 11, 2022 12:17 am Image
Very nice!

But I think I'll steer clear of tnfs.markround.com from now on! ;)
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

I don't necessarily care about individual websites. The idea is users can decide what indexes to follow and index maintainers can decide what tnfs to host.

Why should I steer clear of it?
User avatar
Guesser
Manic Miner
Posts: 646
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Spectranet - the TNFS directory thread

Post by Guesser »

desertkun wrote: Fri Feb 11, 2022 5:07 pm Why should I steer clear of it?
To avoid the demons I assume :twisted:

:lol:
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

[mention]Guesser[/mention] [mention]lister_of_smeg[/mention] I am dead. Whoops.

Anyway, neither of this works yet because I don't have TNFS loading routine yet.
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

I seem to have a working prototype: https://github.com/speccytools/spectranet-index-module

Code: Select all

%mount 0,"boot.speccytools.org"
%load""
(reboot)
! <hit enter>
Alternatively, run TAP from here https://github.com/speccytools/spectran ... e/releases

This TNFS installs a new spectranet module in your system, after which any time you want access the index you just type "!" in BASIC (no TNFS is needed).

VOLUNTEERS WANTED: currently module has only one index: index.speccytools.org (you can do "dig index.speccytools.org txt" in your command line to see records). But I am looking to see anyone that would be willing to hold an index of their own, so the module will look for several indexes for durability.

HOW DOES IT WORK? https://github.com/speccytools/spectran ... es-it-work

HOW TO CONTRIBUTE: Just decide on your index domain, and put some TXT records there, like described above. You may copy records from my index (duplicates are ignored). I would add such domain to native index domain.
User avatar
Guesser
Manic Miner
Posts: 646
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Spectranet - the TNFS directory thread

Post by Guesser »

desertkun wrote: Wed Feb 16, 2022 11:48 pm Alternatively, run TAP from here https://github.com/speccytools/spectran ... e/releases
Testing in Fuse it prints

Code: Select all

Failed!
Install complete!
And leaves a broken module. It's installed the module but running the ! command gives

Code: Select all

Bad command
from a reboot, and crashes in various exciting ways if the NMI menu has been activated.

Running the install a second time without removing the module first installed correctly in one situation but isn't helping with a different number of modules installed

When working it's either failing or not attempting to unmount before mounting as the second time you use it it errors with mount point not free.

Should it return the same things every time it runs?
User avatar
flatduckrecords
Manic Miner
Posts: 833
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

Re: Spectranet - the TNFS directory thread

Post by flatduckrecords »

[mention]desertkun[/mention]

I've put a couple of TXT records up at tnfs.robertmorrison.me to try it out, including an index pointing back at yours.

Code: Select all

tnfs.robertmorrison.me.	900	IN	TXT	"type=tnfs;host=nihirash.net;title=Gopher client;tags=web"
tnfs.robertmorrison.me.	900	IN	TXT	"type=index;host=index.speccytools.org"
I managed to install it in Fuse (using the online installer) without any trouble, but when issuing the ! command (while boot.speccytools.org is mounted) I get 'no results'.

Image
desertkun
Drutt
Posts: 47
Joined: Fri Feb 12, 2021 9:26 pm

Re: Spectranet - the TNFS directory thread

Post by desertkun »

Like always, everything works until it doesn't :D

[mention]flatduckrecords[/mention] [mention]Guesser[/mention] could you please take a snapshots of FUSE? So I can try and see what's going on?
User avatar
flatduckrecords
Manic Miner
Posts: 833
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

Re: Spectranet - the TNFS directory thread

Post by flatduckrecords »

desertkun wrote: Thu Feb 17, 2022 9:10 am could you please take a snapshots of FUSE? So I can try and see what's going on?
Here you go: speccytools.szx

Although now it's getting stuck at "Looking…"

Image

(The snapshot was taken just before running the ! command, the screenshot is from right after).
Post Reply