• Please review our updated Terms and Rules here

Problems using tu58em with VAX-11/725 / VAX-11/730

I understood the protocol documentation that XON/XOFF flow control can be used just from host side in order to pause the data streem from TU58. Of course the TU58 must not check these flow control charactres while receiving command packet or data packet.

Jiri
 
The TU58 controller with MRSP support I checked has its x85 firmware located in 2 kB ROM labeled as DEC 1984. I can also read this chip in my device programmer. I am not sure if this is the latest issue of the firmware and if this version is used with VAX-11/725, 730. Does anybody know?
 
I dumped out the EPROM from my 11/730's TU58 drive for the carefully-considerd reason of "well, why not?":

https://github.com/NF6X/tu58firmware

Now, do any of y'all have a favorite 8085 disassembler to recommend? Preferably free, and extra credit given if it's open-source code that I can build/run on my Mac.
 
I'm not sure what you mean by '9600 emulator work at 19200'. As long as the host and emulator are both running at the same baud rate on each RX/TX link you should be ok. You should even be able to run split rate; ie, 9600b for the host/device tx/rx link, and 19200b for the device/host tx/rx link. There is no inherent reason why each direction has to run the same rate (altho on some device like a PC it is hard to do split rate).

As I said above I run the exact same emulator on a PC at any rate from 9600b to 115200b, depending on the capability of the underlying hardware.

Enabling h/w flow control would theoretically be transparent to the upper level TU58 protocol (where s/w flow control is NOT) but the issue is that most (all?) of the TU58 interfaces on DEC hardware did not implement RTS/CTS hardware flow control. So it would take a h/w mod at least.

Don
Not in my case ;-(
I can use tu58em at 9600 baud all day long.
However if I crank the speed up to 19200 at both ends the thing just does not work - I get errors - of the sort shown at the start of this thread.

I run my terminal at 38400 OK and have no known issues - but, of course, I am mainly outputting at that speed. My typing is not that fast any more.
I dont use h/w flow-control since the notes say not to. I am an old unix guy, so I have played with clocal and ixoff ixon of stty and the same at the IOCTALS. Nothing seems to make my '73 run the emulator at faster than 9600.
I need to get the logic analyser out to see what is actually flowing in the wires.

For me it is not a problem. It worked at 9600 and allowed me run diags.
 
I dumped out the EPROM from my 11/730's TU58 drive for the carefully-considerd reason of "well, why not?":

https://github.com/NF6X/tu58firmware

Now, do any of y'all have a favorite 8085 disassembler to recommend? Preferably free, and extra credit given if it's open-source code that I can build/run on my Mac.

Here is a disassembled EPROM from a desktop TU58 box (23-389E2). Timestamp on the file is 2006. Don't know how it was generated.

Code:
--------------------------------------------------
8085 DISASSEMBLER LISTING
Line   Addr Opcodes     Label   Instruction
--------------------------------------------------

0001   0000 31 FF 20            LXI SP,20FFH
0002   0003 DB 21               IN 21H
0003   0005 E6 40               ANI 40H
0004   0007 CA 03 01            JZ L0001
0005   000A CD 45 00            CALL L0002
0006   000D CD 9A 07            CALL L0003
0007   0010 F3          L0009:  DI
0008   0011 31 FF 20            LXI SP,20FFH
0009   0014 CD 49 00            CALL L0004
0010   0017 3E 04       L0007:  MVI A,04H
0011   0019 CD 31 02            CALL L0005
0012   001C CD F0 00            CALL L0006
0013   001F C3 17 00            JMP L0007
0014   0022 00                  NOP
0015   0023 00                  NOP
0016   0024 F3                  DI
0017   0025 31 FF 20            LXI SP,20FFH
0018   0028 DB 08               IN 08H
0019   002A 3E FD               MVI A,0FDH
0020   002C D3 22               OUT 22H
0021   002E 2E 05               MVI L,05H
0022   0030 C3 77 00            JMP L0008
0023   0033 00                  NOP
0024   0034 F5                  PUSH PSW
0025   0035 E5                  PUSH H
0026   0036 DB 08               IN 08H
0027   0038 2A 01 20            LHLD 2001H
0028   003B E9                  PCHL
0029   003C 3E 10               MVI A,10H
0030   003E 30                  SIM
0031   003F 20                  RIM
0032   0040 07                  RLC
0033   0041 78                  MOV A,B
0034   0042 1F                  RAR
0035   0043 47                  MOV B,A
0036   0044 C9                  RET
0037   0045 AF          L0002:  XRA A
0038   0046 32 0C 20            STA 200CH
0039   0049 AF          L0004:  XRA A
0040   004A 32 00 20            STA 2000H
0041   004D 21 74 01    L0112:  LXI H,0174H
0042   0050 22 01 20    L0015:  SHLD 2001H
0043   0053 3E 4D               MVI A,4DH
0044   0055 30                  SIM
0045   0056 FB                  EI
0046   0057 3E FE       L0118:  MVI A,0FEH
0047   0059 D3 20               OUT 20H
0048   005B 3E FD               MVI A,0FDH
0049   005D D3 22               OUT 22H
0050   005F DB 23               IN 23H
0051   0061 F6 01               ORI 01H
0052   0063 D3 23               OUT 23H
0053   0065 3E 0C               MVI A,0CH
0054   0067 32 AD 20            STA 20ADH
0055   006A AF                  XRA A
0056   006B 32 A2 20            STA 20A2H
0057   006E 3A 0C 20            LDA 200CH
0058   0071 E6 08               ANI 08H
0059   0073 32 0C 20            STA 200CH
0060   0076 C9                  RET
0061   0077 CD F0 00    L0008:  CALL L0006
0062   007A 20                  RIM
0063   007B E6 20               ANI 20H
0064   007D CA 77 00            JZ L0008
0065   0080 2D                  DCR L
0066   0081 CA 10 00            JZ L0009
0067   0084 DB 08               IN 08H
0068   0086 FE 04               CPI 04H
0069   0088 C2 77 00            JNZ L0008
0070   008B CD 49 00            CALL L0004
0071   008E 32 B6 20            STA 20B6H
0072   0091 31 FF 20    L0024:  LXI SP,20FFH
0073   0094 AF                  XRA A
0074   0095 32 0C 20            STA 200CH
0075   0098 32 A2 20            STA 20A2H
0076   009B 21 00 00            LXI H,0000H
0077   009E 22 B4 20            SHLD 20B4H
0078   00A1 22 03 20            SHLD 2003H
0079   00A4 3E 4D               MVI A,4DH
0080   00A6 30                  SIM
0081   00A7 FB                  EI
0082   00A8 CD 18 03    L0011:  CALL L0010
0083   00AB CD F0 00            CALL L0006
0084   00AE 3A A2 20            LDA 20A2H
0085   00B1 E6 80               ANI 80H
0086   00B3 CA A8 00            JZ L0011
0087   00B6 3A 07 20            LDA 2007H
0088   00B9 FE 02               CPI 02H
0089   00BB C2 10 00            JNZ L0009
0090   00BE 3A 09 20            LDA 2009H
0091   00C1 FE 0B               CPI 0BH
0092   00C3 3E D0               MVI A,0D0H
0093   00C5 D2 75 07            JNC L0012
0094   00C8 3A 09 20            LDA 2009H
0095   00CB 21 D8 00            LXI H,00D8H
0096   00CE 07                  RLC
0097   00CF 5F                  MOV E,A
0098   00D0 16 00               MVI D,00H
0099   00D2 19                  DAD D
0100   00D3 5E                  MOV E,M
0101   00D4 23                  INX H
0102   00D5 56                  MOV D,M
0103   00D6 EB                  XCHG
0104   00D7 E9                  PCHL
0105   00D8 46                  MOV B,M
0106   00D9 07                  RLC
0107   00DA 80                  ADD B
0108   00DB 07                  RLC
0109   00DC 1D                  DCR E
0110   00DD 07                  RLC
0111   00DE C7                  RST 0
0112   00DF 05                  DCR B
0113   00E0 46                  MOV B,M
0114   00E1 07                  RLC
0115   00E2 95                  SUB L
0116   00E3 02                  STAX B
0117   00E4 46                  MOV B,M
0118   00E5 07                  RLC
0119   00E6 EC 07 86            CPE L0013
0120   00E9 07                  RLC
0121   00EA 46                  MOV B,M
0122   00EB 07                  RLC
0123   00EC 46                  MOV B,M
0124   00ED 07                  RLC
0125   00EE 46                  MOV B,M
0126   00EF 07                  RLC
0127   00F0 DB 21       L0006:  IN 21H
0128   00F2 E6 40               ANI 40H
0129   00F4 3A B6 20            LDA 20B6H
0130   00F7 CA 00 01            JZ L0014
0131   00FA F6 01               ORI 01H
0132   00FC 32 B6 20            STA 20B6H
0133   00FF C9                  RET
0134   0100 E6 01       L0014:  ANI 01H
0135   0102 C8                  RZ
0136   0103 31 FF 20    L0001:  LXI SP,20FFH
0137   0106 21 C3 01            LXI H,01C3H
0138   0109 CD 50 00            CALL L0015
0139   010C AF                  XRA A
0140   010D 32 0C 20            STA 200CH
0141   0110 D3 23               OUT 23H
0142   0112 06 FF               MVI B,0FFH
0143   0114 CD 04 04            CALL L0016
0144   0117 CD 9A 07            CALL L0003
0145   011A 32 0B 20            STA 200BH
0146   011D 32 00 20            STA 2000H
0147   0120 21 00 00            LXI H,0000H
0148   0123 22 A9 20            SHLD 20A9H
0149   0126 CD 52 05    L0023:  CALL L0017
0150   0129 CD 0E 04            CALL L0018
0151   012C 21 19 20            LXI H,2019H
0152   012F 0E 80               MVI C,80H
0153   0131 7E          L0022:  MOV A,M
0154   0132 CD 31 02            CALL L0005
0155   0135 3A 01 20            LDA 2001H
0156   0138 FE 1A               CPI 1AH
0157   013A CA 51 01            JZ L0019
0158   013D 7E                  MOV A,M
0159   013E FE 47               CPI 47H
0160   0140 CA 6B 01            JZ L0020
0161   0143 06 02               MVI B,02H
0162   0145 E6 F8               ANI 0F8H
0163   0147 EE 30               XRI 30H
0164   0149 CA 4E 01            JZ L0021
0165   014C 06 14               MVI B,14H
0166   014E CD 04 04    L0021:  CALL L0016
0167   0151 23          L0019:  INX H
0168   0152 0D                  DCR C
0169   0153 C2 31 01            JNZ L0022
0170   0156 2A A9 20            LHLD 20A9H
0171   0159 23                  INX H
0172   015A 22 A9 20            SHLD 20A9H
0173   015D 3E 04               MVI A,04H
0174   015F BD                  CMP L
0175   0160 C2 26 01            JNZ L0023
0176   0163 3A 01 20            LDA 2001H
0177   0166 FE 1A               CPI 1AH
0178   0168 C2 26 01            JNZ L0023
0179   016B CD 49 00    L0020:  CALL L0004
0180   016E 32 B6 20            STA 20B6H
0181   0171 C3 91 00            JMP L0024
0182   0174 FE 08               CPI 08H
0183   0176 21 1A 01            LXI H,011AH
0184   0179 CA C0 01            JZ L0025
0185   017C FE 13               CPI 13H
0186   017E C2 89 01            JNZ L0026
0187   0181 3E FF               MVI A,0FFH
0188   0183 32 00 20            STA 2000H
0189   0186 C3 C3 01            JMP L0027
0190   0189 6F          L0026:  MOV L,A
0191   018A E6 FE               ANI 0FEH
0192   018C FE 10               CPI 10H
0193   018E C2 98 01            JNZ L0028
0194   0191 AF                  XRA A
0195   0192 32 00 20            STA 2000H
0196   0195 C3 C3 01            JMP L0027
0197   0198 3E 04       L0028:  MVI A,04H
0198   019A BD                  CMP L
0199   019B CA 58 02            JZ L0029
0200   019E 3A A2 20            LDA 20A2H
0201   01A1 E6 80               ANI 80H
0202   01A3 C2 10 00            JNZ L0009
0203   01A6 7D                  MOV A,L
0204   01A7 32 07 20            STA 2007H
0205   01AA 32 9F 20            STA 209FH
0206   01AD 11 19 20            LXI D,2019H
0207   01B0 FE 01               CPI 01H
0208   01B2 CA BD 01            JZ L0030
0209   01B5 11 09 20            LXI D,2009H
0210   01B8 FE 02               CPI 02H
0211   01BA C2 10 00            JNZ L0009
0212   01BD 21 C7 01    L0030:  LXI H,01C7H
0213   01C0 22 01 20    L0025:  SHLD 2001H
0214   01C3 E1          L0027:  POP H
0215   01C4 F1                  POP PSW
0216   01C5 FB                  EI
0217   01C6 C9                  RET
0218   01C7 4F                  MOV C,A
0219   01C8 32 08 20            STA 2008H
0220   01CB 32 A0 20            STA 20A0H
0221   01CE FE 81               CPI 81H
0222   01D0 D2 10 00            JNC L0009
0223   01D3 06 01               MVI B,01H
0224   01D5 21 DB 01            LXI H,01DBH
0225   01D8 C3 C0 01            JMP L0025
0226   01DB 12                  STAX D
0227   01DC 1A                  LDAX D
0228   01DD CD 13 02            CALL L0031
0229   01E0 0D                  DCR C
0230   01E1 CA E8 01            JZ L0032
0231   01E4 13                  INX D
0232   01E5 C3 C3 01            JMP L0027
0233   01E8 21 EE 01    L0032:  LXI H,01EEH
0234   01EB C3 C0 01            JMP L0025
0235   01EE 21 9F 20            LXI H,209FH
0236   01F1 96                  SUB M
0237   01F2 C2 10 00            JNZ L0009
0238   01F5 21 FB 01            LXI H,01FBH
0239   01F8 C3 C0 01            JMP L0025
0240   01FB 21 A0 20            LXI H,20A0H
0241   01FE 96                  SUB M
0242   01FF C2 10 00            JNZ L0009
0243   0202 2A 9F 20            LHLD 209FH
0244   0205 22 05 20            SHLD 2005H
0245   0208 3E 80               MVI A,80H
0246   020A 32 A2 20            STA 20A2H
0247   020D 21 74 01            LXI H,0174H
0248   0210 C3 C0 01            JMP L0025
0249   0213 E5          L0031:  PUSH H
0250   0214 6F                  MOV L,A
0251   0215 78                  MOV A,B
0252   0216 EE 01               XRI 01H
0253   0218 47                  MOV B,A
0254   0219 C2 24 02            JNZ L0033
0255   021C 7D          L0034:  MOV A,L
0256   021D 21 9F 20            LXI H,209FH
0257   0220 8E                  ADC M
0258   0221 77                  MOV M,A
0259   0222 2E 00               MVI L,00H
0260   0224 7D          L0033:  MOV A,L
0261   0225 21 A0 20            LXI H,20A0H
0262   0228 8E                  ADC M
0263   0229 77                  MOV M,A
0264   022A 2E 00               MVI L,00H
0265   022C DA 1C 02            JC L0034
0266   022F E1                  POP H
0267   0230 C9                  RET
0268   0231 F5          L0005:  PUSH PSW
0269   0232 E5                  PUSH H
0270   0233 2E 08               MVI L,08H
0271   0235 2D          L0035:  DCR L
0272   0236 C5                  PUSH B
0273   0237 CC 0E 04            CZ L0018
0274   023A C1                  POP B
0275   023B 20                  RIM
0276   023C E6 10               ANI 10H
0277   023E CA 35 02            JZ L0035
0278   0241 3A 00 20            LDA 2000H
0279   0244 3C                  INR A
0280   0245 CA 35 02            JZ L0035
0281   0248 E1                  POP H
0282   0249 F1                  POP PSW
0283   024A D3 08               OUT 08H
0284   024C 3A 0C 20            LDA 200CH
0285   024F E6 08               ANI 08H
0286   0251 C8                  RZ
0287   0252 3E FF               MVI A,0FFH
0288   0254 32 00 20            STA 2000H
0289   0257 C9                  RET
0290   0258 31 FF 20    L0029:  LXI SP,20FFH
0291   025B CD 49 00            CALL L0004
0292   025E CD 4C 05            CALL L0036
0293   0261 C3 91 00            JMP L0024
0294   0264 21 17 20    L0090:  LXI H,2017H
0295   0267 36 01               MVI M,01H
0296   0269 23                  INX H
0297   026A 56          L0111:  MOV D,M
0298   026B 14                  INR D
0299   026C 14                  INR D
0300   026D AF                  XRA A
0301   026E 32 9F 20            STA 209FH
0302   0271 32 A0 20            STA 20A0H
0303   0274 06 01               MVI B,01H
0304   0276 2B                  DCX H
0305   0277 7E          L0037:  MOV A,M
0306   0278 CD 13 02            CALL L0031
0307   027B 7E                  MOV A,M
0308   027C CD 31 02            CALL L0005
0309   027F 23                  INX H
0310   0280 15                  DCR D
0311   0281 C2 77 02            JNZ L0037
0312   0284 21 9F 20            LXI H,209FH
0313   0287 CD 8B 02            CALL L0038
0314   028A 23                  INX H
0315   028B 3E 1E       L0038:  MVI A,1EH
0316   028D CD FB 03            CALL L0039
0317   0290 7E                  MOV A,M
0318   0291 CD 31 02            CALL L0005
0319   0294 C9                  RET
0320   0295 CD FA 06            CALL L0040
0321   0298 CD A4 02            CALL L0041
0322   029B CD 24 03            CALL L0042
0323   029E CD 0E 04            CALL L0018
0324   02A1 C3 46 07            JMP L0043
0325   02A4 2A A9 20    L0041:  LHLD 20A9H
0326   02A7 EB                  XCHG
0327   02A8 21 AE 20            LXI H,20AEH
0328   02AB 36 E9               MVI M,0E9H
0329   02AD 7A                  MOV A,D
0330   02AE FE 08               CPI 08H
0331   02B0 3E FE               MVI A,0FEH
0332   02B2 D2 75 07            JNC L0012
0333   02B5 7A                  MOV A,D
0334   02B6 FE 04               CPI 04H
0335   02B8 3F                  CMC
0336   02B9 7B                  MOV A,E
0337   02BA 17                  RAL
0338   02BB 5F                  MOV E,A
0339   02BC 7A                  MOV A,D
0340   02BD 17                  RAL
0341   02BE E6 07               ANI 07H
0342   02C0 57                  MOV D,A
0343   02C1 FE 04               CPI 04H
0344   02C3 DA C8 02            JC L0044
0345   02C6 36 F9               MVI M,0F9H
0346   02C8 3A 0B 20    L0044:  LDA 200BH
0347   02CB FE 01               CPI 01H
0348   02CD CA D8 02            JZ L0045
0349   02D0 DA E4 02            JC L0046
0350   02D3 3E F8               MVI A,0F8H
0351   02D5 C3 75 07            JMP L0012
0352   02D8 7E          L0045:  MOV A,M
0353   02D9 E6 F7               ANI 0F7H
0354   02DB 77                  MOV M,A
0355   02DC 3E 04               MVI A,04H
0356   02DE 2A A5 20            LHLD 20A5H
0357   02E1 C3 E9 02            JMP L0047
0358   02E4 3E 08       L0046:  MVI A,08H
0359   02E6 2A A3 20            LHLD 20A3H
0360   02E9 32 B3 20    L0047:  STA 20B3H
0361   02EC 4F                  MOV C,A
0362   02ED 3A AD 20            LDA 20ADH
0363   02F0 A1                  ANA C
0364   02F1 CA F6 02            JZ L0048
0365   02F4 6B                  MOV L,E
0366   02F5 62                  MOV H,D
0367   02F6 CD FE 02    L0048:  CALL L0049
0368   02F9 EB                  XCHG
0369   02FA 22 A7 20            SHLD 20A7H
0370   02FD C9                  RET
0371   02FE CD 18 03    L0049:  CALL L0010
0372   0301 E5                  PUSH H
0373   0302 21 B3 20            LXI H,20B3H
0374   0305 DB 21               IN 21H
0375   0307 A6                  ANA M
0376   0308 3E F7               MVI A,0F7H
0377   030A C2 75 07            JNZ L0012
0378   030D 3A AD 20            LDA 20ADH
0379   0310 2F                  CMA
0380   0311 B6                  ORA M
0381   0312 2F                  CMA
0382   0313 32 AD 20            STA 20ADH
0383   0316 E1                  POP H
0384   0317 C9                  RET
0385   0318 E5          L0010:  PUSH H
0386   0319 DB 21               IN 21H
0387   031B E6 0C               ANI 0CH
0388   031D 21 AD 20            LXI H,20ADH
0389   0320 B6                  ORA M
0390   0321 77                  MOV M,A
0391   0322 E1                  POP H
0392   0323 C9                  RET
0393   0324 3E F8       L0042:  MVI A,0F8H
0394   0326 32 B0 20            STA 20B0H
0395   0329 CD FE 02    L0062:  CALL L0049
0396   032C 2A A7 20            LHLD 20A7H
0397   032F 7C                  MOV A,H
0398   0330 E6 03               ANI 03H
0399   0332 67                  MOV H,A
0400   0333 7A                  MOV A,D
0401   0334 E6 03               ANI 03H
0402   0336 57                  MOV D,A
0403   0337 7D                  MOV A,L
0404   0338 93                  SUB E
0405   0339 6F                  MOV L,A
0406   033A 7C                  MOV A,H
0407   033B 9A                  SBB D
0408   033C 67                  MOV H,A
0409   033D D2 66 03            JNC L0050
0410   0340 3A B0 20    L0054:  LDA 20B0H
0411   0343 3C                  INR A
0412   0344 32 B0 20            STA 20B0H
0413   0347 3E E0               MVI A,0E0H
0414   0349 CA 75 07            JZ L0012
0415   034C 7D                  MOV A,L
0416   034D 2F                  CMA
0417   034E 6F                  MOV L,A
0418   034F 7C                  MOV A,H
0419   0350 2F                  CMA
0420   0351 67                  MOV H,A
0421   0352 23                  INX H
0422   0353 23                  INX H
0423   0354 23                  INX H
0424   0355 3A AE 20            LDA 20AEH
0425   0358 F6 04               ORI 04H
0426   035A 32 AE 20            STA 20AEH
0427   035D CD 3B 04            CALL L0051
0428   0360 CD 0E 04            CALL L0018
0429   0363 C3 80 03            JMP L0052
0430   0366 AF          L0050:  XRA A
0431   0367 BC                  CMP H
0432   0368 C2 75 03            JNZ L0053
0433   036B BD                  CMP L
0434   036C CA 40 03            JZ L0054
0435   036F 3E 04               MVI A,04H
0436   0371 BD                  CMP L
0437   0372 D2 80 03            JNC L0052
0438   0375 2B          L0053:  DCX H
0439   0376 2B                  DCX H
0440   0377 2B                  DCX H
0441   0378 CD 3B 04            CALL L0051
0442   037B 06 0F               MVI B,0FH
0443   037D CD 10 04            CALL L0055
0444   0380 3E BE       L0052:  MVI A,0BEH
0445   0382 D3 24               OUT 24H
0446   0384 3E C0               MVI A,0C0H
0447   0386 D3 25               OUT 25H
0448   0388 3E CE               MVI A,0CEH
0449   038A D3 20               OUT 20H
0450   038C 3A AE 20            LDA 20AEH
0451   038F F6 80               ORI 80H
0452   0391 E6 FA               ANI 0FAH
0453   0393 32 AE 20            STA 20AEH
0454   0396 47                  MOV B,A
0455   0397 DB 22               IN 22H
0456   0399 E6 01               ANI 01H
0457   039B 78                  MOV A,B
0458   039C D3 22               OUT 22H
0459   039E 06 1E               MVI B,1EH
0460   03A0 C4 04 04            CNZ L0016
0461   03A3 CD 74 04            CALL L0056
0462   03A6 FE 09               CPI 09H
0463   03A8 F2 08 05            JP L0057
0464   03AB CD A9 04            CALL L0058
0465   03AE 0E 04               MVI C,04H
0466   03B0 21 9B 20            LXI H,209BH
0467   03B3 CD D9 04            CALL L0059
0468   03B6 3A 9D 20            LDA 209DH
0469   03B9 21 9B 20            LXI H,209BH
0470   03BC 2F                  CMA
0471   03BD BE                  CMP M
0472   03BE C2 E1 03            JNZ L0060
0473   03C1 3A 9E 20            LDA 209EH
0474   03C4 2F                  CMA
0475   03C5 23                  INX H
0476   03C6 BE                  CMP M
0477   03C7 C2 E1 03            JNZ L0060
0478   03CA CD 20 05            CALL L0061
0479   03CD 3A A7 20            LDA 20A7H
0480   03D0 BB                  CMP E
0481   03D1 C2 29 03            JNZ L0062
0482   03D4 3A A8 20            LDA 20A8H
0483   03D7 BA                  CMP D
0484   03D8 C2 29 03            JNZ L0062
0485   03DB 2E 08               MVI L,08H
0486   03DD CD F2 03            CALL L0063
0487   03E0 C9                  RET
0488   03E1 2E 10       L0060:  MVI L,10H
0489   03E3 CD F2 03            CALL L0063
0490   03E6 21 B0 20            LXI H,20B0H
0491   03E9 34                  INR M
0492   03EA C2 80 03            JNZ L0052
0493   03ED 3E E0               MVI A,0E0H
0494   03EF C3 75 07            JMP L0012
0495   03F2 DB 23       L0063:  IN 23H
0496   03F4 AD                  XRA L
0497   03F5 D3 23               OUT 23H
0498   03F7 AD                  XRA L
0499   03F8 D3 23               OUT 23H
0500   03FA C9                  RET
0501   03FB E6 FF       L0039:  ANI 0FFH
0502   03FD 00                  NOP
0503   03FE 00                  NOP
0504   03FF 3D                  DCR A
0505   0400 C2 FB 03            JNZ L0039
0506   0403 C9                  RET
0507   0404 3E 60       L0016:  MVI A,60H
0508   0406 CD FB 03            CALL L0039
0509   0409 05                  DCR B
0510   040A C2 04 04            JNZ L0016
0511   040D C9                  RET
0512   040E 06 2B       L0018:  MVI B,2BH
0513   0410 DB 21       L0055:  IN 21H
0514   0412 E6 10               ANI 10H
0515   0414 C0                  RNZ
0516   0415 3A AE 20            LDA 20AEH
0517   0418 EE 05               XRI 05H
0518   041A D3 22               OUT 22H
0519   041C EE 01               XRI 01H
0520   041E D3 22               OUT 22H
0521   0420 E5                  PUSH H
0522   0421 67                  MOV H,A
0523   0422 48          L0064:  MOV C,B
0524   0423 DB 21               IN 21H
0525   0425 6F                  MOV L,A
0526   0426 DB 21       L0065:  IN 21H
0527   0428 AD                  XRA L
0528   0429 E6 02               ANI 02H
0529   042B C2 22 04            JNZ L0064
0530   042E 0D                  DCR C
0531   042F C2 26 04            JNZ L0065
0532   0432 3A AE 20            LDA 20AEH
0533   0435 F6 01               ORI 01H
0534   0437 D3 22               OUT 22H
0535   0439 E1                  POP H
0536   043A C9                  RET
0537   043B 3E 5F       L0051:  MVI A,5FH
0538   043D D3 24               OUT 24H
0539   043F 3E C0               MVI A,0C0H
0540   0441 D3 25               OUT 25H
0541   0443 3E CE               MVI A,0CEH
0542   0445 D3 20               OUT 20H
0543   0447 3A AE 20            LDA 20AEH
0544   044A E6 7E               ANI 7EH
0545   044C 32 AE 20            STA 20AEH
0546   044F D3 22               OUT 22H
0547   0451 06 2D               MVI B,2DH
0548   0453 CD 04 04            CALL L0016
0549   0456 CD 74 04    L0068:  CALL L0056
0550   0459 FE 04               CPI 04H
0551   045B FA 14 05            JM L0066
0552   045E FE 09               CPI 09H
0553   0460 F2 07 05            JP L0067
0554   0463 CD A9 04            CALL L0058
0555   0466 CD FE 02            CALL L0049
0556   0469 2B                  DCX H
0557   046A AF                  XRA A
0558   046B BC                  CMP H
0559   046C C2 56 04            JNZ L0068
0560   046F BD                  CMP L
0561   0470 C2 56 04            JNZ L0068
0562   0473 C9                  RET
0563   0474 16 0C       L0056:  MVI D,0CH
0564   0476 1E 00               MVI E,00H
0565   0478 06 05               MVI B,05H
0566   047A DB 21       L0069:  IN 21H
0567   047C E6 90               ANI 90H
0568   047E CA 7A 04            JZ L0069
0569   0481 E6 10               ANI 10H
0570   0483 3E DF       L0076:  MVI A,0DFH
0571   0485 C2 75 07            JNZ L0012
0572   0488 CD C8 04    L0072:  CALL L0070
0573   048B DB 21               IN 21H
0574   048D E6 80               ANI 80H
0575   048F C2 99 04            JNZ L0071
0576   0492 05                  DCR B
0577   0493 CA 74 04            JZ L0056
0578   0496 C3 88 04            JMP L0072
0579   0499 20          L0071:  RIM
0580   049A E6 80               ANI 80H
0581   049C CA A0 04            JZ L0073
0582   049F 1C                  INR E
0583   04A0 15          L0073:  DCR D
0584   04A1 C2 88 04            JNZ L0072
0585   04A4 3E 1D               MVI A,1DH
0586   04A6 30                  SIM
0587   04A7 7B                  MOV A,E
0588   04A8 C9                  RET
0589   04A9 F5          L0058:  PUSH PSW
0590   04AA 3A AE 20            LDA 20AEH
0591   04AD F6 01               ORI 01H
0592   04AF D3 22               OUT 22H
0593   04B1 00                  NOP
0594   04B2 E6 FE               ANI 0FEH
0595   04B4 D3 22               OUT 22H
0596   04B6 1E 03       L0074:  MVI E,03H
0597   04B8 CD C8 04    L0075:  CALL L0070
0598   04BB DB 21               IN 21H
0599   04BD E6 90               ANI 90H
0600   04BF C2 B6 04            JNZ L0074
0601   04C2 1D                  DCR E
0602   04C3 C2 B8 04            JNZ L0075
0603   04C6 F1                  POP PSW
0604   04C7 C9                  RET
0605   04C8 3E 1D       L0070:  MVI A,1DH
0606   04CA 30                  SIM
0607   04CB DB 21       L0077:  IN 21H
0608   04CD E6 10               ANI 10H
0609   04CF C2 83 04            JNZ L0076
0610   04D2 20                  RIM
0611   04D3 E6 40               ANI 40H
0612   04D5 CA CB 04            JZ L0077
0613   04D8 C9                  RET
0614   04D9 3E 1B       L0059:  MVI A,1BH
0615   04DB 30                  SIM
 
And part II ... was too long for one post:

Code:
0616   04DC FB          L0078:  EI
0617   04DD 76                  HLT
0618   04DE E6 80               ANI 80H
0619   04E0 CA DC 04            JZ L0078
0620   04E3 FB                  EI
0621   04E4 76                  HLT
0622   04E5 FB                  EI
0623   04E6 76                  HLT
0624   04E7 FB                  EI
0625   04E8 76                  HLT
0626   04E9 FB          L0080:  EI
0627   04EA 76                  HLT
0628   04EB FB                  EI
0629   04EC 76                  HLT
0630   04ED FB                  EI
0631   04EE 76                  HLT
0632   04EF FB                  EI
0633   04F0 76                  HLT
0634   04F1 FB                  EI
0635   04F2 76                  HLT
0636   04F3 70                  MOV M,B
0637   04F4 FB                  EI
0638   04F5 76                  HLT
0639   04F6 0D                  DCR C
0640   04F7 CA 02 05            JZ L0079
0641   04FA FB                  EI
0642   04FB 76                  HLT
0643   04FC 23                  INX H
0644   04FD FB                  EI
0645   04FE 76                  HLT
0646   04FF C3 E9 04            JMP L0080
0647   0502 3E 0D       L0079:  MVI A,0DH
0648   0504 30                  SIM
0649   0505 FB                  EI
0650   0506 C9                  RET
0651   0507 F1          L0067:  POP PSW
0652   0508 21 FF 03    L0057:  LXI H,03FFH
0653   050B 22 9B 20            SHLD 209BH
0654   050E CD 20 05            CALL L0061
0655   0511 C3 29 03            JMP L0062
0656   0514 F1          L0066:  POP PSW
0657   0515 06 28               MVI B,28H
0658   0517 CD 04 04            CALL L0016
0659   051A CD 0E 04            CALL L0018
0660   051D C3 80 03            JMP L0052
0661   0520 2A 9B 20    L0061:  LHLD 209BH
0662   0523 EB                  XCHG
0663   0524 21 A3 20            LXI H,20A3H
0664   0527 3A 0B 20            LDA 200BH
0665   052A 3D                  DCR A
0666   052B FA 31 05            JM L0081
0667   052E 21 A5 20            LXI H,20A5H
0668   0531 73          L0081:  MOV M,E
0669   0532 23                  INX H
0670   0533 72                  MOV M,D
0671   0534 C9                  RET
0672   0535 2A A7 20    L0085:  LHLD 20A7H
0673   0538 22 9F 20            SHLD 209FH
0674   053B 11 19 20    L0100:  LXI D,2019H
0675   053E 0E 80       L0113:  MVI C,80H
0676   0540 06 01               MVI B,01H
0677   0542 1A          L0082:  LDAX D
0678   0543 CD 13 02            CALL L0031
0679   0546 13                  INX D
0680   0547 0D                  DCR C
0681   0548 C8                  RZ
0682   0549 C3 42 05            JMP L0082
0683   054C 3E 10       L0036:  MVI A,10H
0684   054E CD 31 02            CALL L0005
0685   0551 C9                  RET
0686   0552 3E F8       L0017:  MVI A,0F8H
0687   0554 32 AF 20            STA 20AFH
0688   0557 CD A4 02    L0088:  CALL L0041
0689   055A 3A AF 20            LDA 20AFH
0690   055D E6 01               ANI 01H
0691   055F C2 6A 05            JNZ L0083
0692   0562 3A 0A 20            LDA 200AH
0693   0565 E6 01               ANI 01H
0694   0567 CA 72 05            JZ L0084
0695   056A 3A AE 20    L0083:  LDA 20AEH
0696   056D E6 DF               ANI 0DFH
0697   056F 32 AE 20            STA 20AEH
0698   0572 CD 24 03    L0084:  CALL L0042
0699   0575 3E A2               MVI A,0A2H
0700   0577 CD FB 03            CALL L0039
0701   057A 0E 82               MVI C,82H
0702   057C 21 19 20            LXI H,2019H
0703   057F CD D9 04            CALL L0059
0704   0582 CD 35 05            CALL L0085
0705   0585 2A 9F 20    L0099:  LHLD 209FH
0706   0588 3A 99 20            LDA 2099H
0707   058B BD                  CMP L
0708   058C C2 94 05            JNZ L0086
0709   058F 3A 9A 20            LDA 209AH
0710   0592 BC                  CMP H
0711   0593 C8                  RZ
0712   0594 2E 02       L0086:  MVI L,02H
0713   0596 CD F2 03            CALL L0063
0714   0599 CD 0E 04            CALL L0018
0715   059C 2A 9B 20            LHLD 209BH
0716   059F 23                  INX H
0717   05A0 CD 20 05            CALL L0061
0718   05A3 3A 0C 20            LDA 200CH
0719   05A6 E6 10               ANI 10H
0720   05A8 C2 BA 05            JNZ L0087
0721   05AB 21 AF 20            LXI H,20AFH
0722   05AE 34                  INR M
0723   05AF 3E 01               MVI A,01H
0724   05B1 32 B4 20            STA 20B4H
0725   05B4 C2 57 05            JNZ L0088
0726   05B7 C3 C2 05            JMP L0089
0727   05BA 3E 80       L0087:  MVI A,80H
0728   05BC 32 18 20            STA 2018H
0729   05BF CD 64 02            CALL L0090
0730   05C2 3E EF       L0089:  MVI A,0EFH
0731   05C4 C3 75 07            JMP L0012
0732   05C7 CD FA 06            CALL L0040
0733   05CA AF          L0103:  XRA A
0734   05CB 32 A2 20            STA 20A2H
0735   05CE CD 4C 05            CALL L0036
0736   05D1 D5                  PUSH D
0737   05D2 CD 18 03    L0091:  CALL L0010
0738   05D5 CD F0 00            CALL L0006
0739   05D8 3A A2 20            LDA 20A2H
0740   05DB E6 80               ANI 80H
0741   05DD CA D2 05            JZ L0091
0742   05E0 3A 07 20            LDA 2007H
0743   05E3 FE 01               CPI 01H
0744   05E5 C2 10 00            JNZ L0009
0745   05E8 D1                  POP D
0746   05E9 CD A4 02    L0105:  CALL L0041
0747   05EC E5                  PUSH H
0748   05ED D5                  PUSH D
0749   05EE 3A 08 20            LDA 2008H
0750   05F1 D6 80               SUI 80H
0751   05F3 CA 01 06            JZ L0092
0752   05F6 4F                  MOV C,A
0753   05F7 21 98 20            LXI H,2098H
0754   05FA AF                  XRA A
0755   05FB 77          L0093:  MOV M,A
0756   05FC 2B                  DCX H
0757   05FD 0C                  INR C
0758   05FE C2 FB 05            JNZ L0093
0759   0601 CD 35 05    L0092:  CALL L0085
0760   0604 2A 9F 20            LHLD 209FH
0761   0607 22 99 20            SHLD 2099H
0762   060A 21 00 00            LXI H,0000H
0763   060D 22 13 20            SHLD 2013H
0764   0610 22 15 20            SHLD 2015H
0765   0613 21 00 80            LXI H,8000H
0766   0616 22 17 20            SHLD 2017H
0767   0619 3A AE 20            LDA 20AEH
0768   061C D3 22               OUT 22H
0769   061E DB 21               IN 21H
0770   0620 E6 01               ANI 01H
0771   0622 3E F5               MVI A,0F5H
0772   0624 C2 75 07            JNZ L0012
0773   0627 D1                  POP D
0774   0628 E1                  POP H
0775   0629 CD 24 03            CALL L0042
0776   062C F3                  DI
0777   062D 3E 0F               MVI A,0FH
0778   062F CD FB 03            CALL L0039
0779   0632 21 13 20            LXI H,2013H
0780   0635 06 86               MVI B,86H
0781   0637 16 8A               MVI D,8AH
0782   0639 3A AE 20            LDA 20AEH
0783   063C F6 02               ORI 02H
0784   063E 5F                  MOV E,A
0785   063F E6 BF               ANI 0BFH
0786   0641 D3 22               OUT 22H
0787   0643 0E 08               MVI C,08H
0788   0645 3E FF       L0096:  MVI A,0FFH
0789   0647 30                  SIM
0790   0648 7E                  MOV A,M
0791   0649 0F                  RRC
0792   064A 77                  MOV M,A
0793   064B F6 7F               ORI 7FH
0794   064D 30                  SIM
0795   064E 0D                  DCR C
0796   064F CA 62 06            JZ L0094
0797   0652 05                  DCR B
0798   0653 C2 71 06            JNZ L0095
0799   0656 7B                  MOV A,E
0800   0657 D3 22               OUT 22H
0801   0659 00                  NOP
0802   065A 3E 7F       L0098:  MVI A,7FH
0803   065C 30                  SIM
0804   065D 00                  NOP
0805   065E 00                  NOP
0806   065F C3 45 06            JMP L0096
0807   0662 15          L0094:  DCR D
0808   0663 CA 75 06            JZ L0097
0809   0666 23                  INX H
0810   0667 3E 7F               MVI A,7FH
0811   0669 0E 08               MVI C,08H
0812   066B 30                  SIM
0813   066C 05                  DCR B
0814   066D 00                  NOP
0815   066E C3 45 06            JMP L0096
0816   0671 04          L0095:  INR B
0817   0672 C3 5A 06            JMP L0098
0818   0675 3A AE 20    L0097:  LDA 20AEH
0819   0678 D3 22               OUT 22H
0820   067A 3E 0D               MVI A,0DH
0821   067C 30                  SIM
0822   067D FB                  EI
0823   067E CD 0E 04            CALL L0018
0824   0681 3E FF               MVI A,0FFH
0825   0683 32 AF 20            STA 20AFH
0826   0686 CD 85 05            CALL L0099
0827   0689 2A 07 20            LHLD 2007H
0828   068C 22 9F 20            SHLD 209FH
0829   068F CD 3B 05            CALL L0100
0830   0692 2A 05 20            LHLD 2005H
0831   0695 22 99 20            SHLD 2099H
0832   0698 CD 85 05            CALL L0099
0833   069B 3A 08 20            LDA 2008H
0834   069E CD EF 06            CALL L0101
0835   06A1 CD DD 06            CALL L0102
0836   06A4 DA CA 05            JC L0103
0837   06A7 3A A9 20            LDA 20A9H
0838   06AA E6 03               ANI 03H
0839   06AC 3A 0A 20            LDA 200AH
0840   06AF CA C6 06            JZ L0104
0841   06B2 FE 00               CPI 00H
0842   06B4 FA C6 06            JM L0104
0843   06B7 21 00 00            LXI H,0000H
0844   06BA 22 07 20            SHLD 2007H
0845   06BD 22 AB 20            SHLD 20ABH
0846   06C0 22 05 20            SHLD 2005H
0847   06C3 C3 E9 05            JMP L0105
0848   06C6 E6 01       L0104:  ANI 01H
0849   06C8 CA D7 06            JZ L0106
0850   06CB CD FA 06            CALL L0040
0851   06CE CD 52 05    L0107:  CALL L0017
0852   06D1 CD DD 06            CALL L0102
0853   06D4 DA CE 06            JC L0107
0854   06D7 CD 0E 04    L0106:  CALL L0018
0855   06DA C3 46 07            JMP L0043
0856   06DD 2A A9 20    L0102:  LHLD 20A9H
0857   06E0 23                  INX H
0858   06E1 22 A9 20            SHLD 20A9H
0859   06E4 2A AB 20            LHLD 20ABH
0860   06E7 11 80 FF            LXI D,0FF80H
0861   06EA 19                  DAD D
0862   06EB 22 AB 20            SHLD 20ABH
0863   06EE C9                  RET
0864   06EF 21 03 20    L0101:  LXI H,2003H
0865   06F2 86                  ADD M
0866   06F3 77                  MOV M,A
0867   06F4 23                  INX H
0868   06F5 7E                  MOV A,M
0869   06F6 CE 00               ACI 00H
0870   06F8 77                  MOV M,A
0871   06F9 C9                  RET
0872   06FA 2A 0F 20    L0040:  LHLD 200FH
0873   06FD 2B                  DCX H
0874   06FE 22 AB 20            SHLD 20ABH
0875   0701 2A 11 20            LHLD 2011H
0876   0704 3A 0A 20            LDA 200AH
0877   0707 FE 00               CPI 00H
0878   0709 FA 11 07            JM L0108
0879   070C 5D                  MOV E,L
0880   070D 54                  MOV D,H
0881   070E 19                  DAD D
0882   070F 19                  DAD D
0883   0710 19                  DAD D
0884   0711 3E F8       L0108:  MVI A,0F8H
0885   0713 A4                  ANA H
0886   0714 3E C9               MVI A,0C9H
0887   0716 C2 75 07            JNZ L0012
0888   0719 22 A9 20            SHLD 20A9H
0889   071C C9                  RET
0890   071D CD FA 06            CALL L0040
0891   0720 CD 52 05    L0110:  CALL L0017
0892   0723 CD DD 06            CALL L0102
0893   0726 D2 37 07            JNC L0109
0894   0729 3E 80               MVI A,80H
0895   072B 32 18 20            STA 2018H
0896   072E CD EF 06            CALL L0101
0897   0731 CD 64 02            CALL L0090
0898   0734 C3 20 07            JMP L0110
0899   0737 CD 0E 04    L0109:  CALL L0018
0900   073A 7D                  MOV A,L
0901   073B C6 81               ADI 81H
0902   073D 32 18 20            STA 2018H
0903   0740 CD EF 06            CALL L0101
0904   0743 CD 64 02            CALL L0090
0905   0746 21 02 0A    L0043:  LXI H,0A02H
0906   0749 22 07 20            SHLD 2007H
0907   074C 3E 40               MVI A,40H
0908   074E 32 09 20            STA 2009H
0909   0751 3A B4 20            LDA 20B4H
0910   0754 32 0A 20            STA 200AH
0911   0757 AF                  XRA A
0912   0758 32 11 20            STA 2011H
0913   075B 3A B5 20            LDA 20B5H
0914   075E 32 12 20            STA 2012H
0915   0761 2A 03 20            LHLD 2003H
0916   0764 22 0F 20            SHLD 200FH
0917   0767 06 05               MVI B,05H
0918   0769 CD 04 04            CALL L0016
0919   076C 21 08 20            LXI H,2008H
0920   076F CD 6A 02            CALL L0111
0921   0772 C3 91 00            JMP L0024
0922   0775 32 B4 20    L0012:  STA 20B4H
0923   0778 3E 80               MVI A,80H
0924   077A 32 B5 20            STA 20B5H
0925   077D 31 FF 20            LXI SP,20FFH
0926   0780 CD 4D 00            CALL L0112
0927   0783 C3 46 07            JMP L0043
0928   0786 3A 0A 20            LDA 200AH
0929   0789 E6 80               ANI 80H
0930   078B CA 46 07            JZ L0043
0931   078E 3A AD 20            LDA 20ADH
0932   0791 E6 0C               ANI 0CH
0933   0793 0F                  RRC
0934   0794 32 B5 20            STA 20B5H
0935   0797 C3 46 07            JMP L0043
0936   079A 3E 01       L0003:  MVI A,01H
0937   079C D3 23               OUT 23H
0938   079E AF                  XRA A
0939   079F 32 B4 20            STA 20B4H
0940   07A2 06 C8               MVI B,0C8H
0941   07A4 CD 04 04            CALL L0016
0942   07A7 21 00 00            LXI H,0000H
0943   07AA 22 9F 20            SHLD 209FH
0944   07AD EB                  XCHG
0945   07AE CD 3E 05    L0114:  CALL L0113
0946   07B1 3E 08               MVI A,08H
0947   07B3 BA                  CMP D
0948   07B4 C2 AE 07            JNZ L0114
0949   07B7 2A 9F 20            LHLD 209FH
0950   07BA 2C                  INR L
0951   07BB C2 E5 07            JNZ L0115
0952   07BE 24                  INR H
0953   07BF C2 E5 07            JNZ L0115
0954   07C2 21 10 20            LXI H,2010H
0955   07C5 75          L0116:  MOV M,L
0956   07C6 2C                  INR L
0957   07C7 3E F0               MVI A,0F0H
0958   07C9 BD                  CMP L
0959   07CA C2 C5 07            JNZ L0116
0960   07CD 2D          L0117:  DCR L
0961   07CE 7E                  MOV A,M
0962   07CF BD                  CMP L
0963   07D0 C2 E5 07            JNZ L0115
0964   07D3 FE 10               CPI 10H
0965   07D5 C2 CD 07            JNZ L0117
0966   07D8 CD 57 00            CALL L0118
0967   07DB 3E 05               MVI A,05H
0968   07DD D3 23               OUT 23H
0969   07DF AF                  XRA A
0970   07E0 67                  MOV H,A
0971   07E1 6F                  MOV L,A
0972   07E2 C3 E8 07            JMP L0119
0973   07E5 21 FF 80    L0115:  LXI H,80FFH
0974   07E8 22 B4 20    L0119:  SHLD 20B4H
0975   07EB C9                  RET
0976   07EC CD 9A 07            CALL L0003
0977   07EF C3 46 07            JMP L0043
0978   07F2 CD 79 00            CALL L0120
0979   07F5 00                  NOP
0980   07F6 00                  NOP
0981   07F7 00                  NOP
0982   07F8 00                  NOP
0983   07F9 00                  NOP
0984   07FA 00                  NOP
0985   07FB 00                  NOP
0986   07FC 00                  NOP
0987   07FD 00                  NOP
0988   07FE 00                  NOP
0989   07FF 00                  NOP

And the .hex file Am2716B-45_23-389E2_0309F3.hex:

Code:
:1000000031FF20DB21E640CA0301CD4500CD9A0730
:10001000F331FF20CD49003E04CD3102CDF000C3C5
:1000200017000000F331FF20DB083EFDD3222E0530
:10003000C3770000F5E5DB082A0120E93E103020F7
:1000400007781F47C9AF320C20AF3200202174015E
:100050002201203E4D30FB3EFED3203EFDD322DB6D
:1000600023F601D3233E0C32AD20AF32A2203A0C4E
:1000700020E608320C20C9CDF00020E620CA770027
:100080002DCA1000DB08FE04C27700CD490032B64D
:100090002031FF20AF320C2032A22021000022B4F8
:1000A000202203203E4D30FBCD1803CDF0003AA2B4
:1000B00020E680CAA8003A0720FE02C210003A09D2
:1000C00020FE0B3ED0D275073A092021D800075FE9
:1000D0001600195E2356EBE9460780071D07C70582
:1000E000460795024607EC07860746074607460778
:1000F000DB21E6403AB620CA0001F60132B620C93B
:10010000E601C831FF2021C301CD5000AF320C20E1
:10011000D32306FFCD0404CD9A07320B20320020F2
:1001200021000022A920CD5205CD0E042119200E58
:10013000807ECD31023A0120FE1ACA51017EFE476F
:10014000CA6B010602E6F8EE30CA4E010614CD0471
:1001500004230DC231012AA9202322A9203E04BD77
:10016000C226013A0120FE1AC22601CD490032B64C
:1001700020C39100FE08211A01CAC001FE13C289E2
:10018000013EFF320020C3C3016FE6FEFE10C2989D
:1001900001AF320020C3C3013E04BDCA58023AA2D7
:1001A00020E680C210007D320720329F20111920E6
:1001B000FE01CABD01110920FE02C2100021C701C3
:1001C000220120E1F1FBC94F32082032A020FE813C
:1001D000D21000060121DB01C3C001121ACD1302A7
:1001E0000DCAE80113C3C30121EE01C3C001219F61
:1001F0002096C2100021FB01C3C00121A02096C29D
:1002000010002A9F202205203E8032A22021740166
:10021000C3C001E56F78EE0147C224027D219F2013
:100220008E772E007D21A0208E772E00DA1C02E131
:10023000C9F5E52E082DC5CC0E04C120E610CA353F
:10024000023A00203CCA3502E1F1D3083A0C20E61C
:1002500008C83EFF320020C931FF20CD4900CD4CF7
:1002600005C39100211720360123561414AF329F85
:100270002032A02006012B7ECD13027ECD31022339
:1002800015C27702219F20CD8B02233E1ECDFB039A
:100290007ECD3102C9CDFA06CDA402CD2403CD0E08
:1002A00004C346072AA920EB21AE2036E97AFE08CE
:1002B0003EFED275077AFE043F7B175F7A17E6078A
:1002C00057FE04DAC80236F93A0B20FE01CAD802FA
:1002D000DAE4023EF8C375077EE6F7773E042AA506
:1002E00020C3E9023E082AA32032B3204F3AAD20B2
:1002F000A1CAF6026B62CDFE02EB22A720C9CD187F
:1003000003E521B320DB21A63EF7C275073AAD20F5
:100310002FB62F32AD20E1C9E5DB21E60C21AD205F
:10032000B677E1C93EF832B020CDFE022AA7207C84
:10033000E603677AE603577D936F7C9A67D266037C
:100340003AB0203C32B0203EE0CA75077D2F6F7C6A
:100350002F672323233AAE20F60432AE20CD3B0490
:10036000CD0E04C38003AFBCC27503BDCA40033EBB
:1003700004BDD280032B2B2BCD3B04060FCD1004E4
:100380003EBED3243EC0D3253ECED3203AAE20F687
:1003900080E6FA32AE2047DB22E60178D322061E41
:1003A000C40404CD7404FE09F20805CDA9040E04AA
:1003B000219B20CDD9043A9D20219B202FBEC2E154
:1003C000033A9E202F23BEC2E103CD20053AA72089
:1003D000BBC229033AA820BAC229032E08CDF203D2
:1003E000C92E10CDF20321B02034C280033EE0C3F9
:1003F0007507DB23ADD323ADD323C9E6FF00003D52
:10040000C2FB03C93E60CDFB0305C20404C9062B31
:10041000DB21E610C03AAE20EE05D322EE01D32256
:10042000E56748DB216FDB21ADE602C222040DC285
:1004300026043AAE20F601D322E1C93E5FD3243E22
:10044000C0D3253ECED3203AAE20E67E32AE20D3B6
:1004500022062DCD0404CD7404FE04FA1405FE0911
:10046000F20705CDA904CDFE022BAFBCC25604BDD8
:10047000C25604C9160C1E000605DB21E690CA7A96
:1004800004E6103EDFC27507CDC804DB21E680C25A
:10049000990405CA7404C3880420E680CAA0041C19
:1004A00015C288043E1D307BC9F53AAE20F601D353
:1004B0002200E6FED3221E03CDC804DB21E690C253
:1004C000B6041DC2B804F1C93E1D30DB21E610C2DE
:1004D000830420E640CACB04C93E1B30FB76E6808D
:1004E000CADC04FB76FB76FB76FB76FB76FB76FBC1
:1004F00076FB7670FB760DCA0205FB7623FB76C38E
:10050000E9043E0D30FBC9F121FF03229B20CD20E1
:1005100005C32903F10628CD0404CD0E04C38003CE
:100520002A9B20EB21A3203A0B203DFA310521A57F
:1005300020732372C92AA720229F201119200E8020
:1005400006011ACD1302130DC8C342053E10CD316A
:1005500002C93EF832AF20CDA4023AAF20E601C274
:100560006A053A0A20E601CA72053AAE20E6DF3291
:10057000AE20CD24033EA2CDFB030E82211920CD57
:10058000D904CD35052A9F203A9920BDC294053A59
:100590009A20BCC82E02CDF203CD0E042A9B202344
:1005A000CD20053A0C20E610C2BA0521AF20343E1A
:1005B0000132B420C25705C3C2053E80321820CD97
:1005C00064023EEFC37507CDFA06AF32A220CD4CD0
:1005D00005D5CD1803CDF0003AA220E680CAD20599
:1005E0003A0720FE01C21000D1CDA402E5D53A0899
:1005F00020D680CA01064F219820AF772B0CC2FB72
:1006000005CD35052A9F20229920210000221320A4
:100610002215202100802217203AAE20D322DB2190
:10062000E6013EF5C27507D1E1CD2403F33E0FCDBF
:10063000FB032113200686168A3AAE20F6025FE6F7
:10064000BFD3220E083EFF307E0F77F67F300DCAF3
:10065000620605C271067BD322003E7F300000C3D4
:10066000450615CA7506233E7F0E08300500C345B2
:100670000604C35A063AAE20D3223E0D30FBCD0EFF
:10068000043EFF32AF20CD85052A0720229F20CDD2
:100690003B052A0520229920CD85053A0820CDEF7B
:1006A00006CDDD06DACA053AA920E6033A0A20CAD1
:1006B000C606FE00FAC60621000022072022AB2053
:1006C000220520C3E905E601CAD706CDFA06CD52B8
:1006D00005CDDD06DACE06CD0E04C346072AA920D5
:1006E0002322A9202AAB201180FF1922AB20C92187
:1006F00003208677237ECE0077C92A0F202B22ABDA
:10070000202A11203A0A20FE00FA11075D54191917
:10071000193EF8A43EC9C2750722A920C9CDFA0620
:10072000CD5205CDDD06D237073E80321820CDEF01
:1007300006CD6402C32007CD0E047DC68132182089
:10074000CDEF06CD640221020A2207203E40320985
:10075000203AB420320A20AF3211203AB5203212AA
:10076000202A0320220F200605CD0404210820CDD5
:100770006A02C3910032B4203E8032B52031FF209E
:10078000CD4D00C346073A0A20E680CA46073AAD77
:1007900020E60C0F32B520C346073E01D323AF320B
:1007A000B42006C8CD0404210000229F20EBCD3EDA
:1007B000053E08BAC2AE072A9F202CC2E50724C214
:1007C000E507211020752C3EF0BDC2C5072D7EBD6A
:1007D000C2E507FE10C2CD07CD57003E05D323AFBB
:1007E000676FC3E80721FF8022B420C9CD9A07C3F1
:1007F0004607CD7900000000000000000000000066
:00000001FF
 
Last edited:
Based on that ROM part number, I suspect that code is a newer version than what is in my 11/730's drive (its EPROM is marked 23-294E2-00). I'll be happy to consolidate different versions into my half-baked disassembly project. But I don't know if I'll get around to actually disassembling the code, since I've now become distracted by the idea of how I would write a smart and extensible disassembler since I don't want to spend the bucks for IDA pro... :)
 
Based on that ROM part number, I suspect that code is a newer version than what is in my 11/730's drive (its EPROM is marked 23-294E2-00). I'll be happy to consolidate different versions into my half-baked disassembly project. But I don't know if I'll get around to actually disassembling the code, since I've now become distracted by the idea of how I would write a smart and extensible disassembler since I don't want to spend the bucks for IDA pro... :)

Dunno, it depends. DEC might have used a custom version of the TU58 code in the VAXes (like one that supports MRSP) but not in the other desktop TU58 boxes. I have no idea, but certainly in the realm of possibility.
 
About one year ago I found an article saying that the MRSP was developed due to unreliable communication with VAX-11/750 which originally does not require MRSP. But it is possible to exchange boot ROMs to MRSP enabled ones. Newer models VAX-11/725 and VAX-11/730 should require MRSP according to this article.

Jiri
 
I decided to write my own disassembler to use for studying these ROMs. It's still in a very early state, and probably contains countless bugs, but I think it's in a non-embarrassing condition, possibly even approaching usability. So, here's a sneak peek if anybody is curious about it:

https://github.com/NF6X/dismantler

It presently just supports 8080 and 8085, but it should be easy to add z80 support to it. And next time I want to reverse-engineer some code for a different processor, I may add support for that processor to it.

I've been using one of the TU58 ROM images as test code for it, but I haven't carefully studied the ROM code just yet.
 
About one year ago I found an article saying that the MRSP was developed due to unreliable communication with VAX-11/750 which originally does not require MRSP. But it is possible to exchange boot ROMs to MRSP enabled ones. Newer models VAX-11/725 and VAX-11/730 should require MRSP according to this article.

Jiri

Do you have a link to that article?

When looking at my different memory controller boards for the VAX-11/750 we have there are two different sets of Boot-PROMs. Probably there are an older set and then the newer set. This FCO discusses various boot-PROMs for 11/750 but it seems to be related to the ability to load the PCS at power-up. I don't know if there are yet other PROM version as well.

Anyhow. I put together a variant of the TU58 emulator that Bela Torok has designed. I did use a 3.3V Arduino Mini Pro clone, a simple SD-adapter, MAX3232 card, a 16x2 LCD and a lot of wires. It seemed to work fine. But I guess that the best would be to design a small PCB that has all this on board. I am going try this with my 11/750 and see if it is possible to get it to work.

When I get to the machine (within a month or so) I'll check the firmware version as well.
 
I did find this piece of source code for the TU58 driver for BSD(?) that confirms what Jiri wrote:

Code:
#if defined(VAX750) || defined(VAX730)
/*
 * TU58 DECtape II device driver
 *
 * This driver controls the console TU58s on a VAX-11/750 or VAX-11/730.
 * It could be easily modified for a Unibus TU58.  The TU58
 * is treated as a block device (only).  Error detection and
 * recovery is almost non-existant.  It is assumed that the
 * TU58 will follow the RSP protocol exactly, very few protocol
 * errors are checked for.  It is assumed that the 750 uses standard
 * RSP while the 730 uses Modified RSP (MRSP).  At the time when 750's
 * are converted to MRSP (by replacing EPROMS in the TU58), the tests
 * based on MRSP can be removed.
 */
#define	NTU	((cpu == VAX_750) ? 1 : 2)

#define	MRSP	(cpu != VAX_750)

I will check the TU58 controller on my 11/750 to see what version they have. The one in the 11/730 then should be same (newer) or some other version (older).
 
I cannot find the link at the moment, but probably I have a hardcopy. I'll try to look for it.

Dimensions of my PCB and its mounting holes are the same as one of the two TU58 drives so that the emulator can replace it. Front panel of my emulator fits the slot for TU58K cartridge.
 
I found a copy of the article mentioned above on my hard disk:


Name
ctu - TU58 console interface

Syntax
options MRSP (for VAX-11/750's with an MRSP prom)

Description
Prior to Version 2.0, this device was referenced using

The interface provides access to the VAX-11/730 (11/725) and VAX-11/750
TU58 console cassette drive.

The interface supports only block I/O to the TU58 cassettes. The
devices are normally manipulated with the program, using the and
options.

The device driver is automatically included when a system is configured
to run on a VAX-11/730 (11/725) or VAX-11/750.

The TU58 on a VAX-11/750 uses the Radial Serial Protocol (RSP) to com�
municate with the CPU over a serial line. This protocol is inherently
unreliable as it has no flow control measures built in. On a
VAX-11/730 (11/725), the Modified Radial Serial Protocol is used. This
protocol incorporates flow control measures that ensure reliable data
transfer between the CPU and the device. Certain VAX-11/750s have been
modified to use the MRSP prom used in the VAX-11/730 (11/725). To
reliably use the console TU58 on an VAX-11/750 under ULTRIX, the MRSP
prom is required. For those VAX-11/750s without an MRSP prom, an unre�
liable but often usable interface has been developed. This interface
uses an assembly language ``pseudo-dma'' routine to minimize the
receiver interrupt service latency. To include this code in the sys�
tem, the configuration must not specify the system will run on a
VAX-11/730 (11/725) or use an MRSP prom. This unfortunately makes it
impossible to configure a single system that will properly handle TU58s
on both a VAX-11/750 and an VAX-11/730 (11/725) (unless both machines
have MRSP proms).

Restrictions
Frequent data overruns can occur if the VAX-11/750 TU58 is used while
in multiuser mode. The interface continues to function and errors are
handled, but transfer times may be lengthened considerably.

Diagnostics
tu%d: no bp, active %d
A transmission complete interrupt was received with no outstanding I/O
request. This indicates a hardware problem.

tu%d protocol error, state=%s, op=%x, cnt=%d, block=%d
The driver entered an illegal state. The information printed indicates
the illegal state, operation currently being executed, the I/O count,
and the block number on the cassette.

tu%d receive state error, state=%s, byte=%x
The driver entered an illegal state in the receiver finite state
machine. The state is shown along with the control byte of the received
packet.

tu%d: read stalled
A timer watching the controller detected no interrupt for an extended
period while an operation was outstanding. This usually indicates that
one or more receiver interrupts were lost and the transfer is restarted
(VAX-11/750 only).

tu%d: hard error bn%d, pk_mod %o
The device returned a status code indicating a hard error. The actual
error code is shown in octal. No retries are attempted by the driver.

Files
(only on a VAX-11/730 (11/725))

See Also
MAKEDEV(8)

VAX ctu(4)
 
I wonder if you will be able to identify some undocumented features of TU58 controller in disassembled ROM code.

I created a set of command packets for TU58 controller test and sent them to the new TU58 controller (with MRSP support). Undocumented functions to 0AH return end packet with normal success. Most of remaining functions in range 0BH - 0FFH return end packet with bad opcode success code. There are two exceptions: the commands with opcode 18H and 1AH. These commands do not return end packet. The first one expects single byte, I didn' try all possibilities, my attempts were recognized as protocol error (TU58 controller sends Init flags repeatedly). The second one waits for some packet probably but all my attempts finished after 11th byte with protocol error. Does anybody know something about these functions?

Jiri
 
I wonder if you will be able to identify some undocumented features of TU58 controller in disassembled ROM code.

I am hoping that this is exactly what we'll do by examining the code.

I haven't begun studying the code yet, and right now I'm getting ready for a convention for one of my other hobbies (military radios), so I don't know when I'll get around to it. I won't be at all upset if somebody else reverse-engineers the code before I do... ;)
 
I finally found some time between distractions to give a little attention to my 11/730. I wired up an adapter to hook up its console tape connection to my Mac running tu58em, and tried booting with a console boot tape image that I downloaded. My 11/730 wasn't satisfied, printing "?27 DEVICE ERROR" on the console. I tried tu58em with and without MRSP mode enabled, with this output:

Code:
~/Desktop/730boot% tu58em -d -v -m -T -s 38400 -p /dev/cu.usbserial-FTWWZTL8 -r BE-T173I-ME BE-T173I-ME
info: unit 0 r    file 'BE-T173I-ME'
info: tu58 tape emulator v1.4i (NF6X fork)
info: (C) 2005-2013 Don North <ak6dn@mindspring.com>, (C) 1984 Dan Ts'o <Rockefeller University>
info: serial port /dev/cu.usbserial-FTWWZTL8 at 38400 baud
info: MRSP mode enabled (NOT fully tested - use with caution)
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started
.....................................info: flag=0x00 last=0xFF
info: <NULL> seen
info: flag=0x00 last=0x00
info: <NULL> seen
info: flag=0x04 last=0x00
info: <INIT> seen
info: flag=0x04 last=0x04
info: <INIT> seen
info: <INIT><INIT> seen, sending <CONT>

~/Desktop/730boot% tu58em -d -v -T -s 38400 -p /dev/cu.usbserial-FTWWZTL8 -r BE-T173I-ME BE-T173I-ME
info: unit 0 r    file 'BE-T173I-ME'
info: tu58 tape emulator v1.4i (NF6X fork)
info: (C) 2005-2013 Don North <ak6dn@mindspring.com>, (C) 1984 Dan Ts'o <Rockefeller University>
info: serial port /dev/cu.usbserial-FTWWZTL8 at 38400 baud
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started
................................................info: flag=0x00 last=0xFF
info: <NULL> seen
info: flag=0x00 last=0x00
info: <NULL> seen
info: flag=0x04 last=0x00
info: <INIT> seen
info: flag=0x04 last=0x04
info: <INIT> seen
info: <INIT><INIT> seen, sending <CONT>
info: flag=0x00 last=0xFF
info: <NULL> seen
info: flag=0x00 last=0x00
info: <NULL> seen
info: TU58 emulation end
~/Desktop/730boot%

This looks different than the results that vaxorcist reported at the start of this thread. I also inferred 38400 baud by the jumpering of my 11/730's TU58 drive. "v1.4i (NF6X fork)" is just version 1.4i with some tweaks to compile under OS X, but no intentional substantive changes.
 
This section looks correct:

Code:
info: <INIT> seen
info: flag=0x04 last=0x04
info: <INIT> seen
info: <INIT><INIT> seen, sending <CONT>

but the bytes sent from the 11/730 TU58 driver are confusing TU58EM. I have never tested TU58EM with other than XXDP and RT11 drivers on PDP-11/44 and PDP-11/34 (with DL11-W serial interface).

So it could certainly be the case that the 11/730 driver is sending some command/flag bytes that are not documented in the existing public manuals. It would really be nice to disassemble / reverse engineer the 11/730 TU58 driver to understand what it is doing. I suspect the source for it is unobtanium.

Don
 
It would really be nice to disassemble / reverse engineer the 11/730 TU58 driver to understand what it is doing. I suspect the source for it is unobtanium.

Agreed, and agreed. But I think the next best thing will be to reverse-engineer the TU58's firmware, and that's on my list! If necessary, cobbling together a Vulcan mind probe cable to watch my 11/730 talking to its real drive is another option, but I'll try the firmware approach before wearing any of my console tapes more. Have I mentioned in the last ten minutes how much I despise that belt drive scheme? :)
 
Agreed, and agreed. But I think the next best thing will be to reverse-engineer the TU58's firmware, and that's on my list! If necessary, cobbling together a Vulcan mind probe cable to watch my 11/730 talking to its real drive is another option, but I'll try the firmware approach before wearing any of my console tapes more. Have I mentioned in the last ten minutes how much I despise that belt drive scheme? :)

If you have a real TU58 drive usable with the 11/730 it would be interesting to attach that and view the interaction with an RS232 protocol analyzer.
 
Back
Top