Changes

Jump to: navigation, search

BrunWord

1,645 bytes added, 16:18, 16 December 2012
/* Technical */
===Technical===
'''Eight Bit Status Port'''
 
The Eight Bit Status Port connects to the printer connector of the CPC.
 
On the top side, 12 pins are connected. From left to right. These are strobe, D0-D7, acknowledge, busy and paper out, the remaining 5 pins are not connected.
On the underside, 10 pins are all connected together and are "signal ground", 7 pins are not connected.
 
"no paper" is an active high signal, so it is high or 1 when there is no paper.
"busy" is an active high signal, and will be set for busy, offline or an error.
 
The software uses databits D1 and D2.
 
The following code is used:
LD C,&0
RES 2,A
CALL READ_STATUS
SET 2,A
CALL READ_STATUS
CALL READ_STATUS
LD A,C
AND A,&3C
.
.
.
READ_STATUS:
LD B,&EF
RES 1,A
OUT (C),A
SET 1,A
OUT (C),A
LD B,&F5
PUSH AF
IN A,(C)
AND A,&40
OR A,C
LD C,A
POP AF
RRC C
RET
 
 
3 busy states are recorded.
 
3 values are checked.
 
&00 -> on line, has paper
&08 -> on line, no paper
&28 -> off line
 
other...?
 
The interface is supported by Brunword Elite and Brunword ROM version.
 
 
'''MK2'''
 
The MK2 module connects to the expansion connector of the CPC.
ROM version has a size of 256K. It is split into 16K pages. 2 Pages are standard CPC roms, one of which is a "extension rom".
Part of the Brunword word processor is copied into RAM. This is done by it's "extension rom".
The ROM Select port (&DFXX) is decoded and has 2 roles. (It is decoded in the standard way, with bit 13 of the port address must be set to 0).
First is to select which ROM page appears in the range &C000-&FFFF of the Z80's address space.
The byte sent to this port is decoded as:
x0rrrrrr
Bit 6 must be 0.
Bits 5..0 (rrrrrr) define the ROM page to show.
Brunword pages 1,2,3 appear in ROM select positions 1,2,3 only. They are repeated every 64respectively. No other pages of the Brunword ROM can be selected in shown using this waymethod.They are repeated every 64 "ROM" slots
The upper ROM enable/disable mechanism works with them, and so does the write through to RAM. They operate just like standard CPC Roms.
The following applies:
x11bbb0pp x11bbbepp
bbb define the 64K Bank. pp define the 16K page within that bank.
bit 7 is ignored.
Bit 6 and 5 must be 1.  Bit 2 must be is 0to make the ROM page visible in the range &4000-&7fff.Bit 2 is 1 to disable the ROM page in the range &4000-&7fff. All pages of the Brunword ROM can be selected this way. The upper ROM enable/disable mechanism doesn't work, it makes no difference to the visibility of the ROM data here. The ROM visibility is only controlled with bit 2 of the data. RAM write through works.  The values repeat every 128.  The pages can appear in both &c000-&ffff and &4000-&ffff. Examples: Enable page 1 of the Brunword ROM in the range &4000-&7fff.  ld bc,&df00+%01100001 out (c),c Disable Brunword ROM in the range &4000-&7fff. (Bits 4,3 and 1,0 are ignored)  ld bc,&df00+%01100100 out (c),c Enable page 1 of the Brunword ROM in the range &c000-&ffff;  call kl_u_rom_enable  ld bc,&df01 out (c),c
All pages of the Disable Brunword ROM can be selected this way including 1,2,3. The upper ROM enable/disable mechanism doesn't work, so the ROM data appears in the range &4000-&7fff until another ROM selection is made. I (Arnoldemu) can't yet determine if the RAM write through works either. The page is always visible in the range &4000c000-&7fff.ffff:
The values repeat every 128. If bit 6,5 and 2 are not defined as above then no page is selected, the ROM page is not visible and it works just like normal RAM. call kl_u_rom_disable
'''MK4'''
* [http://www.cpc-power.com/index.php?page=detail&num=4516 ''BrunWord'' from CPC-Power]
* [http://www.brunningsoftware.co.uk Brunning Software]
[[Category:Applications]] [[Category:Manual]]
2,541
edits