Thursday, December 14, 2023

Blackout

I realize it's been a long time since my last blog post, and so I'd like to start by apologizing for my long absence. Life, sometimes, takes us down unexpected paths and puts us face to face with challenges that require all our attention and strength.As some of you know, I am dealing with a health condition that requires brain surgery, scheduled for the next three months. This period of waiting and preparation has been an emotional journey, full...

Tuesday, November 28, 2023

Inside the Macintosh: the memory.

Let's start from this post with a series of posts with technical "dissection" of the different areas of the Macintosh mainboard. It's very important to understand how the hardware works.Of course, a software emulator works differently from the real hardware, and many times it's a question of implementing tricks, especially when the emulator must run on a limited system such as a microcontroller.So I will take my time in studying components, I will...

Sunday, November 19, 2023

An experiment just for fun.

 I knew that "Digital" would enchant me. Especially for the fact that it gives me the opportunity to virtually replicate different areas of the Macintosh circuit to perform tests and understand how it works. Now I would like to do an experiment. In truth, I don't need to go so low level for the emulator I have to write, but I'm curious to see how far this circuit simulator goes. I want to try to implement the 64k-bit MT4264 DRAM memory...

Saturday, November 18, 2023

Bricks for this project, really?

I don't know if it's happened to you too, but when I study electronic diagrams it makes me want to "reconstruct" the circuit to see it work. It's as if your head starts to go faster in imagining that you already have all the components at hand, ready to be inserted into their respective sockets on the PCB. It is also frustrating to note that the transition from a scheme to a prototype is not so immediate, especially in my current condition, where...

Monday, November 13, 2023

Diving deep in the Mac.

I've been diving online for days looking for technical information on the Apple Macintosh 128k hardware. In truth, I didn't find much, at least what I was looking for.I was studying the diagrams and photos of the motherboard that I found, and I understood that the "custom" chips have a crucial role in the functioning of the Mac. They are called "PAL", or "Programmable Array Logic", and are programmed from the factory with particular programs...

Monday, November 6, 2023

Know the hardware.

What we need also is a schematic of the mainboard of the Macintosh 128k, and a photo of the PCB, top and bottom side. I think that if I dig into the hardware I could learn more, and the development process should be a bit easier.Unfortunately, ChatGPT can't help me find those on the Internet, so I did it by myself. It has been difficult to find them but in the end, I have found something usefu...

Sunday, November 5, 2023

Where to start from.

Now that I've set an environment for the development of tests that I can share with you, I am going back to the emulator My first idea is to design a main section based on a Finite State Machine, that is executed every cycle of the host application. In my Replit project this application is the SDL based environment, while in the STM32 board is a specific H7 targeted project. I would like to develop this emulator as a scalable and portable application...

Thursday, November 2, 2023

Code sharing, such a great idea.

Difficulties can't stop me, maybe they delay my results but my strong will helps me to find out a way to get things done. I had to stop for a couple of days, I had to go through several things, but I got an idea for this blog, and some enthusiasm made me get back on this track.What if I can show you the working source code or the entire emulator? Wouldn't it be great to show directly inside a post a working part of the code? That's a real possibility...

Tuesday, October 31, 2023

Emulator time scale.

I want to get an idea of how the emulated CPU should work when displaying a video frame. Let's see. I know that a frame is drawn every 16625.8 µs. Each frame is composed of 342 lines in the Vertical Active Area and 28 lines in the Vertical Blank Area, for a total of 370 lines. ChatGPT didn't tell me the length of a scanline, but doing some math, 16625.8 µs (frames) / 370 (lines) = 44.395 µs. This length should include the Horizontal Active Area...

Monday, October 30, 2023

CRT still rules.

In older systems equipped with a video or TV output, it was mandatory to synchronize the times of display of the video image and its composition in the system memory.  The cathode ray, continuously driven by the monitor circuits, lights up dots of fluorescent substance deposited inside the screen. Let's compare this cathode ray to a laser ray, let's imagine moving it from left to right (horizontal active area), turning it on and off at regular...

Sunday, October 29, 2023

Getting the best basis of knowledge.

After a few days of searching for information about the video signal generated by the Macintosh 128K, I found a PDF of a book about this computer, aimed at developers.Actually, I have found several books, but only this one showed me the complete timings of a video frame generated by the Macintosh.This book is what I need for my adventure into coding this emulator. On page 25 of the PDF, in the section "III-18 Over-view of the Hardware", I have found...

Friday, October 27, 2023

The concept of the "main cycle" of the emulator.

The basic concept behind the emulator is to mimic the functions of the older computer's hardware components. This doesn't mean it replicates the exact hardware physically. Instead, it simulates the behavior of the hardware using software. It can emulate the function of processors, memory, graphics units, I/O systems, etc. Since the hardware components run in parallel, the emulator must run a small portion of the code and update the simulation of...

Monday, October 23, 2023

The Motorola 68000: Introduction.

Another day, another step forward.The most important thing is not to stop. Anyway, it's better to think about something fun, so I am going to have an overall description of the Motorola 68000.Then, I will dive in to the different aspects of the CPU. My emulator will start from a very small and simple virtual machine made of CPU, ROM and RAM.I would like to start writing a small test virtual machine made of a basic 68k, and expand it little by little. ...

Saturday, October 21, 2023

Getting an overall idea.

Well, before we get into the architecture of the 68k, can you tell me which computers from the past were designed with this CPU? The Motorola 68000 CPU, often abbreviated as 68k, has been one of the most influential in several generations of computers, not just the original Macintosh. Here are some of the best-known computers that used the Motorola 68000 processor family: Apple Macintosh: The original...

Thursday, October 19, 2023

Taking advantage of everything that can help me.

The biggest advantage of having a partner like an AI assistant is that you can work whenever you want without being sent to hell. This is great because while you're working on one or more chats you can stop and continue at your convenience, like I'm doing right now. A new day is starting, I've done the exercises and now I'm resting on the sofa. What a great time to talk to "Jarvis" and move forward with my project. I'll have to come up with...