Changes

BrunWord

4,369 bytes added, 16:18, 16 December 2012
/* Technical */
== Versions ==
* '''BrunWord 6128''' requires 128K RAM (works on CPC 6128, or on CPC 464 with [[Standard Memory Expansions]]). Available as Disc-version and ROM-version(MK4 is the last ROM version known, copyright 1995).
* '''BrunWord 464''' works on any CPC 464, 664, or 6128. ''According to the manual, this comes on disc, too, ie. not on cassette (?)''
* '''Newer/older''' versions - early versions (1985) didn't have the spell check
<gallery>
 
File:Brunword Mk2 RW383 ROM (Top).jpg|Brunword Mk2 RW383 ROM
File:Eight Bit Status Port (Top) (for Brunword).jpg|Eight Bit Status Port
File:Brunword_mk4.png‎|Brunword MK4 screenshotFile:Brunword_Notes.png|Brunword MK4 Addendum to the manual
</gallery>
===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 (&DF00DFXX) 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. Bit 7 is ignored. Bits 5..0 (rrrrrr) define the ROM page to show.  Brunword pages 1,2,3 appear in ROM select positions 1,2,3 respectively. No other pages can be shown using this method.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 second role makes a page visible in the range &4000-&7FFF of the Z80's address space. The following applies: 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 is 0 to 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 Disable Brunword ROM in the range &c000-&ffff:  call kl_u_rom_disable '''MK4''' This version was published in 1995. The ROM has a size of 512KBs, split in 16KBs pages (32). The pages 1, 2 and 3 ($C1, $C2 and $C3 are the page number for the hardware) are standard CPC ROMs and they can be paged in at the normal $C000-$FFFF range.  The content of these 32 pages are:* 0 ($C0): Tutorial.* 1 ($C1), 2 ($C2) and 3 ($C3): Brunword and Info-Script ($C3 includes references of the font and dictionary pages).* 4 ($C8), 5 ($C9), 6 ($CA) and 7 ($CB): Dictionary.* 8 - 30 ($D0-$D3, $D8-$DB, $E0-$E3, $E8-$EB, $F0-$F3, $F8-$FA): 23 fonts, one for page.* 31 ($FB): Examples. The ROM includes hardware to decode the ROM Select port ($DFXX) and make visible all the 32 pages (included the three previous) in the range $4000-$7FFF, the RAM page under this range is not disable and can be written normally (this was used to dump the pages). For simplify the page number to send to the ROM Select port, we are going to consider that the pages are grouped in 64 KBs banks (8). With that in mind, the page number to send has the next format:%11bbb0pp
First is The two most weight bits need to select which ROM be at 1 to make visible the page appears in ; with the range &C000-&FFFF of the Z80three bits '''bbb'''s address space. (It seems bit 7,6,5,4 must we select the 64 KBs bank; the next bit need to be 0).Bits 3..0 are decoded as the page number. Page 1 ; and 2 only seem with the two less weight bits, we select which of the four pages of the bank is going to be visible at this time.
The second role (when bit 5At this time,4 are Brunword can not be used), makes a page visible in the range &4000-&FFFF of the Z80's address space.Bit 5 seems to be any emulator or rom enable/disableboard, bit 4 because there is set no support for the second role (0 for other), and bits 3clever ROM paging system used..0 are the page numberIt seems to be a kind of hardware copy protection.
The exact decoding of the ROM select port is unknown.The exact function of all the data bits is not knownI would like to thank CPCManiaco by buying this fantastic software in 1995 and help me to preserve it in 2012.
== Manual ==
* [[Media:BrunWord 6128 Manual.pdf|BrunWord 464/6128 (Brunning Software) Manual]] {{EN}} {{PDF}}
* [[Media:BrunWord ROM (Brunning Software) Manual.pdf|BrunWord ROM (Brunning Software) Manual]] {{EN}} {{PDF}}
* [[Media:BrunWord ROM (Brunning Software) MK4 Supplement.pdf|BrunWord ROM (Brunning Software) MK4 Supplement]] {{EN}} {{PDF}}
== Downloads ==
* [[Media:Brunword 6128 (disc) (Brunning Software).zip|Brunword 6128 (disc) (Brunning Software).zip]] (DSK for Emulators)
* [[Media:Brunword_MK4.zip‎|Brunword 6128 as ROM version - none such? (should exist, according to [[Hwlist from retroisleMK4]](courtesy of CPCManiaco)
* Brunword 464 as DSK versions - none such? (should exist, according to manual)
* Brunword 464 as ROM versions - none such? (might also exist?)
* [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