DocBrowns are finally here, orders will open this Saturday (2022-05-14) at 20:00 CEST. While sending confirmation emails for Rheas I’ve noticed that my email provider is again being blocked/bullied by some sites, no doubt to force me to switch to more “reliable” service. At least this time I got notified of the block, and the offenders are and Keep that in mind if you use those because I ask for Marty serial numbers and if I’m blocked you will not be able to see and answer my request.

And now time for some random photos. I got a new (well, new to me) toy for some 50 EUR shipped:

It’s an M1T 380 multimeter from Metra. In theory it offers 6 and 1/2 digits in VOLTS/AMPS when using rather slow (~2s) HI.RES mode, in reality I might have to mod it to provide better temperature stability (noise doesn’t seem to be a problem, not as far as I can tell – I’d need a modern and calibrated meter of this class to compare with), but the good news is some people already tried that with good results.

As you can see it was made in Czechoslovakia, behind iron curtain. So while the date says December 1988, the inside resembles very late ’70 or early ’80 western electronics. Back in the day we had to work with what was available. And that became very apparent once the meter arrived – there was no power cord and it seems Czechs/Slovaks back then used their own standard of plugs called Typ 5813 – that thing is still made out of bakelite. Wasn’t easy to hunt that down and I didn’t want to replace it with modern IEC socket if I could help it – but I’ve managed to order two NOS plugs from and I made my own cable.

This is a 380.0 model, meaning no external interfaces, something I intend to change. I’d like to have a modern USB, or at least RS232 port (especially since it would offer full control over the instrument). I have a manual and full schematics – it’s all in Czech (which I don’t speak, not to mention all the technical terms) but I get enough of it not to be completly lost.

Seems to be in working order, after some cleaning and fuse replacement. One of the tantalum capacitors died and shorted after a few power-ups, that can happen with the old “teardrop” types. It was a bit annoying the cap in question was a part of the input chopper amp module, it’s a separate black box (no, really, see photos below) on A/D converter board that I had to desolder to even get inside. I’ve seen this entire box being replaced with a single modern OpAmp, might just do that too eventually.

The digital part is based on 8080 clone. Yup, not even 8085 (or Z80, which would be already considered somewhat obsolete in ’88). It’s probably because it’s a clone and was manufactured locally in many eastern bloc states, so much easier to source. There’s 1024 bytes of static NMOS RAM, plus more expensive CMOS RAM (256×4) to store the calibration data. This NVRAM setup uses 3V lithium battery to provide power when the meter is off, and for that you need CMOS tech if the battery is to have any reasonable life time. And get this, the battery on the PCB was manufactured in Western Germany (so even accounting for shelf time, it was installed there sometime in mid-90’s) and still measures over 3V. Yes, it will be replaced eventually.

The ROM is 8KiB (4x 2716 EPROM) and pretty much full. I’ve built a cable to interface with this board and dump the ROM (and calibration data), I’m slowly progressing through the disassembly. I opted to use Z80 mnemonics since I don’t really speak original Intel 8080. And the code, to fit into this space, has some hacks in it, and some bugs too, which doesn’t make it any easier.

The idea is to add the external interface board based on original schematics of that add-on module. There is a dump of the 2KiB external ROM of extra 8080 code for the RS232 board but I’m not sure it will work properly with my FW. I’ve compared it to the v3.6 which is known to work and there some patches in places where the REMOTE function takes over, so that might be a clue I need a FW update first. And removing these 2716 chips is not something I’m looking forward to, these PCBs are extremly fragile. Super easy to rip vias or traces.

So perhaps I should create my own CPU board instead with the RS232 interface already on it, I could fit all of it by using Z80 in place of 8080 (with a few tweaks to the timing-critical code) and modern RAM/EEPROM (or Flash, or even just EPROM) chips. This also saves me from having to work around another Czech-specific socket/plug combo that is unobtainium (that green one near PCB edge) and have just one PCB and some wires to the plug on the back of the unit.

Or, and this is something I’m seriously considering now, do away with Z80, put a modern Cortex-M MCU there. Run either my own code (after I figure out the complete protocol to control A/D board), or the 8080 code in emulator, or a mix of both. I could probably fit all of that in 5V compatible M0 part + MAX232 for the serial port. Or perhaps use M4F with hardware FPU, a few more chips to translate 3V3 to 5V, and code a few more functions like sliding window filter for example.

So anyway, as you can see it works but somebody messed with calibration and it was way off (this should be showing 10.00000V). I’ve already re-calibrated the DC ranges for VOLTS and AMPS, as well as OHMS – and now I’m testing my new toy for temperature and short-term drifts.

UPDATE: DocBrown orders are closed. I will process the orders and send out confirmation emails in 1-2 days, though I can already tell there’s a lot. I probably don’t have enough stock at the moment. I will have more but that will take 2 months or so, I’m planning on doing Wizards next and that takes a lot of my time.

Also Sprach Zarathustra, contd.

Rheas will be available for ordering this Saturday (2022-04-30) at 20:00 CEST, just like last time.

DocBrowns will come next, I already have the PCBs but there’s still some final cleaning, programming and testing to be done – so most likely early to mid-May. As usual I will announce the ordering window at least a few days in advance.

UPDATE: Rhea orders are now accepted closed. I will process the orders and send out confirmation emails in a day or two.

Also Sprach Zarathustra

I had plans for February and March. But there was the another COVID-19 wave and various shipping delays, and now ruskies decided to get genocidal again. No plan survives contact with the enemy as they say.

DocBrowns are still in production but I should have a batch ready in April/May, and then we are going to make some Wizards. Assuming I didn’t make a mistake (and none of the suppliers did either) and we have all the parts now. I might have a batch of Rheas in the meantime as well, these are mostly PCBs that originally failed testing due to soldering issues and have now been fixed.

I also have a small batch of Phoebes that I will most likely sell soon, not sure if this next Saturday or next the one after. Watch the blog I guess, I will announce it at least a few days prior. No GDEMUs yet though – I’m not sure if it’s Intel doing after they gobbled up Altera or what, but the FPGAs I’ve been using are unobtainium. I was considering a HW refresh, with more modern (and capable) parts that were actually cheaper, but it looks like these are gone now too. 50 – 80 weeks for delivery is not a time I’m prepared to wait. So there’s yet another idea, another redesign, but that one exists mostly in my head so far. I would like to try and make some more though, even if it takes another 6 months to finish and test the prototype.

Regarding ordering in general, I will no longer accept orders from or ship to Russia. Not sure if it’s even possible at the moment but I’m not going to hide behind temporary postal restrictions. That decision was mine. For now I’m also suspending shipping to China (including HK), this is due to various lockdowns that cause my packages to be badly delayed, damaged or even lost. I really don’t want to deal with that right now, especially considering already long shipping times and language barrier. So this suspension will stay in place until the situation gets better.

UK customers, be aware that there’s more customs checks taking place now for anything coming from EU, which means you might end up paying some duties or taxes – this should not happen with the declaration stickers I use but who knows. As far as I’m concerned there is no logic in brexit, it’s meant to be chaotic neutral, for better or worse.

Shipping inside EU will work as before, no issues, except it’ll take more time to process your payment (1-2 days or so) because of the changes to VAT rules. No next day shipping, not that I ever promised that but I did try in the past.

And lastly, this Phoebe batch should be unaffected but anything after might see new pricing. Everything is more expensive now – parts, PCBs, shipping costs. That hasn’t been decided yet but it is getting harder to find free time and motivation to keep this going. We’ll see I guess.

UPDATE: To clarify, because the way I wrote it was rather confusing and it’s not an April Fools joke, just me not realizing tomorrow is Saturday as well – Phoebes will be available either next week, or the week after that. I would not announce ordering window merely hours before it would be opening.

UPDATE 2: Phoebe orders will open this Saturday (2022-04-09) at 20:00 CEST to make it more USA friendly.

UPDATE 3: Orders are now accepted closed. Please give me a day or two to process the orders and then I’ll send out confirmation emails.

21st Century Common Man, contd.

Rhea orders will open 2021-10-09 (this Saturday) at 12:00 CEST (noon). In case some unforseen disaster strikes again and I miss it, please come back the next Saturday.

UPDATE: Rhea orders closed.

UPDATE 2: All Rheas have been shipped, and I have a batch of Phoebes almost ready. I will open orders 2021-10-30 (Saturday) at 21:00 CEST (that’s 9pm) to make it a bit more USA friendly.

UPDATE 3: Phoebe orders closed.

21st Century Common Man

Phoebe orders will open this Saturday (2021-07-31) at 12:00 (noon) CEST. It’s not a big batch but last time it was enough for everyone who ordered.

Wizards sent to Japan and South Korea took their sweet time getting there but should be delivered any day now. Something related to Covid or olympics maybe? Vertical connectors will be available very soon and I expect to resume shipping all the remaining units sometime next week.

Dust storm

I have a small batch of GDEMUs ready to go so I’ll open orders this Saturday (2021-07-03) at 20:00 CEST to make it USA-friendly. No family visits planned but then again the previous one wasn’t either…

I’ve managed to test some Wizards so the ones that didn’t need vertical connectors should start shipping next week – watch your PayPal account. In case some of you didn’t get my confirmation email, here’s what the horizontal connector looks like (left), the correct vertical one (right) and what can be done with a knife and pliers to “mod” the horizontal to vertical in a couple minutes (center). You’ll get 3 of those horizontal ones, the extra one is so you have a spare in case the modding somehow goes wrong.

Also in the center there’s the new switch that replaces ODE/CD-ROM jumper, it’s easier to operate though keep in mind it can only be switched when the power is off – that hasn’t changed.

UPDATE: It seems the USA-friendly times are not very lucky. My Saturday turned out very busy but this one is my own fault, I should’ve planned things better. Very sorry about this. Let’s try again today, same time.

Project Time! #6

Things are going slow because of the recent summer heat wave. There should be some nicer weather coming later this week so hopefully I can do a bit more Wizard testing then.

In the meantime, here’s some random photos of one of my projects, I’m not going to comment much on it. Some of you will figure out what this is, the rest probably wouldn’t even be interested anyway.

From my calculations I got a pretty nice 9.2 kHz bandwidth – I could maybe tweak it a bit more to something between 8.5 to 9 but then again I plan on having three of these so it might just be perfect as-is. Plus then I’d have to accept somewhat higher insertion loss, which is now at about -3.0 dB with impendance of 89 kohm or so, that too is decent. Obviously I can always tweak it later as well if it turns out selectivity is poor, I should get enough gain in the amp stages to cope with a bit higher losses.

In general the plan in my head is ECH81 oscillator and mixer (that stage is already semi-tested and works), EF183 first amp, EBF89 second amp and detector (second diode will be AGC detector), ECL86 double-stage audio amp. Plan is for LW and MW only but maybe I’ll add some SW bands too, if I can motivate myself to make more coils. Power supply will be using old, internally-shielded transformer but with modern input filtering, fuses on both sides, and silicon bridge rectifier. I do have selenium one, and good two-section electrolytic cap from the old days, but the problem is the transformer was meant for 220V and now we have 230V so the output voltages are a bit on the high side, just on the limit of both. Not sure if that would be safe long-term and I plan to keep this project as long as there is something out there to listen too (and/or I’m out of replacement tubes).

A Million Miles, contd.

I waited a bit longer with the Wizards to make sure the PCBs will be ready. Some people don’t like it but I prefer to not make empty promises, I’m a bit old fashined that way. There’s tons of projects out there that start with ordering and then never deliver anything in the end.

First things first though, for some reason I got tons of emails these last few days asking me about firmware and other stuff. I did not get a single message the whole previous month, and then my inbox is suddenly full. Weird. I think I’ve replied to all of them by now but some of you use free email hosts that notoriously block me. The worst offenders are Hotmail and – if you are using these, consider alternatives. At least when contacting me and expecting an answer. I’ve never had any issues with Gmail yet (other that getting my confirmation emails marked as spam sometimes) so try that maybe.

Back to Wizards, the first PCBs will go through cleaning this week and then I can start programming and testing them. So I think I’m ready to open preorder for the first batch – this Saturday (2021-06-12) at 20:00 CEST to make it more USA-friendly (since I expect most orders to come from there). This first batch will be small and I have no idea how many orders there will be so for now I’m restricting this ODE to one device per person – this limit should be removed once the initial interest dies down. There will be no requirement to provide serial number, as I’ve explained I expect to sell these to modders rather than individual users – that being said, it you try to game the system and place multiple orders (perhaps from different emails) I will cancel all your orders. Please play nice and let others have a chance to order.

I mentioned we have some issues sourcing parts and Wizard connectors are among those parts. When it looked like we will finally get what we need, the supplier made a mistake and got us wrong type of the 3-pin connectors – horizontal rather than vertical. And as luck would have it, the correct ones just got sold out. So you’ll have an option to wait for the vertical connectors (weeks, though) or I can send you 3 of the horizontal ones and these can be, with some tweaking, made to be vertical. Or you can just use them as-is or even solder the wires directly, whatever suits you. Oh and I don’t think I have to mention this but the replacement batteries are not included due to restrictions on air shipping and lithium in general. You’ll need to source CR2430 and CR2450 cells locally – if you want to replace the original pack, these are optional.

The pricing – 150 EUR, for now, I still haven’t fully figured out how to best ship those. Boxes would be preferable but that is way more expensive than bubble envelopes. Also, still need to streamline the testing, right now it takes a lot of time to check even one device. I do not sell untested PCBs, so don’t even ask. For now I will include housings and contacts for making the connector plugs, you can crimp those, solder, or just solder to the PCB directly. Turns out having these wires made in such small quantities is not very cost-effective, but I’m still looking into it.

Well, that’s all I can remember for now. I will update this post if, for some reason, the Saturday window needs to be called off or moved.

UPDATE: Family visit in progress. I just did not make it in time, lets try this again on Sunday, same hour.

A Million Miles

I will accept orders for Rheas this Saturday (2021-05-08) at 12:00 CET (noon in Europe). This will be the first time I’m forced to do this via this whole Gutenberg/blocks thing so hopefully it works as it should.

We kinda have all the parts for Wizards now but there’s still the final assembly and testing to be done – so in a week or two I will open preorders (and these will be true preorders – there will be a waiting time, testing these is super slow, so if you have no patience please don’t participate).

As for GDEMUs – I have a small batch ready, probably a bit too small to satisfy a typical ordering window, so I’m still thinking on what to do. I really dislike having to refuse orders becuase I’m out of stock. We have some parts on order that are being delayed again and again, and frankly I don’t think I will be getting those at all. There’s another distributor I’m talking to, we’ll see what comes of it.

Well, I will probably offer these on sale anyway in few weeks. Then, depending how soon we get the parts, I will either make more or perhaps revisit the idea of a refreshed model that is not so badly memory limited. But that would come no sooner then Q3, maybe even Q4.

A Dashing Enigma

Did you know this site is now 7 years old? Time sure flies. GDEMU itself is older yet by about 2 years, the first version that I’ve made was based on Altera Cyclone II dev kit and mostly worked but had some timing issues. Initially I had no serious intentions of selling it – though a year later I figured maybe a small self-contained PCB would sell two dozen or so units, and would help me raise some money for other projects. Little did I know how it’s going to snowball. Well, at least I can say the project goal was achieved – even if I don’t like how ODEs became the new modchips and everybody expects to get one for a couple bucks to play “free games” (and I’m the bad guy for not mass-producing ODEs to flood the market, forcing low prices).

Anyway, obviously the last post was an April Fools’ effort. The photo was of a dirty 5.25″ double-density TEAC floppy drive, I deal with those only in personal projects and that particular one is now clean and working. Testing it revealed issues with two of my 386 mobos – the one on which I’ve replaced a broken crystal resonator with a tad bit faster device, and is now overclocked, which is nice but also screws up system timers. I need to undo this, the extra 1.x MHz is not worth these issues. Another mobo, and this one was badly corroded from NiCd battery spill, is now acting up – randomly hangs on DMA transfers (so mostly in games that use SoundBlaster voice playback and while using floppy drives). I suspect there is a corroded via under the 82C206 chip but there is no guarantee the mobo will survive desoldering it – there’s already pad damage and wires around to fix affected traces. This mobo was, until now, my “daily driver” for testing 386/486 code but I think I will replace it with a P200 MMX and maybe attempt the fix later. It served its purpose and I have a few other mobos for quick code testing if I need a true 386 system for that.

And speaking of testing 386/486 code, I have collected some performance data from various FM Towns machines using my own benchmark program. Frankly there’s tons of that data but in order to show some of it in a simple, easy to digest way I’ve made one chart that I think best reflects the actual overall CPU performance.

FM Towns - Performance

First, let me introduce the machines present on the chart:

  • A – gen1 (MODEL 1), 16MHz 386DX
  • B – gen2 (2F?), ~18MHz 486DLC
  • B1 – B with cache enabled
  • C – gen3 (40H), 16MHz 486SXL
  • C1 – C with cache enabled
  • C2 – C with cache enabled, clock x2
  • C3 – C without cache, clock x2
  • D – gen4 (CX), 16MHz 386DX
  • E – gen4 (CX), 16MHz 486SXL
  • E1 – E with cache enabled
  • E2 – E with cache enabled, clock x2
  • F – gen2 (2F?), 16MHz 486DLC (*)
  • F1 – F with cache enabled (*)
  • G – gen2 (2H), 16MHz 486SXL
  • G1 – G with cache enabled
  • G2 – G with cache enabled, clock x2
  • G3 – G without cache, clock x2
  • H – Marty, 16MHz 486SXLC
  • H1 – H with cache enabled
  • X – Fresh-ET, 66MHz 486DX2

(*) The F machine used a slightly different version of the benchmark executable and 386/486 CPUs are really sensitive to code position, so over many loops the result can be a few % off (faster or slower, depending how the code changed).

I’ve also added some colors to try and make this more readable. Black is 100% standard machines, blue is 386 CPU replaced with 486 DLC class. Orange is same as blue but with CPU clock resonator replaced as well (there are some serious limitations to this technique and even small overclock can cause issues in these systems). Violet is SXL/SXLC CPU with clock doubler enabled.

So, what can we see here? First of all, the black bars – the gen1 and gen4 machines have identical performance in default settings. The Fresh-ET is a bit faster in the compatibility mode but not by much – it mostly equals a CPU swap to a 486DLC (which all of the towers can do, except generations 3 and 4 require desoldering the old one first). I guess it’s not really possible to perfectly match a 386 performance with a 486 chip on a twice faster system bus. That being said, based on my tests with DLC chips, this is not enough to make a difference if the game doesn’t support FAST mode.

The “fast” in the chart is either FAST mode (for machines that support it) or reduced RAM wait states (as much as it was possible). This offers a decent speedup, in general reducing WS on 386 tower machines gives comparable results to replacing the CPU with 486 DLC – though obviously if you can replace the CPU and then also reduce WS, it’s even better. But if you want to keep your machine 100% original then WS reduction (with ODE) is probably the way to go if you need some extra performance. Even gen1 tower, which can only reduce the WS by 1, shows some speedup.

A 486 DLC with WS reduction or FAST mode can cut the benchmark time almost in half, and keep in mind this offers pretty much perfect game compatibility. You can get even better results by enabling the CPU cache (also via ODE) but that will break some games – some will work fine, some might have audio or video glitches, or even unresponsive controls. It looks nice on the chart but in reality can be quite a lot of trouble. This also goes for any overclocking, as mentioned above. And then there is clock doubling on SXL chips, this has some effect even with no cache and just WS reduction – which is nice, considering the issues with cache, but without having cache enabled you gain maybe a few extra % and that’s it. So it’s not really worth paying extra for a 486 SXL over DLC, unless the price is similar.

I didn’t test x2 clock on Marty because it breaks a lot of things for some reason (tower models don’t suffer from these issues). For example it can completly screw up mouse emulation on gamepad, something that Marty does by default via its BIOS. Not sure about other 386SX based systems, maybe UG series would benefit more thanks to having a native 20MHz clock in FAST mode. Then there is the proper x2 clock doubler in Fresh-ET, with built-in cache coherency protocols, burst mode and faster system bus. A true DX2 class CPU is more than twice faster than SXL and has none of the issues – so if you really need a fast Towns machine for some reason, get a late Fresh (or at least a true 486 desktop).

To sum this up, with Towns the 486 is faster than 386 but only in FAST mode (and most games don’t use it). Even older machines can be “tuned up”, either by swapping the CPU or forcing FAST/WS reduction via ODE. Or both. This is often enough to make Street Fighter 2 playable without major slowdowns for example.