HN user

becurious

148 karma
Posts0
Comments72
View on HN
No posts found.

It’s a Spectrum. You’re going to do a HALT to sync with the start of the frame and then cycle count to prevent tearing. You can disable interrupts if you know how long you have to render your frame before the beam catches you (or let it pass then start rendering).

If I remember from poking around at the 16 bit version in that timeframe (1.52?) there was still an option to generate P-code and (this is now nearly thirty years ago) that was used by Excel to minimize code size for the segmented 16 bit systems.

After Visual C++ 6. They broke a lot of the C++ IDE features and they weren’t as good as the prior versions (dialog editor etc) so for a long time we preferred staying on 6. I think if we could have the newer compilers but the snappiness of that UI many developers would be happy.

It’s also a product of the segmentation of the developer tools in Microsoft. The Windows team was responsible for the compiler rather than the Developer Tools team.

And then there’s the apex sex in The Player Of Games.

I think at least Excession has one of the protagonists transition at the end of the novel.

It’s not only that but it’s also that drivers could ship custom property pages in an accompanying DLL. All using property page / dialog box classic Win32 technology.

So unless you have a locked down device like a phone, you can’t magically port everything over to a new settings app without providing a path for your ISV / IHV ecosystem to migrate to on timelines that are sensible for the business. And ‘drivers’ consists of way more than hardware devices: database access drivers etc etc.

Part of me wonders if an AI model couldn’t just sandbox the old UI and inspect it, and then auto map to a new settings style AI.

Good luck getting that through a regulated company’s Quality Management System or their legal department. Way too much business risk and the last thing you want is a yellow or red flag to an inspector who can stop ship on your product until all the recall and remediation is done.

But Apple doesn’t have the industrial and commercial uses that Linux and Windows have. Where you can’t suddenly switch out to a new architecture without massive amounts of validation costs.

At my previous job they used to use Macs to control scientific instrumentation that needed a data acquisition card. Eventually most of the newer product lines moved over to Windows but one that was used in a validated FDA regulated environment stayed on the Mac. Over time supporting that got harder and harder: they managed through the PowerPC to Intel transition but eventually the Macs with PCIe slots went away. I think they looked at putting the PCIe card in a Thunderbolt enclosure. But the bigger problem is guaranteeing supply of a specific computer for a reasonable amount of time. Very difficult to do these days with Macs.

Along with the reasons others have mentioned, it would also bypass any filter driver in the file system stack (Windows has the concept of a stack of filter drivers that can sit in front of the file system or hardware) and would also ignore any permissions (ACLs) on who can see those files. There’s no way they can credibly use this technique outside of say something from SysInternals: it violates the security and layering of the operating system and its APIs.

There was some game (and I think a program in a book) where the border color would be changed at a specific scan line to get a horizon that would span the entire screen.

I pretty much knew all the clock cycle counts for the instructions as a teenager, and you would code assembler with them always in mind.

Cycle counting was key on the Spectrum - for obvious things like the tape load routines but also for advanced techniques like the ‘Rainbow processor’ - updating the attribute bytes (those responsible for the infamous color clash) as each scan line progressed you could get different colors on each scan line.

That’s great! Back in the day I’d have to take a snapshot with my +D and then disassemble parts of it and print them on my dot matrix printer. At least the HiSoft Devpac Mons debugger was relocatable so you could move it around to get out of the way of the code you wanted to look at. Which then became a target of curiosity for how the relocation code worked :)

There is something like a 171 clock cycle delay in the regular tape loaded routine between looking for edge transitions in the audio signal. You just break your program up into pieces that fits into that. I did one that did a countdown timer and broke it into exactly the loop delay but I suspect the tape loading would be tolerant to a little more inexactness.

It didn’t used to be this way. Books would ship in a tight fitting corrugated cardboard package that would protect them. I suspect it was some kind of custom packing machine that would fold and cut to size.

Now it’s either in a padded envelope - still space for the book to move around - or it’s in a box with whatever else.

Creased covers, ragged corners, torn dust jackets… It’s awful if you want to give a book as a gift.

DevDiv vs WinDev. The Windows group maintains the C++ compiler. So you get the resource editor for dialog templates and that’s about it. And that actually got worse from Visual Studio .NET onwards, my guess is that it got took over by the DevDiv people when they unified the IDEs.

Thanks! I remember that cover now! The article has both the hex and the asm listing. I think I did an update to it to use the bank switched memory on the 128K to get 8 16K Spectrums.

Of course with something like a MGT +D with the 8K ROM and 8K SRAM it would have been possible to use the NMI button to switch between two 48K Spectrums on a 128K and have them run a game in one and BASIC in the other.

There was a program called Switcha published as a listing in Your Sinclair. You could make a 48K Sinclair Spectrum appear as three 16K machines. It installed an interrupt mode 2 handler and checked for a key combination to swap out the lower 16K of RAM. No reason it couldn’t have time sliced them.