frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

How the Final Cartridge III Freezer Works

https://www.pagetable.com/?p=1810
68•ingve•16h ago

Comments

michalpleban•13h ago
One important detail the article omits: it is possible for the software running on the Commodore 64 to prevent being "frozen" by this technique. Because the processor needs the NMI interrupt to run the freeze routine, the software can pre-empt it by pulling down the NMI line on its own. This can be done using the second CIA I/O chip, whose interrupt output pin is connected to the NMI line. By making the CIA chip generate the NMI and never acknowledging it, the software will ensure that the NMI line is always pulled low and the freezer will not work.
WJW•13h ago
That's a clever trick, but giving up all the useful types of NMIs seems like a steep price to pay.
michalpleban•13h ago
Commodore 64 software hardly ever uses the NMI interrupt, because there is also the maskable IRQ interrupt which can be generated by the first CIA chip, and also, unlike NMI, by the video chip VIC for the raster interrupt. It is also much more useful because it is maskable - the software can temporarily turn it off when it is not desirable to be interrupted. The only thing the NMI can do that IRQ cannot is detecting that the Restore key was pressed, but that is seldom useful.
fernirello•8h ago
Clarification question, having read OP yet having missed some fine details: I presume you mean that software could set some CIA-II register to keep the NMI line to the CPU down indefinitely. Since what triggers the handling of an NMI is the transition from high to low, that means no other handler (in particular the Freeze Frame's) would get executed. And one'd also need to redirect the NMI vector, which normally is in Kernel ROM, to a dummy handler consisting of an RTI or little more. Correct?
michalpleban•2h ago
Yes, that's absolutely correct
fernirello•1h ago
Thank you!
michalpleban•4m ago
An addendum: the way you would program the CIA registers to pull the NMI low would most likely be to set up one of its timers on a very short count period (IIRC four system clock cycles is the lowest the chip can do) and make it generate the underflow interrupt. The chip holds the interrupt line low until you acknowledge the interrupt by reading the interrupt source register. If you never get to read it, the interrupt line stays low forever.
predictsoft•12h ago
I love how the Action Replay FLOPPY disk for Amiga 1200 loads into the high 1MB RAM space. No need for hardware. (note: Amiga 1200 has 2MB RAM by default).
daitangio•12h ago
Very interesting. I was m always amazed by the code complexity behind C/64. Also, all this logic was squeezed in so few bytes!
classichasclass•12h ago
I liked the interface of the FC3, but I always seemed to have trouble with it on NTSC systems, likely the fastloader. I ended up using ICEPIC or Super Snapshot most of the time instead.
michalpleban•12h ago
I always found Action Replay to be superior and easier to use than Final Cartridge.
TMWNN•10h ago
I presume that the lack of an Ultimax-style bypass is why, as I understand it, there are no freezer cartridges for Atari 8-bit. (The piracy problem was just as bad, however, because of Happy Computers <https://en.wikipedia.org/wiki/Happy_drives>.)

On the other hand, Atari 8-bit's design allows for FujiNet to work without the workarounds/disadvantages a Commodore equivalent would have. <https://news.ycombinator.com/item?id=37424773>

spacedcowboy•10h ago
There were freezer's for the Atari line. They plugged into the parallel bus IIRC.

I never owned one, I only know because I've just spent the last 3 or 4 days putting together a site to browse my mirror of pigwa.net (the Atari software archive site), and I happened to be using the 'Projects' directory for my testing.

If you:

1) go to http://atari-archive.net/

2) Double-click the 'Cloud drive' icon to open the window

3) Double-click on 'Projects', then 'Turbo Freezer 2005 & 2011' [1]

You can see the project, including a PDF of English documentation in the turbo-freezer-2011 subfolder.

[1] The icon isn't wide enough for the entire filename but it's obvious what's what. There's an 'As list' mode if it bothers you :)

I think the Atari version uses the /IRQ on the parallel bus, I know you can do some funky stuff with that - like take over the bus from the CPU (by keeping it in halt) and as long as you respect Antic's bus cycles (the true master of the "cpu" bus) you can read/write to RAM and do whatever you want.

sfjailbird•8h ago
I had forgotten what a big deal 'freezer' cartridges were on the C64!

A friend's uncle manufactured these himself using an EPROM burner and God knows where he got the casings, and sold them to us kids. Worked great. I had no idea about the amount of hacking that went into making them work.

erwincoumans•4h ago
Those were fun times. A friend had a Power Cartridge and I reverse engineered it and re-implemented its features in the programmable Expert Express cartridge, using assembly language. It could also save/restore games, turbo loader and screenshots.

The Art of Lisp and Writing

https://www.dreamsongs.com/ArtOfLisp.html
16•Bogdanp•1h ago•3 comments

Q-learning is not yet scalable

https://seohong.me/blog/q-learning-is-not-yet-scalable/
114•jxmorris12•8h ago•19 comments

Infinite Grid of Resistors

https://www.mathpages.com/home/kmath668/kmath668.htm
154•niklasbuschmann•10h ago•62 comments

I have reimplemented Stable Diffusion 3.5 from scratch in pure PyTorch

https://github.com/yousef-rafat/miniDiffusion
405•yousef_g•19h ago•69 comments

CI/CD Observability with OpenTelemetry Step by Step Guide

https://signoz.io/blog/cicd-observability-with-opentelemetry/
20•ankit01-oss•3d ago•1 comments

Breaking My Security Assignments

https://www.akpain.net/blog/breaking-secnet-assignments/
38•surprisetalk•2d ago•8 comments

Dance Captcha

https://dance-captcha.vercel.app/
35•edwinarbus•2d ago•8 comments

AMD's AI Future Is Rack Scale 'Helios'

https://morethanmoore.substack.com/p/amds-ai-future-is-rack-scale-helios
71•rbanffy•12h ago•35 comments

The Algebra of an Infinite Grid of Resistors

https://www.mathpages.com/home/kmath669/kmath669.htm
5•gone35•3h ago•0 comments

Chicken Eyeglasses

https://en.wikipedia.org/wiki/Chicken_eyeglasses
101•thomassmith65•4d ago•31 comments

Waymo rides cost more than Uber or Lyft and people are paying anyway

https://techcrunch.com/2025/06/12/waymo-rides-cost-more-than-uber-or-lyft-and-people-are-paying-anyway/
341•achristmascarl•2d ago•593 comments

Solar Orbiter gets world-first views of the Sun's poles

https://www.esa.int/Science_Exploration/Space_Science/Solar_Orbiter/Solar_Orbiter_gets_world-first_views_of_the_Sun_s_poles
220•sohkamyung•3d ago•29 comments

Inside the Apollo “8-Ball” FDAI (Flight Director / Attitude Indicator)

https://www.righto.com/2025/06/inside-apollo-fdai.html
143•zdw•17h ago•26 comments

Have a damaged painting? Restore it in just hours with an AI-generated “mask”

https://news.mit.edu/2025/restoring-damaged-paintings-using-ai-generated-mask-0611
60•WithinReason•2d ago•38 comments

Last fifty years of integer linear programming: Recent practical advances

https://inria.hal.science/hal-04776866v1
193•teleforce•1d ago•60 comments

Bioprospectors mine microbial genomes for antibiotic gold

https://cen.acs.org/pharmaceuticals/drug-discovery/Bioprospectors-mine-microbial-genomes-antibiotic/103/web/2025/06
9•bryanrasmussen•3d ago•1 comments

Fixing the mechanics of my bullet chess

https://jacobbrazeal.wordpress.com/2025/06/14/fixing-the-mechanics-of-my-bullet-chess/
33•tibbar•9h ago•18 comments

Meta-analysis of three different notions of software complexity

https://typesanitizer.com/blog/complexity-definitions.html
14•ingve•1d ago•2 comments

Debunking HDR [video]

https://yedlin.net/DebunkingHDR/index.html
82•plastic3169•3d ago•47 comments

Cray versus Raspberry Pi

https://www.aardvark.co.nz/daily/2025/0611.shtml
97•flyingkiwi44•4d ago•76 comments

Endometriosis is an interesting disease

https://www.owlposting.com/p/endometriosis-is-an-incredibly-interesting
346•crescit_eundo•1d ago•237 comments

Unsupervised Elicitation of Language Models

https://arxiv.org/abs/2506.10139
126•kordlessagain•20h ago•18 comments

Seven replies to the viral Apple reasoning paper and why they fall short

https://garymarcus.substack.com/p/seven-replies-to-the-viral-apple
285•spwestwood•13h ago•212 comments

SIMD-friendly algorithms for substring searching (2016)

http://0x80.pl/notesen/2016-11-28-simd-strfind.html
210•Rendello•1d ago•32 comments

The Many Sides of Erik Satie

https://thereader.mitpress.mit.edu/the-many-sides-of-erik-satie/
144•anarbadalov•6d ago•32 comments

How to Build Conscious Machines

https://osf.io/preprints/thesiscommons/wehmg_v1
77•hardmaru•22h ago•76 comments

Wrong ways to use the databases, when the pendulum swung too far

https://www.luu.io/posts/2025-database-pendulum
79•luuio•2d ago•51 comments

TimeGuessr

https://timeguessr.com/
289•stefanpie•5d ago•58 comments

Clinical knowledge in LLMs does not translate to human interactions

https://arxiv.org/pdf/2504.18919
81•insistent•10h ago•32 comments

Sperm are very different from all other cells

https://www.bbc.com/future/article/20250613-untangling-the-mysteries-of-what-we-dont-know-about-sperm
48•viewtransform•7h ago•35 comments