H17 ROM decoding

19 views
Skip to first unread message

Richard Davis Jr.

unread,
Nov 21, 2022, 6:43:49 PM11/21/22
to se...@googlegroups.com
While working with the DCFBOOT app on the Trionyx Z80 board, I discovered the H17ROM is physically decoded at 1000H. It can be changed but this is the default.

The reason is, when running DCFBOOT on CP/M I have to enable the ROM(s) and copy them to RAM. I use the UDD function for creating ASCII digits.

XCON8 has the H17 code at 800H.
PAM37?
The Trionix has it in a separate socket and at 1000H
Heath Z80?
Norberto's Z80?
Joe T's 8K image has it at 1800H.

Thanks,
Rick

Douglas Miller

unread,
Nov 21, 2022, 7:32:09 PM11/21/22
to se...@googlegroups.com

The H17 Floppy ROM (the only copy I've ever seen) is ORGed and mapped at 1800H. There is a JMP table that is copied (along with some other data) into RAM above 2000H. The original memory map had RAM at 1000H (typically only 1K). "Monitor" ROM was mapped at 0000-0FFFH.

Can you explain what you are seeing?

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/CABvWWgbbdwR_8OGVXqRwwJNqgKMn6DA8wBzmG6qp_WXB4%3DWH4Q%40mail.gmail.com.

Richard Davis Jr.

unread,
Nov 21, 2022, 8:23:10 PM11/21/22
to se...@googlegroups.com
Douglas,

I know it is org'ed at 1800H but its physical address is not located there in xcon8 or the Trionyx Z80 board.
XCON8 the H17 code is at 0800H and I copy it to 1800H.
The Trionyx Z80 has the physical address at 1000H and I copy it to 1800H

What I am asking is what is the physical address of the H17 ROM on Norberto's Z80 boards as well as the Heathkit Z80 board.

When running CP/M and I want to switch to HDOS, I run my DCFBOOT app. It enables the ROMs and copies the lower 2K of ROM to RAM. Then it looks for the H17 ROM. I check 0800H (XCON8) and if it isn't there I look at 1000H (Trionyx). I then copy from either to RAM at 1800H and then disable the ROMs.

Rick





Douglas Miller

unread,
Nov 21, 2022, 9:05:59 PM11/21/22
to se...@googlegroups.com

All the expanded ROMs I've worked with have the H17 ROM image at 1800H, and do not copy it from another location. All of 0000-0FFFH is used for monitor code, so there is no room for a copy of H17 ROM. It sounds like XCON8 was trying to handle some situation where the H17 ROM was needed without an H17 board, or else the H17 board was not providing the H17 ROM (early ORG-0 mod bug?). Pretty much every monitor ROM after XCON8 did not have space to keep an additional copy of the H17 ROM, so I'm guessing whatever required this oddity was quickly fixed (by the time 4K Monitor ROMS appeared).

Douglas Miller

unread,
Nov 21, 2022, 9:44:31 PM11/21/22
to se...@googlegroups.com

On 11/21/22 19:22, Richard Davis Jr. wrote:
> ...
> When running CP/M and I want to switch to HDOS, I run my DCFBOOT app.
> It enables the ROMs and copies the lower 2K of ROM to RAM. Then it
> looks for the H17 ROM. I check 0800H (XCON8) and if it isn't there I
> look at 1000H (Trionyx). I then copy from either to RAM at 1800H and
> then disable the ROMs.
>
> Rick
>
So, it sounds like you are trying to interpret what combination of ROMs
are installed, and then manipulate those. Are you actually trying to
boot directly from CP/M to HDOS without passing through the monitor (and
H17) ROM (lat along a hardware RESET)? That's not really the way the
ROMs were designed to operate. There's a fair amount of
re-initialization (de-initialization) that will be required to get that
working right. Even the bootstrap code is part of that, and will depend
on a certain state of hardware. There are a lot of variables in the RAM
area at 2000H that also need to be properly setup - and they certainly
won't be that way after running CP/M.

norberto.collado koyado.com

unread,
Nov 21, 2022, 11:10:05 PM11/21/22
to se...@googlegroups.com

Terry G. explained this very well.

 

When XCON/8 came around, it complicated things just a bit.  XCON/8 is a 4K EPROM, and it contains an advanced version of PAM/8 and the H17ROM code.  The H17 code is stored in the ROM at one location, but copied during the init process to another location, so you have what I'll call a 'boot map' and a 'runtime map.'

 

Boot Map:

0000-0FFFH - XCON/8 (0-4K - includes PAM/8 and H17ROM)

1000-1FFFH - Unused (4K-8K)

 

After init, the runtime map is:

 

0000-07FFH - XCON/8 enhanced (0-2K)

0800-0FFFH - Upper half of XCON/8 - H17ROM, but in wrong location (2-4K)

1000-17FFH - unassigned (4-6K)

1800-1FFFH - H17ROM in RAM @ correct location (6-8K)

 

As we are using PAM-37, on all our CPU’s, then it is as follows:

 

0000-0FFFH - PAM/37 (0-4K)
1000-17FFH - XCON/8 lower half - unused, but present (4K-6K)
1800-1FFFH - XCON/8 upper half, which is H17ROM @ correct address (6-8K)

 

Thanks,

Norberto

--

You received this message because you are subscribed to the Google Groups "SEBHC" group.

To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

norberto.collado koyado.com

unread,
Nov 21, 2022, 11:15:32 PM11/21/22
to se...@googlegroups.com

This region is always not used either for XCON-8 and PAM-37, so you can have your code there.

1000-17FFH - unassigned (4-6K)

 

Norberto

Reply all
Reply to author
Forward
0 new messages