upvote
Much nostalgia. The TI-83 Z80 was how I learned assembly as a teenager, so I could write better calculator games than was possible with TI Basic. Many others here had a similar experience, I’m sure. It’s been a couple decades, but I’m sure I’d still remember most of it if you put me down in front of a bunch of Z80 asm code.

One thing that I remember vividly was you had no MUL or DIV, so you have to implement them yourself with shifts, adds, subtraction, etc. This was an extremely useful learning experience

reply
Same story here (basic was too slow for a phoenix/movable-ship-shooter game).

Do you think you could remember most of Z80 ASM? I looked at some old ASM I wrote long ago, and it's hard to follow the logic of the program, since most lines are messing around with the registers. But basics like 'ld hl,xyz' and 'jp/jnz' still make sense.

reply
> Do you think you could remember most of Z80 ASM?

I find when you learn things at 15 they tend to stick around. (Stuff I learned last week, not so much!) Even just looking at your example, I remembered that HL is a 16 bit register and you can split it into two 8 bit registers H and L if you want. I think most of it would come back; I wrote quite a lot of it, both for the TI-83 and later for a Z80 that I bought and put on a breadboard and wired up to some RAM and EEPROM, about as bare metal as it gets.

> most lines are messing around with the registers

Isn’t that just the nature of assembly? :)

reply
Fun memory trip. Learned assembly on those old Z80s in middle school. I had to go re-dig up SafeGuard, a program I made by reverse engineering TI's TestGuard, to stop admins from wiping your calculator memory and all your games! https://mikeknoop.com/upload/safeguard/
reply
>cemetech

>Kerm Martian

There's some names I haven't heard in a while :)

reply
It's kind of weirdly comforting to see Kerm is still passionate about calculators after all these years, isn't it?
reply
Does this mean uncle worm won’t run on it out of the box? A tragedy
reply
Real shame since cortex has a admin TrustZone processor that is licensed to special interests only. For the educational market, this "security" is a selling point. It guarantees that a student isn't running unauthorized code or "cheating" apps. It also likely allows OTA auditing of the classroom's state.
reply
> Real shame since cortex has a admin TrustZone processor that is licensed to special interests only.

This is substantially inaccurate.

1) Not all ARM Cortex series CPUs have TrustZone. It is absent on many Cortex-M microcontrollers, for example.

2) TrustZone is an operating mode of the CPU, not an "admin processor". Depending on the part, it is often made accessible to developers. (Whether that includes third-party software developers is, of course, up to the device manufacturer.)

For more information, see:

https://developer.arm.com/documentation/100690/0200/ARM-Trus...

reply
There’s a discussion to be had on the absolutism of technology for decisions or security, and the slow erosion of a certain intangible “discretionary” element in day-to-day life.
reply
Any secure boot design can achieve that, you don't need TrustZone to do that
reply
What prevents a motivated cheater from swapping out the processor entirely?
reply
deleted
reply
The effort.
reply
And the cost, and the parents.
reply
One-shotted with Claude Code. Chef kiss.
reply
deleted
reply