Page 1 of 2

MZ80B - BootRom Disc

Posted: Mon Jul 19, 2021 9:47 am
by parc
In both of my "B"s the tape recorder has problems and does not work ... and even though I have a disc emulator and a disc i/o interface I wanted to have a BASIC, when turning on the "B" and use this "B" without needing the disc emulator.

So, I populated the first part of my first "B" PCB and burned the Monitor and the SB6510 into the ROM - now the system is starting out of the box.

Of course, you can not save anything, but this is not the idea here ... start the system and run some small tests program ... that's it. Now to the next pieces on this PCB.

Re: MZ80B - BootRom Disc

Posted: Tue Jul 20, 2021 7:36 pm
by parc
So, the second part of the PCB has been populated - the sound IC has been added and I get a sound, can turn on/off 8 LEDs and have some configuration switches for further project.

The third part on the PCB (left part) is actually NOT working, some kind of error somewhere ...

Re: MZ80B - BootRom Disc

Posted: Wed Jul 21, 2021 11:12 am
by psmart
Cool project, definitely an alternative to the B/2000/2500 cassette drive is needed, they all suffer the same fate.

I'm in the process of getting the cassette cogs 3d printed as they all seem to crack on the clutch/flying drive cog, but to have a backup drive is excellent.

Re: MZ80B - BootRom Disc

Posted: Sat Jul 24, 2021 3:16 pm
by parc
So, the left part is also now populated and it works. To summarize:

a) The YM2149 is located at 0x60/0x61 and is feeded by the 4 MHz system clock (therefore a AY8910 will not work)
a.1) One port of the YM2149 is feeding LEDs
a.2) One port of the YM2149 is used for switches (for own software )

b) The right part is the MZ80B Boot-ROM Disc, which contains a 32KByte ROM. Press "/" during IPL-RESET and then the software will be loaded from the ROM and started (proof of concept was here Disc BASIC 6510 with Monitor 1510)

c) The left part is a copy of the MZ1R18 RAM file card, it did not work at the beginning, because I used the original port addresses of the MZ800 and well I was not aware, that the Z80A of the "B" is already there located. So I changed the address to 0x6A, 0x6B'to make them work. In addition to this one has 8 pages of 64K RAM and 8 pages of 64K ROM. (the pages can be selected at 0x6C).

So, the general idea is to have a selection program in the Boot-ROM disc and from there I can select up to 16 programs located in ROM (or however it is located within this ROM).

Re: MZ80B - BootRom Disc

Posted: Sat Jul 24, 2021 3:24 pm
by parc
By the way - thanks to the RC2014 community, where I got the initial YM2149/8910 schematic and from some MZ800 person, who created an new RAM file card for the 800.

I have to make a second revision, because the /M1 signal has not been considered here (and that my lead to errors during IRQ handling), the parts have to be moved away from the edges a little bit and the LED for the booting process has to be changed.

But now to the next card ... its an amazing feeling to build these PCBs - something I really would liked to be able to in the eighties where I worked with these machines.

Re: MZ80B - BootRom Disc

Posted: Thu Sep 02, 2021 7:31 pm
by parc
So here is - I hope - the final edition of the card in terms of features (etc). In addition to the card shown above two changes have been made:

* the iteration through the RAM/ROM disc is now possible over the whole range and not only within the 64K page size

* the RAM (512 K) is now battery buffered ...

Marten

Re: MZ80B - BootRom Disc

Posted: Fri Sep 03, 2021 5:13 am
by dat-alex
Hi Parc. I want to make a project on 80b interfacing a boot rom + serial interface + esp8266 wifi for connecting to on-line text-base bbs.
Gathering infos on this . Where can I find infos on 80B boot rom schematic. Thank you.

Alex
(sorry for the off-topic)

Re: MZ80B - BootRom Disc

Posted: Fri Sep 03, 2021 2:14 pm
by parc
Ah, yes

* the software code can be found in the IPL listing starting at 05EFh
* the schematic of my boot-rom is added to the message

But be aware that I am not an electronic man ...

PS.: The only major thing you should consider is, that the first byte of the boot ROM has to be a value of zero - so I changed the C3-command at the beginning of the Monitor 1510 to a byte of zero and a relative jump.

Re: MZ80B - BootRom Disc

Posted: Mon Sep 06, 2021 9:56 am
by dat-alex
Thank you Parc for this useful infos (and schematic! :D )

I was looking for these many times with no result.

I had also examined IPL listing trying to make a 'raw schematic' from the code but I wanted to make sure of a working one.

Well done my friend
(Update: I noticed that extra logic needed for CEROM_ADR_HIGH & CEROM_ADR_LOW ,examining your schematic, in order to connect external ROM to expansion bay)

Alex

Re: MZ80B - BootRom Disc

Posted: Thu Sep 09, 2021 5:15 am
by parc
Hey,

the additional signals ( I used a CPLD to do this low level work: ATF22V10 or ATF16V8):

Here parts of my CPLD code (be aware: !m1 => M1 = 1; aX => aX = 1, !aX => aX = 0 etc)

/* Signals for the Boot-ROM Disc of the MZ80B */
/* 11111001 = F9 (read value at address) */
CEROM = a7 & a6 & a5 & a4 & a3 & !a2 & !a1 & a0 & rd & !m1 & iorq ;

/* 11111000 = F8 (write high address byte) */
CEROM_ADR_HIGH = a7 & a6 & a5 & a4 & a3 & !a2 & !a1 & !a0 & wr & !m1 & iorq ;

/* 11111001 = F9 (write low address byte) */
CEROM_ADR_LOW = a7 & a6 & a5 & a4 & a3 & !a2 & !a1 & a0 & wr & !m1 & iorq ;

Actually the code is located in the ATF22V10 (IC lower right on the PCB, but a ATF16V8 is also suitable)