Previous Thread
Next Thread
Print Thread
Emulating the HH Tiger #115496 07/09/19 06:58 PM
Joined: Apr 2012
Posts: 250
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 250
I'm trying to emulate the HH Tiger, the ROMs were dumped from http://www.computinghistory.org.uk/det/52264/HH-Tiger/ at the weekend. There's not much out there about this rare machine (I hear only 12 made) so all I have are the ROMs and a few photos I took of the internals to identify the components and crystals.

See advert on page 150-151 at https://ia600801.us.archive.org/34/...tical%20Computing%201983%20July%2007.pdf

Here's what I now know and have running so far:
Z80A-CPU @ 16MHz / 4
Z80A-DMA
Z80A-PIO - interface with 6809
64K RAM
4K ROM
The Z80 boots from a 4K ROM which is mirrored throughout the address space at startup. A read from IO port $1E replaces the address space with 64K RAM and the ROM is still mapped at $F000-$FFFF.

MC68B09 @ 16MHz / 8
SY6522A VIA x 2 - 1 for printer (centronics) port, other for Z80 interface
NEC uPD7220 graphics processor - 96K video RAM, 512x512 = 32K/bitplane
MC68B54 - Network ports
SY6551A - RS232 @ 1.8432MHz
TMS9914 - GPIB (IEEE-488)
The 6809 boots from 2x8K ROM at $C000-$FFFF, it also has 2K RAM ($0000-$07FF maybe) and $200 bytes CMOS battery backed RAM.

I didn't identify any sound hardware, but I've seen photos of other examples with an internal speaker. There are also connectors for 3 floppy drives but didn't see any FDC in there, but have seen photos where the floppy drives are housed with the monitor (which the museum doesn't have) so maybe the FDC is external too.

I believe I have all devices memory mapped correctly, the 6809 definitely configures the uPD7220 sensibly.
Code
//-------------------------------------------------
//  ADDRESS_MAP( z80_mem )
//-------------------------------------------------

void hhtiger_state::z80_mem(address_map &map)
{
	map(0x0000, 0xffff).rw(FUNC(hhtiger_state::read), FUNC(hhtiger_state::write));
}

void hhtiger_state::z80_io(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x03).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
	map(0x04, 0x07).rw(m_pio, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
	map(0x10, 0x17).rw(m_tms9914, FUNC(tms9914_device::read), FUNC(tms9914_device::write)); // ??
	map(0x1e, 0x1e).r(FUNC(hhtiger_state::disable_rom_r));
}


//-------------------------------------------------
//  ADDRESS_MAP( m6809_mem )
//-------------------------------------------------

void hhtiger_state::m6809_mem(address_map &map)
{
	map(0x0000, 0x07ff).ram();
	map(0xb800, 0xb9ff).ram().share("nvram");
	map(0xbfa0, 0xbfa1).rw(m_gdc, FUNC(upd7220_device::read), FUNC(upd7220_device::write));
	map(0xbfb0, 0xbfb3).rw(m_adlc, FUNC(mc6854_device::read), FUNC(mc6854_device::write)); // ??
	map(0xbfc0, 0xbfcf).m(m_via[1], FUNC(via6522_device::map));
	map(0xbfd0, 0xbfd3).rw(m_acia, FUNC(mos6551_device::read), FUNC(mos6551_device::write)); // ??
	map(0xbfe0, 0xbfef).m(m_via[0], FUNC(via6522_device::map));
	map(0xc000, 0xffff).rom().region("rom_m6809", 0);
}


What I'm struggling with is the communication between the two CPU's with the Z80 PIO and a 6522 VIA. Anyone have any experience with setting up communication with these devices, or any suggestion as to how it may be implemented? The PIO seems to be setup with port A being bi-directional with port A on one of the 6522's, and PIO port B (bit3) seems to be writing to 6522 CA1. I don't yet have any clues on how the 6522 tells the PIO it has data ready.

If I don't make any further progress soon then I'll submit what I have for anyone else to take a look.

I don't expect the machine to do much apart from prompting to insert a CP/M system disk, which I don't have.

Last edited by Pernod; 07/09/19 08:59 PM.

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: Emulating the HH Tiger [Re: Pernod] #115497 07/10/19 02:27 AM
Joined: Dec 2015
Posts: 106
A
AJR Online Content
Senior Member
Online Content
Senior Member
A
Joined: Dec 2015
Posts: 106
Quote
I didn't identify any sound hardware, but I've seen photos of other examples with an internal speaker.


The speaker might potentially be connected to a square-wave timer output from one of the VIAs.

Re: Emulating the HH Tiger [Re: AJR] #115498 07/10/19 11:04 AM
Joined: Apr 2012
Posts: 250
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 250
Originally Posted by AJR

The speaker might potentially be connected to a square-wave timer output from one of the VIAs.

I'd not considered that, the photo that included a speaker did place it near the VIA's so possible.

Here's how the VIA's and PIO are setup:
Code
[:via0]  * :via0 Reg 00 <- 40 - ORB
[:via0]  * :via0 Reg 01 <- 00 - ORA
[:via0]  * :via0 Reg 02 <- df - DDRB
[:via0]  * :via0 Reg 03 <- ff - DDRA
[:via0]  * :via0 Reg 08 <- 83 - T2CL
[:via0]  * :via0 Reg 0b <- 00 - ACR
[:via0]  * :via0 Reg 0c <- 77 - PCR
[:via0]  * :via0 Reg 0d <- ff - IFR
[:via0]  * :via0 Reg 0e <- a0 - IER

[:via0]  * :via0 Reg 00 <- 20 - ORB

[:via1]  * :via1 Reg 00 <- 02 - ORB
[:via1]  * :via1 Reg 01 <- 00 - ORA
[:via1]  * :via1 Reg 02 <- 5f - DDRB
[:via1]  * :via1 Reg 03 <- 7f - DDRA
[:via1]  * :via1 Reg 0b <- c0 - ACR
[:via1]  * :via1 Reg 0c <- 2c - PCR
[:via1]  * :via1 Reg 0d <- ff - IFR
[:via1]  * :via1 Reg 0e <- 7f - IER

[:via0]  * :via0 Reg 02 <- df - DDRB
[:via0]  * :via0 Reg 00 <- 20 - ORB
[:via1]  * :via1 Reg 0c <- cc - PCR
[:via0]  * :via0 Reg 09 <- 06 - T2CH

[:pio] Z80PIO Port A Mode: Bidirectional
[:pio] Z80PIO Port B Mode: Bit Control

So I'm working on the assumption that:
via0 PA goes to pio PA, and maybe via0 PB is the parallel port.
via1 PA could be the keyboard, but we're not there yet.
pio PB is a mystery at this stage.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: Emulating the HH Tiger [Re: Pernod] #115499 07/12/19 05:14 PM
Joined: Apr 2012
Posts: 250
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 250
Anyone familiar with Z80 devices?

The following code is resetting the Z80-DMA with command C3, but why would it do it four times at ports $0000, $0100, $0200, $0300?
Code
FEFE: 0E 00       ld   c,$00
FF00: 06 04       ld   b,$04
FF02: 21 08 FF    ld   hl,$FF08
FF05: ED B3       otir
FF07: C9          ret
FF08: C3 C3 C3    jp   $C3C3
FF0B: C3 


After the DMA is reset it proceeds to configure something else at $14-$17. From what I see the Z80 is only connected to a Z80-DMA and Z80-PIO, and maybe the TMS9914. Does this setup look familiar to anyone?
Code
FF0C: 3E C1       ld   a,$CF
FF0E: D3 16       out  ($16),a
FF10: 3E C1       ld   a,$C1
FF12: D3 16       out  ($16),a
FF14: 3E 00       ld   a,$00
FF16: D3 14       out  ($14),a
FF18: D3 15       out  ($15),a
FF1A: 3E 0F       ld   a,$0F
FF1C: D3 17       out  ($17),a
FF1E: C9          ret


And then configures the PIO at $04-$07.
Code
FEEC: 3E 8F       ld   a,$8F
FEEE: D3 06       out  ($06),a
FEF0: 3E CF       ld   a,$CF
FEF2: D3 07       out  ($07),a
FEF4: 3E C5       ld   a,$C5
FEF6: D3 07       out  ($07),a
FEF8: DB 04       in   a,($04)
FEFA: AF          xor  a
FEFB: D3 05       out  ($05),a
FEFD: C9          ret


I'm coming to the conclusion that there are far too many unknowns with this machine.

I think on my next museum visit I'll concentrate on dumping single CPU machines to have a better chance of getting something running.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: Emulating the HH Tiger [Re: Pernod] #115500 07/12/19 11:14 PM
Joined: Mar 2001
Posts: 16,377
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,377
For the first one, it's common for Z80 systems to not decode the top 8 address bits on I/O accesses, so they're just resetting the same device 4 times in a row.

Re: Emulating the HH Tiger [Re: Pernod] #115839 09/08/19 07:47 PM
Joined: Sep 2019
Posts: 2
P
Pete Todd Offline
Member
Offline
Member
P
Joined: Sep 2019
Posts: 2
Hi, just joined to say that I have two tigers and also images of the disks, I can email them to you.

Re: Emulating the HH Tiger [Re: Pete Todd] #115840 09/08/19 08:26 PM
Joined: Apr 2012
Posts: 250
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 250
Originally Posted by Pete Todd
Hi, just joined to say that I have two tigers and also images of the disks, I can email them to you.

That would be awesome, thanks!

The tiger that the current emulation is based upon was just a standalone machine, with no floppy interface. Any further info you can provide on the floppy interface and how it is connected would be very useful.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: Emulating the HH Tiger [Re: Pernod] #115844 09/08/19 09:44 PM
Joined: Sep 2019
Posts: 2
P
Pete Todd Offline
Member
Offline
Member
P
Joined: Sep 2019
Posts: 2
You should be able to download the zip from here:

http://www.retrogubbins.co.uk/downloads/summary/3-hh-tiger-disks


I'll have a look at the units, I haven't got a full system, only the bases (as the Cambridge unit you've seen)

The Camb unit is serial 20501, I have 20502 and they both have wired factory mods around the 7220 and an extra IC and crystal.

Highest serial I've seen (and I only know of 6 existing units) is 20643

Last edited by Pete Todd; 09/08/19 09:47 PM.
Re: Emulating the HH Tiger [Re: Pernod] #115852 09/09/19 10:17 AM
Joined: Apr 2012
Posts: 250
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 250
The disks look interesting as they are Tiger specific and contain demos that utilise the graphics capabilities of the machine, so will be useful test cases when the time comes. I'm unlikely to get these working in MAME anytime soon though due to lack of technical detail. Do you have any manuals, technical documents, etc. with yours?

If these are original floppies could you also take photos of the labels so that I can document them correctly in a softlist?

The Cambridge machine had ROM release 1.2, are yours the same? If different then ROM dumps would be appreciated too.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.

Who's Online Now
2 registered members (Pernod, AJR), 142 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,713
Posts114,520
Members4,869
Most Online510
Aug 26th, 2019
Powered by UBB.threads™ PHP Forum Software 7.7.3