One of the yet-unexplored features of XTXT is its potential to multiplex multiple HTTP connections over a single serial link—without relying on TCP/IP.

In the past, we had solutions like PPP (and later PPPoE), which allowed network-layer communication over point-to-point connections. But those were fundamentally data link layer protocols, operating at a lower level in the OSI model.

XTXT, on the other hand, can be thought of as an application-layer alternative for achieving similar multiplexing, but with much lighter networking demands. It’s designed to work seamlessly on smaller systems by simply exchanging text streams—no need for OSI compliance or the overhead of traditional networking stacks.

With XTXT, all you need is the ability to send and receive structured text. And most computers, even very old ones can do that. The simplicity is the beauty.

#xtxt #hypermedia #hypertext

xtxt/code/asm/zxspectrum at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

Anyone familiar with ESXDOS enough who can generously give me a few tips on how to port or abstract the ZX Spectrum +3 file handling api (+3DOS) so that programs work on both Spectrum OSes?

At this time I only have one real Spectrum +3 to test on real hardware, no idea how to use ESXDOS on an emulator.

count frames
https://github.com/ha1tch/xtxt/blob/main/code/asm/zxspectrum/count-frames-zxspectrumplus3.z80.asm

count streams (WIP)
https://github.com/ha1tch/xtxt/blob/main/code/asm/zxspectrum/count-streams.zxspectrumplus3.z80.asm

#retrocomputing #esxdos #plus3 #ZXSpectrum #Speccy #Spectrum #xtxt

xtxt/code/asm/zxspectrum/count-frames-zxspectrumplus3.z80.asm at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub
xtxt/code/asm/count-frames-zxspectrumplus3.z80.asm at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

XTXT slides that show the basic elements of it visually:
https://github.com/ha1tch/xtxt/tree/main/slides

#xtxt #hypermedia #hypertext #retrocomputing

xtxt/slides at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

I also started work on muxcat.c but it doesn't really work yet and it's buggy as hell.
https://github.com/ha1tch/xtxt/blob/main/code/c/muxcat.c

#retrocomputing #xtxt #hypermedia #hypertext

xtxt/code/c/muxcat.c at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

XTXT Update: I added the utility muxcat (like unix 'cat', but for multiplexed, extended text files)
Three different implementations (Ruby, Python, Go). Still very much work in progress, they almost work.

ruby
https://github.com/ha1tch/xtxt/blob/main/code/rb/muxcat.rb

python
https://github.com/ha1tch/xtxt/blob/main/code/py/muxcat.py

go
https://github.com/ha1tch/xtxt/blob/main/code/go/muxcat.go

#xtxt #hypermedia #hypertext #retrocomputing

xtxt/code/rb/muxcat.rb at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

Another XTXT update: I added some initial support for various retro platforms. Let me know if you find any errors in the code for your platform of choice! I'm mostly testing against a couple of emulators and the hardware I have.
https://github.com/ha1tch/xtxt/tree/main/code/asm

#xtxt #hypermedia #hypertext #retrocomputing

xtxt/code/asm at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub

I did more work on XTXT, adding some very simple code examples in other languages: C, Assembler (Z80 and 8086), Pascal, Go, Python, Ruby, Swift.
https://github.com/ha1tch/xtxt/tree/main/code
(the old and dirty Ruby samples are still available under the ruby.old directory, until we have newer and better ones)

Notably, the Z80 Assembler version of the most basic example compiles to a binary of just under 70 bytes. I used PASMO to assemble it. (if you need to compile Pasmo itself from source like I did on Apple M1/arm64, ensure that you add -std=c++17 to the CXXFLAGS variable in the generated Makefile)

#xtxt #hypermedia #hypertext

xtxt/code at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub
xtxt/intro/xtxt-why-use-it.md at main · ha1tch/xtxt

Contribute to ha1tch/xtxt development by creating an account on GitHub.

GitHub