Previous Thread
Next Thread
Print Thread
Page 2 of 7 1 2 3 4 5 6 7
Xolod #119042 04/26/21 12:19 PM
Joined: May 2009
Posts: 2,037
Likes: 78
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,037
Likes: 78
Nothing really, the manual is very comprehensive.

1 member likes this: Xolod
Xolod #119045 04/26/21 07:52 PM
Joined: May 2009
Posts: 2,037
Likes: 78
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,037
Likes: 78
Actually there is one question that I'm a bit unclear on: The manual states pretty clearly that the ROM space for the 8086 board is from 0x70000 to 0x7FFFF, with the upper half of the memory space being reserved for a Multibus window.

Have I overlooked some spot in the manual where it makes it clear how the 8086 is able to fetch its boot vectors, since those invariably come from the upper 16 bytes of the overall address space?

Xolod #119115 05/09/21 06:54 PM
Joined: May 2009
Posts: 2,037
Likes: 78
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,037
Likes: 78
I've started in on writing the driver, hoping that the Z80 would be a more reasonable thing to bring up first.

Annoyingly, there seems to be some strangeness in terms of the Z80 ROMs, right from the beginning.

It's not entirely clear whether "labtam3000-z80-boot-abs-0.bin" or "labtam3000-z80-boot-abs-1.bin" is what's located at address 0 from the Z80's perspective, but I'm betting it's the first one.

That said, the first few addresses it probes are fairly weird.

According to the technical manual, the default would be for memory accesses to default to the "System Map", which has the first 16K for the boot EPROMs, the next 2K at offset 0x4000 for local RAM, then 2K for the "intermap window" (whatever that is) at 0x4800, and then 0x8000 through 0xBFFF mapped to 0xF8000 through 0xFBFFF as an "I/O Buffer Window", mapped to 0xF8000 through 0xFBFFF as Multibus addresses.

These are the first few things the Z80 does. I'm always a bit suspicious when the first thing a CPU does is read things, rather than write things. Does anyone have any suggestions as to what's going on?

Code
[:z80] ':z80' (0003): unmapped program memory read from 8004 & FF
[:z80] ':z80' (0003): unmapped program memory read from 8005 & FF
[:z80] ':z80' (0009): unmapped program memory write to 8014 = 00 & FF
[:z80] ':z80' (0009): unmapped program memory write to 8015 = 00 & FF
[:z80] ':z80' (000E): unmapped program memory write to 8016 = 04 & FF
[:z80] ':z80' (0011): unmapped program memory write to 4030 = 00 & FF
[:z80] ':z80' (0011): unmapped program memory write to 4031 = 00 & FF
[:z80] ':z80' (0013): unmapped program memory write to 0000 = 00 & FF
[:z80] ':z80' (001A): unmapped program memory write to 8004 = 20 & FF
[:z80] ':z80' (001A): unmapped program memory write to 8005 = 01 & FF
[:z80] ':z80' (001D): unmapped program memory write to FFFE = 1D & FF
[:z80] ':z80' (001D): unmapped program memory write to FFFF = 00 & FF

Xolod #119116 05/09/21 07:06 PM
Joined: Mar 2001
Posts: 16,912
Likes: 56
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,912
Likes: 56
For Z80, check if the IRQ (0x38) and NMI (0x66) default vectors make sense in either of the ROMs. The one where they do will be the correct one at 0 in most cases.

Xolod #119118 05/10/21 08:54 AM
Joined: Mar 2020
Posts: 30
Likes: 3
X
Xolod Offline OP
Member
OP Offline
Member
X
Joined: Mar 2020
Posts: 30
Likes: 3
Agree to look strange for initial rom Z80..
[Linked Image from i.ibb.co]

Last edited by Xolod; 05/10/21 08:56 AM.
Xolod #119120 05/10/21 04:16 PM
Joined: May 2009
Posts: 2,037
Likes: 78
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,037
Likes: 78
Neither of them make a whole lot of sense as far as initial programs go.

The -1 ROM doesn't seem to have anything valid at 0x38, and the NMI vector is itself a bit weird, though if you shave the byte off of the previous instruction, it produces somewhat sensible instructions:

[Linked Image from i.imgur.com]

The -0 ROM, as you've indicated, also doesn't seem to make too much sense for mapping at address 0.

Xolod #119121 05/10/21 05:00 PM
Joined: May 2004
Posts: 1,704
Likes: 2
H
Very Senior Member
Offline
Very Senior Member
H
Joined: May 2004
Posts: 1,704
Likes: 2
try to see if the code functions in the ROMS line up with any of the absolute address jumps / calls you can see.

I suspect neither maps at 0, maybe half size dumps or something

Could also be the upper address line inverted or similar, check the middle of the ROM for the startup code etc.

Xolod #119122 05/10/21 05:08 PM
Joined: Mar 2020
Posts: 30
Likes: 3
X
Xolod Offline OP
Member
OP Offline
Member
X
Joined: Mar 2020
Posts: 30
Likes: 3
We have another board with z80 installed in a working labtam. I will read ROM dumps from this machine, maybe they will be different.

Xolod #119123 05/11/21 01:25 AM
Joined: Dec 2015
Posts: 147
Likes: 3
A
AJR Online Content
Senior Member
Online Content
Senior Member
A
Joined: Dec 2015
Posts: 147
Likes: 3
It's not necessarily a given that Z80 code will have an interrupt handler at 0x38, since that's only necessarily the vector in IM 1 (though most arcade games do use that). Anyway, neither of those listings looks much like any sort of boot code to me either.

Xolod #119124 05/11/21 10:29 AM
Joined: Aug 2004
Posts: 1,455
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,455
Likes: 9
The -0 rom comes first, and set the PC to 1800 at start. Then it starts to make sense.

There's no handler for NMI or IM1.

Page 2 of 7 1 2 3 4 5 6 7

Link Copied to Clipboard
Who's Online Now
4 members (Dam0, drewcifer, Alegend45, 1 invisible), 22 guests, and 2 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,088
Posts119,103
Members5,014
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com