Thanks for visiting my channel. Here you'll find videos of me tinkering with my childhood computers. My first computer was a ZX81, straight from Sinclair Research through mail order in the US. The Sinclair QL is still my favorite with its cool, Unix-like operating system in only 48K of ROM.
I also wrote a ZX81 emulator called ZXSimulator...give it a try by clicking the link below.
I hope you installed new Ni-Cd batteries, not Ni-MH ones. The charging profile is quite different to abuse and even overcharge Ni-MH by a non-intelligent charging circuit.
I'll try this again - apparently links aren't allowed! The correct floppy drive belt can be presently found on Console5 search FUJITSU FM TOWNS, MSX, YAMAHA, KORG, MATSUSHITA FLOPPY DRIVE BELT EME-213 EME-216 EME-113L and the cost is 4.95 each. The belt will feel a bit tight, but the drive works perfectly. It's a bit of a fiddly 30 minute job, but well worth it!. Take care to clean all residue off the motor spindle and drive hub, including from the speed sensor, or the drive may not spin at the correct speed or index correctly.
Nice job on the repair! I didn't think it would be possible to fit an AA holder at all so thanks for showing how it can be managed with a bit of chopping.
It seems like all of these pocket computer printers used these rechargeables. I've replaced them in my PC-2 and PC-4 printers. As well as my Casio pocket computers that have built in printers.
Some hints about the mysterious 8C2K2 chips. 1) The company that made them is PIHER, as can be seen on the chip itself. PIHER was a Spanish electronic manufacturer company founded around early '50s. During middle '60s they started to make resistors and pots which made them succeed in several countries outside Spain (during '70s and '80s, when I was young, I used those resistors and pots in my projects and assignments in Spain). The company is still alive, but it is now part of an US industrial company group and focused on the sensors market. 2) Due to that, the chip is probably an 8 x resistor array of 2K2 ohms each, 2 pins each sitting across the chip. You can see some capacitors and diodes in the board...but there are only a couple of resistors (a 2K2 is just between the 8C2K2 and the 74LS157). So, they should be that. Use a multimeter, check if it is true and let us know!
Thank you for that detailed explanation. It seems they changed resistor pack formats to the single inline at one point, or where the dip once also used to give different values per pin-pair I wonder.
Hello. I remember the video you did a while back about the batteries for these printers. I tried a holder for four regular AA rechargeables, but I did need to file away some of the internal structure to get it to fit - and it still bulges a bit. I found a number of four NiMH battery packs on aliexpress in the right configuration. I'm keen to see more Coco action - just picked up a Coco 1. :)
I refrained from modifying the case and actually took material off the battery holder. The first go it still had trouble closing tightly (didn't bulge but would come apart easy without screws), but I eventually got it to fit perfectly.
Looks good, and good luck with the repair work! I'd be very careful running your printer without a battery pack and with the external charger. As far as I can tell the charger won't be able to provide enough current to drive the printer mechanism (only 150mA, and the manual explicitly says the printer won't work when charging a flat battery) however it's an unregulated supply and may provide enough voltage to fry some of the internal components (aside from a diode and small resistor it's connected directly to the battery rails, and the NiCad pack will normally limit the voltage but without it installed you'll end up with around 9V across the chips that are designed to run at 4.8V).
Interesting note: Supertramp's "The Logical Song" features sound from this handheld game. "Among the contemporary sound effects in this song are the 'tackled' sound from a Mattel electronic football game - popular at the time this song was released." - en.wikipedia.org/wiki/The_Logical_Song
Always good to see old code preserved. :-) The closest I've ever got to Sinclair hardware is the Z88 so this is a bit of shot in the dark, but did you have a MW100 printer? Looking at its specifications that would have produced similar results to that long skinny printout you have! I've recently been refurbishing a CE-122 for the Sharp PC-1211 and that produces similar listing printouts (also 16 characters wide in purple ink on plain 1¾" paper).
The Z88 had a regular serial port so you could use any normal printer back in the late 80s. I had a Brother M-1109 and I think I attached it to it at one point, though I primarily used it on my QL.
@@8BitRetroJournal Indeed! :-) As I don't own a ZX81 I don't have personal experience which of its printers might have been responsible for your printout that you were asking about, but the MW100 looks like a possible candidate for a ZX81-compatible printer so I wondered if it might jog a memory. For your larger spark printer did you ever investigate making your own paper? (I think that's how I first found your channel, after acquiring a calculator with a spark printer in it and wondering about the paper supply!)
@@benryves oh, sorry, I didn't catch you were referring to the ink printout. I just don't recall ever owning any printer like that but maybe in the early 90s, when I moved away from the ZX81, I might have picked something up from a yard sale that I a few years after that sold off. Could have been the MW100, but I have no recollection of owning it. No yet...I had planned on playing with some conductive paint and trying different things but kind of forgot 🙂 That said, I do own some cold galvanizing paint and just read that it is conductive, so I wonder if I can give that a try. Wish I had thought of this at the beginning of the summer when I had more time. I will try it on a sheet of white paper tonight to see if I can get any conductivity out of it via a multi-meter.
That would be interesting. They should do a mocumentary on the creation of the Amiga and Commodore and Atari's involvement and feud. Sort of a US version of the Sinclair vs Acorn film "Micro Men" that came out in 2009.
The advantages of having a machine with kickstart roms was it was quick to reboot after a guru meditation error (which was just an option to dump core out the serial port). But the drawback was you could not run some old amiga software that relied on 1.3.. So even the Amiga 1000 had benefits.. The 68010 was a cheap 68000 upgrade...But the 68000 never ran to 8mhz cause it was clocked to multiples of the NTSC carrier frequency.
how mmu was implemented in the 386s was to break up memory into pages of 4096 bytes, the MMU could on protect memory inside the 8086 vms. I was told in win3.1 and on would runn DLLs inside those vms.. In the Amiga, the OS would rely on each task to manage its own memory.. Good coders would be careful to manage memory. This meant in amiga os, tasks had access to more ram than a pc, however, it also required more disciplined coders, or languages like LISP that could guarantee correct code behaviors.
Yeah, unfortunately if a program eats up all memory in Amiga OS things deteriorate very quickly. I did a test on that back in 2020 (check out my video on August 21, 2020). In part, I think that's why Linus commented that the Exec kernel deteriorates into cooperative due to the lack of memory protection (i.e. a cooperative kernel relies on programs behaving themselves and if not, the machine crashes).
I was trained on the msdos operating system The commodore 64 had hardware interrupts, so its possible it could have had pre-emptive multitasking , it seems all you need is clock to interrupt the cpu and something to preserve the cpu state..
interrupts permit the kernel to swap tasks, the clock or clock multiplexor sends off a hardware interrupt which forces the cpu to interrupt the current task which clones the cpu operating registers which keeps its state, those are stored on a stack, and another cpu state or brain (picture a bunch ofpostit notes telling the cpu what it was doing last before it got interrupted.. This is traditionally how premotive multitasking works, but between each task switch, the app scheduler choses who to defrost first... something on the mother board attention..
I was 14 years old, with my ZX81, and Toni Baker. You learned just how fast that CPU could go (compared to interpreted BASIC.) So compact, so fast, so picky :). Typing in those REM statements as a hack to getting machine code staged. Lead me to later writing many assemblers for Intel processors. Toni is remembered positively by uncountable people. Thank you for posting this.
So researching this a bit more, all I can find is that the Atari ST came bundled with First Word. It also came with a variant of BASIC. But I don't see any specific DTP software. There were certainly lots of applications for it like DTP software Timeworks Publisher, PageStream, and Calamus; word processing software like WordPerfect, Microsoft Write, AtariWorks; spreadsheet software like 3D-Calc, but none of those came bundled.
@@8BitRetroJournal I did not say it came with software I said the set the mono monitor up to be a 1 to 1 ratio with dpi for dtp that’s why the Atari mono monitor comes with such a small area of screen with a big border
@@brianwild4640 The reason I make a point of bundled software is because that's what the video is about. Obviously if you can buy similar software running on an Atari ST, you can do not only the same type of analysis, but doing it twice as fast and likely with more colors (though I'm not sure what the high-res color resolution of the ST is...I thought it was the same 2-bit as the QL). So I focused on bundled software since then you could do it out of the box without having to go and invest more money (esp considering how expensive both the Mac and Amiga 1000 were). It's also not clear how powerful Atari's 3D-Calc is as I haven't investigated it. From the sound of its name, it seems to imply some built-in graphics, do you know? On the QL, without Easel, Abacus could only do number crunching but no visualization, so pairing them is the critical part to do data analysis (without having to plot it by hand which would be tedious and inaccurate).
I use Q-Emulator, the free version lack a few features, it cost a few bucks for the full version but it is very nice, it can read almost any kind of files, you can use a PC folder as a micro drive so you can cross compile on a PC straight to a folder and test it on the emulator, you can run it at full PC speed for things that are normally slow.
Always loved the look of Zip disks, although I never had one of these drives. Someone was throwing one out in my old computing lab in college and I just walked past it for a few days until someone else took it. Now I'm thinking of buying one to go with my Acorn Archimedes and/or Atari ST and Falcon.
If you want to show your class an Amiga multitasking, show them an Amiga 4000 (030 or 040) with 16MB of RAM playing music in EdPlayer, rendering in the background using LightWave or Imagine, downloading 40 files at the same time, running two or three shells decompressing files to the hard drive, and formatting two diskettes at the same time (an Amiga 2000/030 with 16 MB can do the same). P.S. AmigaOS 2.x and up is definitely not a kludge. No task priority fidgeting required.
The point of using older hardware to show students multitasking control and the difference between preemptive vs cooperative, is to show the dexterity of a process context switching and its time slice behavior. if I do what yous suggest, I might as well just show them Windows 11. Note that I was using AmigaOS 2.0 and indeed, its behavior is not normal preemptive multitasking. The reason why is that it gives real-time priorities only, whereas Unix, Linux, and even the QL's QDOS kernel also supports "user" priorities. If you watch my later video in May, you'll notice that an extension to Exec called Executive sort of fixes the Amiga's kernel. Now, I haven't looked at AmigaOS 3.x or higher, but the point of my videos is to focus on 80s and early 90s architectures.
@@8BitRetroJournal Based on the end-user experience, AmigaOS Exec certainly isn't in need of fixing. Windows 11 as a comparison kind of obfuscates context. There's a lot more going on in Exec's behavior than simple task switching and priority setting. Maybe some type of monitor would be the way to go if you want to illustrate what's going on behind the scenes. Exec is elegant.
@@Nebulous6 from an OS kernel perspective, without Executive, its preemptive kernel deteriorates into a Mac-like cooperative one with only real-time priority. Linus actually referred to the Exec kernel as cooperative back in the 90s, to the dismay of Amiga users, though he was referring more to its lack of memory protection (note that Linus also owned a QL and its kernel had some level of memory protection since it was ROM based though didn't support an actual MMU). I find the QL's QDOS kernel more elegant as it gives you the job control that you'd like to have for processes. It's also a bit more robust: check out my videos from August 2020 where I compare kernels, putting the Amiga and QL through its paces and you'll see how a simple infinite while loop brings the Amiga to its knees and a program that eats all the memory crashes it, whereas the QDOS kernel handles both cases just fine -- note that back then the audio was a bit rougher. The point in using outdated computers to show students kernel behavior is to try and demonstrate the level of control a kernel can exert on processes (like I do with the faux AmigaOS interface running on the QL in this video) and since older hardware has less running on it and is slower, it helps students see that behavior better. In the past I've used the QL's kernel for that reason, since it gives the granular control that I need. Executive helps here, but it does make it less smooth -- I will likely use it in the future if I want to use the Amiga as I like its control even if not smooth. It's similar to my 90s kernel hack for the Mac, where I upgraded the round-robin cooperative kernel to give it some priority control. However, if it were only about end-user experience, then there is no contest here and I'd go with either Linux, BSD/OS X, or Windows, since the modern kernels are all far superior to 80s and 90s architecture. Even the QL's kernel doesn't compare as modern machines are simply, as one would expect, better.
@@Nebulous6 Oh, my apology, I had a few replies on a couple of my Amiga Exec kernel videos. I assumed you had also watched my May video where I actually add the Executive add-on to Exec, which adds some cool features. I was discussing that with another commenter and thought it was you. I recommend you watch that video as it finally gives the process control I was looking for, and shows the extensibility of the Exec kernel -- much easier than either the Mac or QL kernels. So I give kudos to the Amiga for that nice design feature.
@@8BitRetroJournal Keeping things within context, you'd have to use UNIX and not Linux if you're talking about when the Amiga was in its prime and certainly not Windows NT, 2000 or up (or OSX for that matter). And Linus, as cool as he is, ought to realize that memory protection has nothing to nothing to do with whether Exec if pre-emptive or cooperative multi-tasking. If you wanted a great home computer BUI-based multitasking experience in 1985 through 1990, the Amiga was the way to go. And yes, I did watch your other video prior to watching this one. I admire your sheer level of focus although I think your testing on the Amiga Exec is definitely incomplete. Keep going and I think you'll discover more that might change your opinion of it. It's not quite like the other task-priority systems that you're used to and needs to be set a bit differently to get results (hint: only -9 to +9 is intended for apps).
5:00 BASIC starts again because you set the task pri for both the same. That's by design. 5:29 The shell stops the other two because it's gone from a sleep state to a waking state and takes priority so that it can run the command that you requested. Again, by design. Question: How much RAM to you have? Hopefully more than 2 MB to get a true sense of what's going on (that would eliminate Chip RAM contention). Your tests would work better with better software for your tests (yes, app quality does make a difference). You're setting priory values outside what's typical for apps. Those higher ranges are usually reserved for other system stuff. Again, the ROM Kernel books will likely help you a lot. Ironically, Exec doesn't need fixing because it already works. For best performance simply don't change the priorities and just let Exec work it magic as it's designed and optimized to. Your hack just simulated being more conservative about the range of values you were using prior to the hack. In other words, see above about avoiding going to extremes with priory values for apps. No hack required.
Thanks for watching. AmigaOS Exec, compared to the QDOS kernel, where both implement preemptive multitasking, doesn't quite have the same Unix-like control. Though Exec gives you smooth preemptive concurrence if the priorities are the same, as soon as you up one over the other, it deteriorates to cooperative multitasking, i.e. the higher priority task just never lets go (very much the way the Mac kernel runs before I hacked it in the 90s). QDOS behaves as expected: if you give one task higher priority, it gets more time slices from the CPU, but the lower priority task still gets to run. That's why I, in a later video (I believe you commented on that as well), I went with Executive, which gives you closer to Unix behavior.
It looks like what you're doing with Executive might be bypassing Exec's more sophisticated techniques of keeping things running smoothly. That and Amiga BASIC probably isn't the best app to use in a pre-emptive multitasking demo as it (ironically) wasn't really written to work efficiently with a multitasking operating system. I think you might find pages 429 and 430 of the Amiga ROM Kernel Reference Manual and pages 149 through 159 of The Future Was Here by J. Maher.
It was the same book I used to learn machine code on, it was white though with red text, still have it, maybe an earlier or later edition, same as you, fantastic book, changed my life too, I would not have the job I have today without it
Does AmigaOS 3.2 have better kernel process control? I'm also curious why it would be incompatible since it's just an application that controls process priorities. What is 3.2 doing to break it?
@@8BitRetroJournal Yes, what i know is that the only way at this moment is to turn off the Schedulers with the option Schedulers = NONE on Amiga OS v3.2, because if not, it crashes !
@@DavidFabregamaestre2k7 I'll have to investigate what the new kernel adds here. It looks like it has a 2021 release date, so I'm likely less interested in it than say an 80s or 90s kernel. I'm very interested in how well things worked in the early days of multitasking microkernels.
The Amiga is a sort-of Microkernel architecture. When a process sends a message that wakes a higher priority process, the higher priority process immediately wakes up and takes control. to process the message. When the higher priority process finishes and responds, the original process resumes. This is sort of equivalent of having blocking calls into a kernel... (except that in AmigaOS the higher priority process can relinquish it's CPU time if it wants to)
Well, you are describing cooperative multitasking, which is not what the Exec kernel is. I personally like the Sinclair QL's preemptive kernel better but with the right add-on, the Exec kernel is pretty cool.
@@8BitRetroJournal It's not cooperative multitasking, because there is no cooperation involved. It's an IPC mechanism that automatically implies relinquishing the time share based on the "task priority". The task priority in AmigaOS is not about timeslicing, it's about creating a hierarchy which would be traditionally be usermode/kernelmode or client component/server component in other OSes. Hence, the disktracker is a higher priority because it acts as a server to the filesystem, which is a higher priority to the user program accessing the filesystem. If the OS doesn't do this, everything would lag. You'd send a request to the filesystem... but the filesystem wouldn't queue a request blocks from the disktracker until a timeslice... and the disktracker wouldn't start the disk motor until the timeslice... and the data would come in from the disk drive via DMA, but wouldn't be forwarded to the filesystem until the timeslice... and the filesystem wouldn't return the data to the user program until the timeslice. I hope that is a reasonably clear example... (and explains why I found this video painful to watch!)
@@davidlloyd1526 in cooperative multitasking, there is no "cooperation involved" as each job, once it gets control of the CPU, keeps it until it relinquishes back to the kernel. The "cooperation" is more of a hope that a process doesn't keep it indefinitely and bring the system to its knees. The kernel decides who has the higher priority (well, more like who's next in the list) and gets it next, but after that, the process keeps it until it relinquishes control. So it sounds like the AmigaOS kernel is more that than preemptive. I believe Linus Torvalds was quoted as calling the Exec kernel cooperative back in the 90s, but he was referring to its lack of MMU causing lack of memory protection.
@@8BitRetroJournal Sure, but my main point is that the task priority is not related to time slicing (a common misconception). To change timeslice allocation the OS would have to alter the CIA interrupt counter per Task, which it does not do. In fact if you look at exec/tasks.h, you'll see there is no per-Task timing config at all. All the Task priority does is define "how far down" the list of Tasks the new Task gets added.
@@davidlloyd1526 I get the ordering, but other kernels do that and form a ratio between jobs so the higher priority get more CPU time but the lower priority also still get CPU time, albeit less. That's what I did when I hacked the Mac kernel (app was called CPU Doubler) and allowed the default ratio to change depending on added priories -- the Mac kernel didn't support process priorities and just did a round-robin approach. That's exactly how the QL's QDOS kernel works as well as Unix and Linux, where you can "nice" jobs to speed some up and slow some down. Executive adds that "nice" feature to Exec My surprise was that Exec on its own didn't support two jobs running concurrently with different priorities. Now the one nice thing I must say is that unlike my Mac kernel hack, the Exec kernel's operation was perfect for the Executive extension, with priorities working as you describe. I'm guessing Amiga folks just didn't think multitasking was that critical for a personal computer and so didn't add the feature that Executive gives, since it would have been an easy thing to do. To me the flaw in Exec is just having left out the Executive feature, and not some fundamental shortcoming in its design. So probably it was more of a business decision. The Mac kernel, on the other hand, was simplistic and a bit messy to hack.
One of my favorites...the QL I mean! thank you for bringing this back, I have only seen limited number of videos on ICE and never in such detail! keep it up!
After powering up you really see nothing, but if you hit the break key, it'll take you into BASIC. Check out my 2022 SepTandy videos where I load stuff from cassette using that technique.
Thanks for the tour and your thoughts on the place where you worked. I feel the same about the place where I first worked after university. It was an unusual but pleasant hive of engineering activity. Now I look back fondly and still further some of the work we did for my own portfolio of experience and just out of interest. Your workplace does sound like a desirable environment in which to work, and play.
Glad the rollers worked for you. I imagine that the original QL rollers were soft like these originally and have hardened over time. These new rollers are super high quality Sony pinch rollers with a teflon core.
Crazy to think that typical pc has 16,000,000 times as much memory today. Seeing the zx81 brings back memories. Used to own one along with a C64 and a Acorn Electron. ❤