HN Simulatornew | past | comments | lists | submit | flopsamjetsam's commentslogin

I remember seeing ads for the ZX80 in electronics magazines, and losing my mind as a little kid over them. Later on I did an electronics class as a teenager, and the tutor brought in his ZX80. It was amazing to see it in the flesh.

Later on, my friend's older brother had a Spectrum. All the local magazines had photos of the games, and it was incredible to play them and see them "for real". The rubber keyboard with pre-programmed BASIC keywords, later on a full-sized keyboard and some kind of expansion pack (with disk drives I think?). And his older brother showing me how crazy the memory layout for graphics was. Good times.


I certainly find that now, going back to uni. In a couple of subjects we get the option to prepare a cheat sheet, and I would say I actually look at less than 10% of it. The act of preparing it forces me to revise, and internalise the facts and ideas.

https://codeberg.org/TechPaula/LT6502b

Specs:

* 65C02 running at 10MHz

* 46KByte of user RAM

* EhBASIC 22p2 with custom extensions

* eWOZMON

* Compact Flash for storage

* Built in battery (7400mAh currently)

* USB-PD Rechargable

* 10.1" Screen with 1024x600 and 256 colours

* WiFi Modem (based on this - https://github.com/dhansel/WifiModem)

* nanoSwinSID for sound (as well as beeps)


"Let's see if it looks cool. It's very important that it looks cool!"

Turns out it looks awesome. I wasn't expecting such a striking design.


Interesting spec. Why go for 48K of RAM and not at least 64K (the full address space without paging)?

Back in the day 48K got used as a way of binning in the ZX Spectrum (Z80 based) to make use of cheap "bad" memory. Surely RAM prices aren't that crazy now? :P


Wouldn't this be because the ROM is taking up address space and they don't have bank switching? One of the future goals is to copy the ROM and RAM and switch it out of the address space.

That's how it was on the Spectrum, at least - it had 64k of RAM but the bottom 16K was permanently mapped to the ROM[0].

Might have been interesting if they'd allowed you to page out the ROM to access the extra 16K - load a small routine from tape that contains your own tape loading routine, swap out the ROM, load the rest of your app, bob's your uncle. Would have needed some shenanigans to swap in the ROM on reset, obvs.

[0] http://www.breakintoprogram.co.uk/hardware/computers/zx-spec...


This was exactly one of the many hardware projects that were published in the spanish magazine microhobby.

Long story short: it added 16K of RAM that was mapped at 0, and allowed both manual control with buttons or software control via a port to decide if it is mapped only for writes or it is mapped for both reads and writes.

https://microhobby.speccy.cz/mhf/103/MH103_20.jpg https://microhobby.speccy.cz/mhf/103/MH103_21.jpg https://microhobby.speccy.cz/mhf/103/MH103_22.jpg

https://microhobby.speccy.cz/mhf/104/MH104_22.jpg https://microhobby.speccy.cz/mhf/104/MH104_23.jpg https://microhobby.speccy.cz/mhf/104/MH104_24.jpg


My understanding was that Sinclare got to 48K using 8× 4116 + 8× 4532 chips where the 4532 was basically a 64K-bit 4164 where only half the chip worked.

> One of the future goals is to copy the ROM and RAM and switch it out of the address space.

Like the BBC Micro Sideways RAM system? Nice.

https://en.wikipedia.org/wiki/Sideways_address_space


It's a 25% cut on the cost of RAM!

I'm trying to figure out the video part, there is a demo screen that is showing pretty high res in color, and this says 1024x600 and 256 colours- that is mighty impressive for a 6502, that is driving way more pixels that I ever saw in that era, so I was expecting there was some other chip being used as a screen buffer and graphics chip...

but it looks like the LCD has to be bit banged by the CPU data bus directly? I see the 8 bit data bus is going straight to the LCD thru a buffer IC.

I don't see where in the memory map there would even be enough space for a screen buffer that large to be located, so I take it you have to write you own graphics handling yourself and pick a spot in memory for it all?


It seems based on previous entries that the display connector goes to a smart LCD controller, RA8889: https://www.maddox.pro/?p=429

A description (from https://www.raio.com.tw/en/RA8889.html):

> RA8889 is a low power TFT controller with powerful display functions and build-in internal SDRAM memory. In order to quickly refresh the screen content with the display memory, RA8889 provides not only parallel, 8080/6800 8/16-bit MCU interface, but also 3/4 wire SPI and IIC serial interface. Plenty powerful functions are provides from RA8889, such as multiple display buffers, Picture-in-Picture, transparency control, display with rotation & mirror, and build-in JPEG and AVI decoder.


I wondered the same thing, and it looks like it uses this CMOS-compatible high level TFT driver: https://www.raio.com.tw/en/RA8889.html with a character generator, geometry primitives, etc.

> this says 1024x600 and 256 colours

> I don't see where in the memory map there would even be enough space for a screen buffer that large to be located

1024 × 600 with 256 colours is 600 kB. Even in monochrome, it would be over 64 kB.

> but it looks like the LCD has to be bit banged by the CPU data bus directly?

Even at 20 Hz, that would involve writing over a ten million pixels per second, giving you about 1 CPU cycle per pixel ⇒ there’s no way to do that with this CPU.


The modern WDC 65C02 is also way faster (up to 14MHz in the right conditions) than other 6502s of the era (usually 1-2MHz).

These sorts of project should be using the 68000 or the 65816 which both give a 24 bit address bus. Meaning they get 16 MB of address space to work with. They can make directly addressable frame buffers at high resolutions and reasonable color depths, and still have lots of memory available for programs and data.

At that point you may as well go for a RISC-V or ARM microcontroller.

I'm guessing that that is just the spec for the hardware, not what the machine can actually use.

Man it's been a while since I heard about EhBASIC.

Brings back to mind the old IBM 3270 terminal status line (everything old is new again :). Actually think this is quite a good idea.


> Actually think this is quite a good idea.

That's what I thought in the beginning. Once I read the spec to the end, it's clear to me that it's overly specific to one use-case — TUI AI agents.

E.g. `kind := permission | question | auth` doesn't make much sense anywhere outside of that use case. The list goes on...

I also found comms around it super muddy, AI agent use case is mentioned but deceivingly watered down with other use-cases.

Overall, that spec is no where close to Kitty/Kovid's level. It's super sad, since mitchellh's work is usually super high quality.

I hope the community will push back and the spec will get better.


Let's say I'm upgrading a large software enterprise application. I start the upgrade process. After 5 minutes, the process determines that the upgrade will require an extra 1.5GB of storage and asks me if I would like to continue with the upgrade. After 15 minutes, I'm presented with a username / password prompt to enter credentials to retrieve a package from an external resource needed for the upgrade. After another 5 minutes, the upgrade process has detected that there are a number of derelict files detected and asks for permission to remove these files.


Isn’t that why the bell is for?


A cli asking for a password is a pretty normal thing, I think?


As a frequent internal tool writer, I’d say it’s a fact of life but an undesirable one. I’m always trying to avoid pausing for credentials in the middle of a run, either by doing them right at the beginning or by using some sort of durable credentials system like ssh keys.

There’s always two people at every company who refuse to set up auth automation though, so you end up handling it. They are very stubborn. Even when it trips them up in front of observers while executing an urgent task, I’ve only occasionally convinced them to agree to set up trust instead of typing a password every single time.

Which is to say, I have to support password prompts even though they drive me up the wall.


Yes, but a CLI can ask for literally anything. We'll end up adding things there and with a zoo of hard-to-support implementation of that _protocol_.

CLI can also _blank_, do we want to support it as well?


It's a product of the scope limited interface granted to agents. They get a terminal stream so everything goes into the stream. Piling on more in-band signaling is just going to become a security nightmare. It would be better to have a safe way to query process state that can be locked down as needed.


As someone who works on a lot of CLI tools at work I actually like the idea of implementing this in some of our long-running tooling, completely independent of the AI agent use case.

I actually created a separate golang library with something like this in mind: https://github.com/danudey/ansipants

The original idea I had being that CI environments, or anywhere that shows terminal output, could use a streaming ANSI parsing library to detect when a program sent a 'change window title' OSC event and then start a new collapsable section in its output. This would let programs update the actual terminal window title with its current state when running locally and update the CI interface when running in CI.

Adding in the ability to specify the program's current status and (optionally) progress could be extremely useful in CI environments as well. Imagine, for example, a long-running analysis task which uses OSC 7501 to say that it's currently running and is 75% of the way done. CI could expose that in the UI to provide useful information to the end-user without having to print a progress bar or multiple progress lines to the fake terminal it's being run in.



long-running analysis task can use osc9;4 for progress reporting

spec: https://ghostty.org/docs/vt/osc/conemu


yeah i'm not really sure how/why this is so so different?



Neither is open access. A sad state of affair in 2026



I sometimes use the AI prompt to do a similar thing: I'm struggling with a problem, or putting my ideas down in a coherent manner, so I write a prompt, and in doing so the idea crystallises for me. I've tried doing this just in a text editor, but there's something about having the next action be "submit this to X" that clicks my brain into higher gear.

I suppose it's very similar to drafting a letter or an email to someone.


My pet project in those days was writing a C++ X-Windows gui toolkit, and I took a lot of inspiration from Tk. Both design, and "how do I do this" from the source code were invaluable.

Didn't Cisco use Tcl in one of their IOSes? Found it: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ios_tcl/co...


Yes the legacy Cisco IOS had a Tcl interpreter built in, you can drop in to the repl with the tclsh command. The command is still there on newer Linux based IOS versions


Do you find it a big improvement over the tools you used previously?


It's honestly harder - you have to do a lot of extra work to ensure your work is traceable. It's super fast in doing things you have no overview of - it makes pretty figures, it runs command line jobs etc. and I'm sure there are mistakes in there. For now I'm pretending Claude Science is an IDE, like Positron/VSCode, and I have to keep enforcing proper git usage etc. so I can reproduce this work

Edit: compared to my tools before, it generally uses the same tools in the same way, just 20x faster than me and I mostly struggle to keep up and verify what it's doing


Sounds exactly like Claude Code (and ilk) tbh. Just a lot of the stakes are lower and a lot of people are more comfortable with it (e.g. there were always people blindly copying and lasting from StackOverflow) I suppose.


>copying and lasting


> have to keep enforcing proper git usage etc. so I can reproduce this work

Depending on what you mean here, it might be worth looking at jj, which works with git repositories. One of the features is that everything gets committed at change time (kind of) which may or may not be helpful to you here.


always add rules for it to never touch git besides git log. you do the commits. make reviews so much easier


For CS students I agree. For non-CS students, who need programming as a way to use computers as a tool, I think they do need a solid understanding of what a computer does and what it's limitations are (and what it's capable of), but for their day jobs (once they graduate), they will most likely be getting AI to do everything for them. As long as they can reason about what's happening, to understand the results and to improve them, this seems likely to be the path in the future.


Some unis have: https://programsandcourses.anu.edu.au/2027/course/COMP1730

This is an introductory programming course, designed for non-CS students e.g. engineers and scientists.

> Learning outcomes

> 2. Explain key concepts in AI-assisted programming, including Large Language Models (LLMs), prompting, problem decomposition, and top-down design.

> 3. Apply the workflow of AI-assisted programming and prompt-engineering techniques to guide and improve code generated by AI assistants.

This course used to be non-AI (last year), and they rewrote recently to incorporate AI tools, as they realised the writing's on the wall for non-programmers.

It must be quite challenging to write curriculum when the underlying technology (AI) is changing so quickly.


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: