#hotkeyemu — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #hotkeyemu, aggregated by home.social.
-
I don't have enough dangling/abandoned branches for my emulator, I should start a few more.
-
If anyone is wondering why: The Mac 128k needs raw quadrature encoder data from the mouse (half on the SCC serial controller and half on the VIA which sucks because I had to partially implement the SCC just for that).
Raw quadrature data gives you a "one step up/down/left/right" signal.
But the mouse deltas I get can be "5 up 3 left" so I have to convert that into one "pixel" deltas like up up up left etc.
So I use the algorithm to break down the deltas into units -
So long story short, after changing the 3 to a 7 and cursing like a sailor....
Yeah.
-
The real MVP here is "Apple 400k Floppy Disk Drive - 6990285A.pdf", without it I'd be there for months.
(ok Mac Almanac II.txt and apple2_IWM_Spec_Rev19_1982.pdf helped too! And probably four other documents!)Thank god they gave the checksum algorithm (I need it to encode the floppy image to a format digestible by the computer)
-
Im in ur virtual floppy, reading your boot sectorz (and calculating your checksumz)
-
Well my fake Mac 128k is able to read a fake sector header on my fake floppy drive spinning a fake disk at the proper (variable) fake speed. :meow_bongo_keyboard:
PROGRESS!
-
@grum999 Yes, I need to enable different memory configurations. Here's what I found in a manuel technique (see image). So 8+16KB ram or even more on the modèle two.
Still need to figure out the light pen, it's a bit different on this one.
Then maybe I'll do the "musique et jeux" extension since I already have the sound chip and it adds joystick support too.
LOGO was fun for a while as a kid. Great way to introduce kids to programming. You can have functions and everything.
-
The Thomson TO7 came before the MO5. Whereas the MO5 had a gate array for video, the first TO7s did it all with discrete logic.
Also two IO chips, why? Well, they wanted a timer (for flashing the cursor and tape IO).
They also needed extra ROM because the OS didn't fit in 4KB.The MC6846 PIO chip has 2KB of ROM. It was designed for "2-chip computers" e.g. CPU + MC6846 (ROM + IO + Timer)
So 6KB ROM. Not enough for BASIC. So put it on a cartridge.
Or how about LOGO? -
Welp I guess that's a milestone. I'm going to celebrate by... going to bed.
Good night peeps!
(yes the colours are wrong. There's next to nothing working right at the moment, give me a break! :meow_bongo_keyboard: )
-
Crap, there's another IO/timer chip.
Oh, fun! A rare io chip with next to no technical documentation.
Well, forget about it.I mean I'm doing this for fun.
Ok, I found a bit of info here and there.
Maybe even enough to implement it.Would be a lot of work for only this computer.
But I've done IO and timers before.
They're not very fun
But......
Fine, I'll do it.
Shut up brain.2/2
-
Lightpen - check! OK it reacts on black, which it isn't supposed to do (and red too according to the docs). But it'd be surprisingly annoying to fix. I'm not kidding. There are reasons and everything.
Maybe one day. Or not.Maybe I could do the TO7, now? How hard could it be?
*checks docs*
Ok, different memory map, not too bad...
I can reuse some components and the video is very similar.
Keyboard decoding is a bit different.
Sounds doable.1/2
-
I'm no expert, but that looks like a Thomson MO5 running* BASIC on my very own 6809 CPU :meow_party_bounce:
(Yes it beeps annoyingly every time you press a key. Really.)
*no light pen, no tape, no floppy, just BASIC, but still. I think it's neat.
-
@grum999 Here's what's left (mostly in the $10-$1F block)
(plus I have to check the 'illegal' opcodes next, and do a bit of cleanup to remove some duplication)
-
@grum999 Yes, mostly 6809 opcodes. I'm almost done now.
Unfortunately I didn't find a "cpu test" rom for the 6809 like I found for the Z80 and 6502, so I'm going blind - there might be subtle bugs I'll find much later.
I should do unit tests but they take a lot of time and you don't know if the tests are good anyway unless you run the same on a real 6809
I've done minimal code for the MO5 just to have a screen and keyboard.
I'm doing the video "for real" next.
-
Funny thing is I haven't implemented NOP opcode yet (which does nothing), because I go with what the MO5 rom uses and implement as needed.
And the MO5 has not used NOP yet. Maybe it never does.
Yes I know it would take less time to implement the NOP opcode than to write this toot.
Deal with it. :meow_fluffy_deal_with_it:
-
@grum999 Specifically it was the COMPAR subroutine that failed because of a bug in the COMA opcode (complement accumulator).
But I had to understand how it's working to pinpoint where it failed (that's why I explained how the screen is parsed in my first post)
-
Well, that sucked. I spent like 4 hours finding this :meow_angry_intensifies:
Either a copy paste error or most likely I read the datasheet wrong.
Oh well, that's part of the game - moving on...