Close

Monitor

A project log for Z80 Computer

Yet another Z80 computer.

james-otsJames Ots 05/31/2017 at 21:190 Comments

I haven't done much hardware for a while, as I've been continuing to work on the monitor programme. I have a few commands implemented so far: TIME, SETTIME, JP, PEEK and DUMP. Things I still plan to implement include SETDATE, POKE, CALL, LOAD, SAVE, ROMWRITE. The Z80 code I've written is not particularly efficient, but it works, and is largely tested. I've been quite enjoying using zat to test my Z80 code — it's much easier to make changes and know that I haven't broken anything. But it's even nicer when I load it into my Z80 computer and it works first time.

A few things you might notice: The first command is never recognised as it seems to get some rubbish in it. However, I'm not sure where it is coming from — I've added code to clear the input buffer, but it's still getting something extra there. You'll also notice that the date looks rather strange — that's because I haven't written the SETDATE command yet, so the DS1501 just continues to return whatever random data it happens to have in it.

I've had a few weird problems with the computer occasionally. At one point it was starting to make a buzzing noise from the bell whenever the FT245 was in use, which eventually turned out to be the 3.3v regulator. The breadboard holes it was using were a little loose which meant that only 2.8v were getting through to the rest of the breadboard. I moved it to another part of the board, the voltage went back to 3.3v and the buzzing stopped.

Then I was having trouble getting anything received from the FT245. I eventually got it to work again by plugging a USB cable into the JTAG programmer — I have a feeling that having the JTAG programme connected but unpowered was confusing things. I'm not totally sure though.

It certainly makes it difficult to debug when you're not sure if the problem is Z80 code, CPLD code, board wiring, power levels or something else

Discussions