@robertprice.bsky.social Awesome!

@robertprice.bsky.social Ah, I see. I thought it was more complicated—but I suppose if it’s ZX Printer compatible then of course it’d have to be a clever/simple/cheap solution!

What are you using for the physical interface? I have one of Quazar’s RC2014-to-Spectrum adapters, but nothing for going the other way.

@robertprice.bsky.social Cool! I remember reading something about “vytes” (i.e. the data is sent as “vertical bytes”?)

@onlyretrofans.com Snap! (I don’t have any suggestions for managing the CF card tho, I’ve only really installed stuff via floppy disk!) Also, needs some stand-offs I think - I like your solution but I’ve no internal drive to brace against.

@onlyretrofans.com Agreed! Getting to know NextZXOS has helped me to appreciate +3e. (I always thought text “windows” were a weird thing for a DOS to concern itself? But looking at it from a streams/channels context, I get it now!)

@tomjamespotter.bsky.social Ta!

@fuzzweed.co.uk Heh, actually I’ve never seen it. But something something … smells like victory! ✌️

But unironically, this is a really cool project. Nice work!

@tomjamespotter.bsky.social Congratulations on the launch Tom! (I have a copy winging its way to me now!) Do you happen to know the exact “release date” that BitmapSoft started shipping it, so we can note it in ZXDB?

@fuzzweed.co.uk I love a bit of multifaceted polytimbral synergistic convergence in the morning.

@fuzzweed.co.uk This is great!

@fuzzweed.co.uk Aha. Now you’re talking!

@fuzzweed.co.uk I’ve not really looked into it, but the PlusD/DISCiple interfaces page themselves in on the interrupt. (Not sure of the exact trigger). So it still fires at 50Hz but they’re able to use a custom handler by paging in their own ROM to service it. Maybe you could mod your MIDI board to do the same??

@fuzzweed.co.uk The interrupt routine just calls the keyboard routine, and increments the FRAMES counter. You could do those in your routine instead if you want. Keyboard routine is CALL $02BF if you want to call it directly.

(You could just do an RST $31 but that will also re-enable interrupts with an EI).

@fuzzweed.co.uk I think that’s what IM2 is meant to do. The device identifies itself on the bus, and the programmer sets up their handler at the appropriate vector. The usual 257 byte table is just a Speccy hack to be able to use IM2 at all. Each vector could be a separate device handler.

@fuzzweed.co.uk More here, but the answer seems to be “not much”!

spectrumcomputing.co.uk/forums/viewt…

@fuzzweed.co.uk The only one I’ve heard of that might is the AMX mouse.

@fuzzweed.co.uk You know what they say; when in doubt chuck some raw byte values at the display file!

My $dayjob is 99% just doing console.log() and my hobby mainly consists of LD (0x4000),A

@fuzzweed.co.uk 🚨 🔊 🙌

@fuzzweed.co.uk Heh, you migt like this then. I found it while digging through some Spectrum deep lore on Usenet the other week.

@sonicyoda.bsky.social I first discovered Mahjong on a Spectrum cover tape and it might well be one of mine

@samcoupe.com How did it go? Are you there again today?

@doginatank.bsky.social Brings a whole new meaning to “double jewels”. Lets hope the sprocket holes will be positioned just-so to save our blushes.

@der-kleine-drache.bsky.social I think for MFM the flux transitions are continuous around the track, but there are “gap bytes” and “sync bytes” that are there to allow for timing variations among different drives.

@markfixesstuff.com Aye, and paging 32K chunks feels awkward, but u get used to it! External RAM is not contended, that’s quite interesting, internal depends on the screen mode. “Speccy” Mode 1 is slowest, full colour mode 4 is still a lot of data to move around. Mode 2 (similar to Next Layer 1,3) is a good compromise.

@der-kleine-drache.bsky.social Ah, no I don’t think so. Come to think of it I usually just export it to eDSK image and let the emulator figure it out! You could probably make a guess based on sectors per track though? 9 for ST and PC, 10 for CPM or general Shugart systems, 11 for Amiga (22 for HD disks), etc etc.