It is the 1706th of March 2020 (aka the 31st of October 2024)
You are 3.17.162.32,
pleased to meet you!
mailto:blog-at-heyrick-dot-eu
Microwave microcontroller
In order to see what sort of microcontroller might be within my microwave oven, I downloaded various service manuals for different styles of digital microwave, as mine doesn't seem to have an available service manual.
It is a red "retro style" digital microwave branded "Telefunken". It seems that in the UK, they were sold in Argos with the branding "Swan" (model SM22030). I wonder who actually produced these things?
Anyway, while several microwaves used undocumented ICs such as the Panasonic MN69F009 series, while others used barely-documented ICs such as the Toshiba TMP87CxxU which is an 8 bit CMOS processor with 412 instructions that can execute instructions in 0.5µS at 8MHz or 122µS at 32.768kHz; 6 external interrupts; a bunch of I/O pins (including 20mA capable for driving LEDs, PWN, serial, ADC...); as well as various timers and counters.
Pretty standard sort of thing for a microwave.
If you think about it, you need a door sensor. Possibly another door sensor to defeat children playing with a spoon, but they may just be wired in series. An output to turn on the magnetron, and a bunch of I/O to the buttons/knobs as well as to the display.
There are three separate AC controls, two switched by either triacs or transistors, and one by a chunky relay.
The light - this is on when the microwave is running, and when the door is open.
The platter and fan - these are on when the microwave is running.
The magnetron (via relay). This is separate as power control turns it on and off during cooking.
A chip that cropped up a few times is the Hynix GMS81Cxxxx. Now this chip is a little interesting.
Outline of GMS800 series microcontroller (from the Hynix datasheet)
As you can see, it is a similar sort of thing with the expected timers, counters, I/O, and interfaces. As I was able to track down a datasheet, I can add that there is 12K of ROM (mask; OTP option for the 20K ROM version) for the program code and 448 bytes of RAM (including the stack area). The minimum instruction time (a two cycle NOP) is 1µS at 4MHz. The chip itself will work on anything from 1-4.5MHz.
Now why I'm talking about this is that I was looking at the registers - Accumulator, X register, Y register, Stack Pointer, Program Counter (16 bit), Program Status Word... it was all seeming rather familiar.
Then I read the bit about the stack, which said:
The stack can be located at any position within 100H to 1FFH of the internal data memory. The SP is not initialised by hardware, requiring the initial value (the location with which the use of the stack starts) by using the initialization routine. Normally the initial value of "FFH" is used.
Note: The Stack Pointer must be initialized by software because its value is undefined after RESET.
Example: To initialize the SP LDX #0FFH
TXSP ; SP <- FFH
Yes, this is looking very familiar.
Then there's the instruction map.
GMS800 series microcontroller instructions (from the Hynix datasheet)
It's not the same as the 6502, but it is very clearly inspired by it. I'm not sure if this is an original design based upon the 6502, or one of the many 6502-ish devices made by WDC.
Some of the extras in this chip are the ability to use A+Y as a 16 bit value, half-carry flag for nibble operations, the ability to set the special page to be either &000 or &100 (yes, same as the stack!).
There's also the ability to set up a call table in the upper addresses of the ROM, so instead of taking three bytes of code to call, say, &D000, you TCALL 14 and the processor looks up the address at table location 14 and goes to it. Might only save a byte (and lose a bunch of cycles) but this could add up given the fact that you only have either 12K or 20K of ROM.
As is traditional with the 6502, the hardware is memory addressable. The addressing modes are immediate, direct page (same as 6502's zero page but remember it can be moved on this device), absolute, X indexed direct, X indexed direct with auto increment, X indexed direct with offset, Y indexed direct, Y indexed absolute, direct, X indexed indirect, Y indexed indirect, absolute indirect.
Again, asides from slightly different terminology, it's all very familiar isn't it?
I'm not going to go into further detail (Google the datasheet if you're interested), but wouldn't it be cool if the code in my microwave was something roughly 6502ish?
It's quite annoying listening to Rishi Sunak talking about the need for stability and to get the economy back on track. To build growth. I get that he's a new PM, but somebody ought to remind him that he has won no election. Indeed, his fellow cockwombles have been in power for about a decade and a half, so any lack of stability and economic sluggishness is entirely theirs to own. From the madness of Brexit to the indescribable chaos inflicted by Truss' short tenure as PM, not to mention the many years of austerity... Sunak has not inherited a sick sad country from the opposition, his own party has wrecked it all by themselves.
Therefore, sorry Rishi, you're an illegitimate PM installed as a last ditch attempt because nobody else stepped forward to pick up the pieces from the summer disaster, after the guy that won the election got the boot because he was too corrupt even for the Tories.
General Election Now.
Scottish Independence
Did the SNP really expect a court based in London to side with Scotland rather than Westminster? How naïve.
This is just a part of which I said that any separation from England will be made as painful as possible on purpose, mostly out of a mixture of childish spite and a misplaced sense of exceptionalism. Witness the dreadful mess that was the EU Withdrawal Agreement negotiations.
Speaking of which...
Never their fault
...it seems the Brexiteers have finally twigged that the Withdrawal Agreement is awful. Are they going to stand up and say they it's what they get for four years of threatening the EU and talking endlessly about "red lines"?
No, of course not. They're blaming the Remainers who started the negotiations. Because these people, who voted to remain, were trying to sabotage the entire thing. Such as May, the remain voting PM overseeing the negotiations.
The fact that May would tell one thing to the EU while the likes of Johnson and Rees-Mogg would say the exact opposite to Parliament would, of course, have no bearing at all on this.
The fact that the ERG and their cronies took the hardest possible interpretation of the word "leave" (which was, literally, the only word on the referendum other than remain) would have no bearing on this.
The fact that the mostly right wing and highly partisan media would continually push for a harder Brexit ("Enemies of the People", anyone?) would have no bearing on this.
Brexit evolved from a supposedly advisory referendum to a religion the legitimacy of which dare not be questioned, to the point where even Labour isn't brave enough to step up and talk about trying to undo some of the damage.
There are rumours of Sunak looking at the possibility of closer ties with the EU because the customs and immigration situation clearly isn't working for Britain. And before anything is official, the media (mostly owned by foreigners) and the usual MPs are shouting it down. They would rather flush their country down the toilet than admit that their holy grail has been a gigantic false idol. These people are dangerously incompetent and not working for the benefit of the country and its citizens.
General Election Now.
Wet but warm
It's wet and miserable outside, but for the moment it isn't particularly cold - just topping 11°C. This appears to be fairly normal, 2019 even made it to 12.1°C, though last year struggled to make it beyond 5°C.
Wet but warm.
Yesterday it was even just about sunny around noon. So I went and scraped some moss off the driveway, and once that was done, I took a moment to patch up the dam, now that there was water flowing in the stream.
Dammit!
Your comments:
Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.
John, 27th November 2022, 14:55
Is the ragondin gone for good?
Rick, 27th November 2022, 23:03
Nope, they're still around. They seem to like the new grass that I planted. It is nicely trimmed to be about an inch tall. ;) https://youtu.be/0NuBGAjz7QM
John, 28th November 2022, 00:07
I just love to watch them, even if they are the animal equivalent of "weeds". Despite the prevalence of hunting I've seen so much more "nature" in France than I ever did in the UK!
I like lots of genuine weeds as well!
Rick, 28th November 2022, 18:00
Test of "Rick" blocking and accepting.
Rick, 28th November 2022, 21:37
A few years back, one of the neighbours (most likely the farmer) set a bunch of traps along the edge of my pond. So I put on wellies, grabbed the handle of an old broom, and went and sprung every trap before it could claim any furry lives.
French law is weird, so I left the sprung traps there (I'd really like to have tossed them in the metal recycling). They were gone two days later.
I can't do anything about traps on other people's land, unless it's seriously inhumane in which case I'd go to the mayor with a video, but traps on *my* land? Just as well I was at work so never knew who put them there, or I'd tell them exactly which orifice they can insert said traps.
I like seeing them scurry across the driveway when I come home. Usually they've been out on the grassy bit sunbathing. Even when it's cloudy! We coexist just fine.
Yes, they might be carriers of Leptospirosis, but one could say the same for the various mice and rats around, not to mention cows and horses. Just, you know, don't drink water from the stream, or get it on an open wound, or lick the trees, or try making out with the ragondins...you know, obvious basic stuff. 😂
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.