80-Bus News

  

September–October 1984, Volume 3, Issue 5











Page 11 of 47











Below I have given the complete code needed. It is necessary only to create a 2732 EPROM and plug this into a GM813. The listing is shown in two halves, for convenience, and the CRCs for the two halves have been calculated separately, to make checking simpler.

CRC for first half: CRC = 6B A6 CRC for second half: CRC = A7 42

I have also given the source code of the routine which does the GIPB operation. It is self contained, and as you can see could easily be adapted to operation under any other operating system.

First half of the GIPB.

Record 0.

0100: 00: c3 71 FO C3 5C Fl C3 93 FL Al OL OL 42 C3 00 FO CqpC\qC. q!..BC.p
0110: 10: C3 03 FO C3 09 FC C3 24 FC C3 DE FC C3 F6 FC C3. C.pc.|cs jcricvic
0120: 20: OF FD C3 13 FD 21 83 FF 18 1C 21 86 FF 18 17 21) .}C.}L.. walesee!
0130: 30: 89 FF 18 12 21 8C FF 18 OD 21 8F FF 18 08 21 92 wecelese eleceel
0140: 40: FF 18 03 21 95 FF ED 5B 4E 00 19 £9 20 62 79 74 «soteom[ N..i byt
0150: 50: 65 73 20 2D 20 52 50 2F 4D 20 66 6F 72 20 47 65 es – RP/ M for Ge
0160: 60: 6D 69 6E 69 20 56 32 2E 35 20 2D 20 47 49 50 42 mini V2. 5 – GIPB
0170: 70: 24 16 64 OL FE FO 1E OF ED 59 1D 78 D6 10 47 30 $.d.-p.. mY.xV.GO
Record 1.

0180: 00: F7 15 20 EF 3E 11 D3 FF D3 B3 21 00 00 36 00 11 w. o>.S. 83!..6..
0190: 10: O1 00 01 FF 00 ED BO 21 00 00 7E 2F 77 BE 20 12 ««+.m0! .."/w>.
QIAO: 20: 2F 77 23 11 OC 00 1A 3C 12 FE OA 20 ED AF 12 1B /wh....< 2%. m/e.
O1BO: 30: 18 F4 22 4E 00 11 CO FF 19 F9 11 40 FF 19 3E C3) .t"N..G@. «y.@..90
O1CO: 40: 32 05 00 22 06 00 77 23 11 06 FO 73 23 72 23 22 2.."..wi «.pstrk”
01D0: 50: 46 00 2A 4E 00 11 83 FF 19 32 00 00 22 O1 00 EB F.*Ns... 12s. eck
Q1EO: 60: 1B 1B 1B 21 OD FO O01 18 00 ED BO 32 38 00 21 2A «+.!.p.- .m028.!*
O1FO: 70: FB 22 39 00 3A OB FO 21 03 00 77 DB BE CB 77 28 {"9.:.p! ..w{>Kw(
Record 2.

0200: 00: 04 7E EE Ol 77 O01 FE 00 38 OF ED 79 7E FE C3 ED .7n.w.7. >»my7"Cm
0210: 10: 41 20 02 CB CE 21 00 02 22 4C 00 3A OC FO 32 42 A .KNI.. "L.:.p2B
0220: 20: OO DB Bl CD FB FD 2A 09 FO 22 38 00 CD BD FE 3A. .[IM{}*. p";.M=*:
0230: 30: ID FF FE FF C4 1D FF CD 26 F4 CD 62 FA 21 08 00 ..-.D..M &tMbz!..
0240: 40: 06 05 7E C6 30 5F E5 C5 CD 69 FA Cl El 23 10 F2 ..*FO_eE MizAaf.r
0250: 50: 11 4C FO CD 5D PA CD 3A FB CC 49 FB 2A 4E 00 11 .LpMJzM: {LI(*N..
0260: 60: CO FF 19 F9 21 80 00 22 4A 00 AF 32 41 00 32 45 @..y!.." J4/2A.28
0270: 70: 00 32 53 00 3E FF D3 B6 3E FD D3 B6 3E FF D3 B7 .28.>.86 >}86>.S7
Record 3.

0280: 00: AF D3 B7 D3 BS 2F D3 B4 3A 20 PF FE FF C4 20 FF /S7S85/S4: .”.D.
0290: 10: C3 70 F6 ED 53 57 00 21 O00 00 22 59 00 ED 73 55 CpvmSW.! .."Y.msU
0240: 20: 00 ED 7B 4E 00 21 F4 Fl E5 79 FE 1B DO 4B 21 BE .m{N.!tq ey™.PK!D
02B0: 30: Fl SF 16 00 19 19 5E 23 56 24 57 00 EB E9 25 FO q_«++-£ VAW.KI%p
02C0: 460: Bl F3 8E F2 B6 F3 3E FO 39 FO BB F3 D2 F3 D7 F3 Is.r6s>p 9p;sRsWs
0200: 50: DC F3 DB F2 E2 F3 FD Fi £9 F3 FD Fl E9 F3 E9 F3 \s[rbs}q is}qisis
O2E0: 60: FD Fl FD Fl FD Fl E9 F3 E9 F3 E9 F3 FD Fl FD Fl }a}q}qis isis}q}q
O2F0: 70: FD Fl E9 F3 ED 7B 55 00 2A 59 00 7D 44 C9 21 54 }qism{U. *Y.}DIIT

An alternate version of the GIPB operates using only port B, with the Ready and Strobe lines for handshaking.

This requires special with the interrupt handling software at the host end.

locks up.

code in the EPROM.

Therefore the PIO can handle only one interrupt and then

feature of the card which prevents the PIO receiving the RETI instruction from itself to the same area in RAM.

This is necessary because of a hardware because the EPROM has to be paged out during use of the GIPB, and it copies at the top of memory, occupying the same addresses as the EPROM. The reason that 64K is normally needed is that there must be 4K of RAM This is

use. of RAM at the start of memory i

The GIPB adjusts to the size of memory available, so that in fact only 2K s needed, although this would be of limited

Ss waiting for the handshake signal or the UART status to become ready during printing.

The GIPB accepts input both when it is inactive, and when it i

work perfectly as host machines.

All known versions of the BIOS for Gemi

This could in theory cause loss of characters. ni systems, as well as RP/M itself,

interrupts are next enabled.

send the strobe after examining the Busy line

that the data is held until the

possi

the Busy li not sent.

data and make the strobe go low and then high ble for someone t

Oo Wri

:

te a Centronics output routine whi

ch is so slow to

This system should work correctly, although i

ne is at once set back to 1 to ensure that a second charact

t would in theory be

er is

Tf an interrupt occurs

:

again.

interrupts.

about 40 instructions after it sets the Busy line back to 1 before it disables

This gives the host machine more than enough time to send the

11


This is an OCR’d version of the scanned page and likely contains recognition errors.











Page 11 of 47