MITS 8800B CPU Board

Allison ajp166 at bellatlantic.net
Tue Jun 14 14:01:27 CDT 2005


>
>Subject: Re: MITS 8800B CPU Board
>   From: Tom Jennings <tomj at wps.com>
>   Date: Tue, 14 Jun 2005 11:51:33 -0700 (PDT)
>     To: "General Discussion: On-Topic Posts Only" <cctech at classiccmp.org>
>     Cc: cctalk at classiccmp.org
>
>On Mon, 13 Jun 2005, Allison wrote:
>
>> Yes, you will have to have rom at 0000h though and Mwrite
>> was derived and delivered from the front pannel if memory
>> serves.  So that means ram will have to be set up to not
>> require Mwrite.  Either that or you will have to through
>> something small together to create Mwrite.
>>
>> As to mapping rom out once operational, thats a later problem.
>> It's fairly easy to do.
>
>My S100 system has a homemade EPROM card that powers up into the
>address space, on top of RAM, where the Z80 jumps to it and
>executes from it.
>
>The first thing the EPROM code does is copy itself, in place. This
>reads from EPROM, writes to RAM (well, to EPROM too, but the write
>line is ignored by the EPROM board).
>
>There is a flip-flop set by the RESET line that enables the EPROM
>board.  Any I/O instruction (eg. address not decoded) resets the
>flip-flop, disabling the board.
>
>Therefore, right after the EPROM monitor copies itself to RAM, it
>jumps to the serial port init code, and any old IN or OUT
>instruction disables the EPROM card, leaving the full 64K address
>space available.
>
>My EPROM monitor occupies the top 2K? of the first 32K of address
>space. It fits in the lower 32K static memory card. Hitting reset
>does not disturb CP/M (up at ef00h), and leaves "most" TPA
>programs intact.
>
>The board was designed/made by Tom Campbell, who I worked for way
>back when. It's elegantly simple.
>
>
>
> 	di				; everyone shut up, please
> 	lxi h, epromstartaddress	; EPROM address
> 	lxi d, epromstartaddress	; likewise, I'm sure,
> 	lxi b, 2048			; BC=EPROM size
> 	ldir				; whirl!
> 	in 0				; disables EPROM
> 	...
>

Only one detail... the proposed cpu was 8080 (MITS 8800B)!


	di				; everyone shut up, please
loop: lxi h, epromstartaddress	; EPROM address
 	lxi d, epromstartaddress	; likewise, I'm sure,
 	lxi b, 2048			; BC=EPROM size
 	; ldir ; whirl! ;replace with..
    DCX  B
    MOV a,b
    ORA  c
    JNZ loop
; back to original program
 	in 0				; disables EPROM


Horrid as it's mixed 8080/z80 code.

Allison


More information about the cctalk mailing list