Incidentally, apropos onboard assemblies, in my retro collection I have a Commodore PC running an ancient DOS, and it is unique because of two reasons: it has DEBUG.com, and .. the machine is infected with one of the very early viruses of the era.
So, if you know the right path to take on boot, you can get the virus to infect things, under the debugger, and see it in action.
DEBUG.com was for me, a complete boon of a tool, so to speak, back in the day. It was just enough assembler/debugger to be able to do very effective things.
Anyway, Z80 REPL is delightful, I want a 6502 REPL now, and can't stop thinking about how to get one on the Atmos..
There was another downside, that the Applesoft BASIC license gave Microsoft a hostage which they later used to kill https://en.wikipedia.org/wiki/MacBASIC. Hard to tell how much it mattered that the Mac came with no user programmability, which had been expected for PCs till then.
With that said, I love the idea.
> ld c,20h
0E 20 (7 cycles)
> ld c,20h [<-- trailing space here]
0E 20 (7 cycles)
> nop
00 (4 cycles)
> nop [<-- trailing space here]
unknown instruction: nop
I also wish I could select from the completion list with Tab without typing more of the instruction, fish-style. I.e., you press Tab to go through completion 1, completion 2, ..., completion N, completion 1 again with Enter to confirm your pick. ~/exorsim$ exor -d
% a 1000
1000: start bra skip
1002: nop
1003: nop
1004: skip ldx #10
Offset at 1001 set to 02
1007: loop dex
1008: nop
1009: bne loop
100b: rts
100c:
% sy
1007 loop
1004 skip
1000 start
% u 1000
1000: 20 02 BRA $1004
1002: 01 NOP
1003: 01 NOP
1004: CE 00 0A LDX #$000A
1007: 09 DEX
1008: 01 NOP
1009: 26 FC BNE $1007
100B: 39 RTS
What would be even better: "a" brings up a built-in mini-editor. When you exit, the code is assembled.[dead]
[dead]
[deleted]
(These are yet more examples of situations where, if I'd had a mentor, I think I would have gone much further at a younger age.)
In any case, Apple II simulators might be one way you can take another look at the subject, with wiser old eyes.
My "white whale" machine was the Laser 128. A friend had one and I enjoyed using it. He'd bring it over to my house and hook it up to the TV. Having a portable computer in the late 80s, even if it wasn't battery powered and didn't have a screen, was pretty cool. I wish I'd bought it from him when he moved to PCs and sold it but at the time I didn't realize it was a good find. It's a bit like the IIc but, I'd argue, is overall a better machine.
I started using the Apple IIe when I was 8 y/o. I started with playing games and programming in Applesoft BASIC, and eventually got to the point of doing rudimentary 6502 assembler programming (mainly modifying programs from magazines). I left the platform at 12 y/o when my father bought a PC.
When I was 14 y/o I scored a copy of the venerable "Inside the Apple IIe" cheap. I spent part of summer vacation really digging-in to the machine. I didn't have a IIe at home so I spent a lot of that summer in the public library using the old IIe machines. They were long-in-the-tooth at that point and no other patrons used them anymore. I got as much time as I wanted on them because of that. It was a fun contrast to the 1 hour / day limit each person got back when I started using them. I could come in when the library opened and spend all day there grinding away.
I feel fortunate having come back to the platform with a broader exposure to programming and while I still had the energy and exuberance of a teenager. I understood a lot more about what was going on and I was willing to grind thru tedium. I had a lot of fun playing w/ double-hires graphics, digitizing audio via the cassette interface, and doing some rudimentary software cracking. It was a fun time.