Page 2 of 2
Re: MIB2 low-level access
Posted: Fri Aug 02, 2019 5:44 pm
by pearsoe
Wmaalouli wrote: ↑Fri Aug 02, 2019 5:33 pm
This is one aspect of the ADAM which I find annoying: No standard serial or parallel port. How about using the Adamnet network? Any documents on how to access and decode the signals?
There is documentation for ADAMNet in the ADAM Technical Manual which you can probably find on
http://adamarchive.org/
Re: MIB2 low-level access
Posted: Fri Aug 02, 2019 8:02 pm
by Milli
No I was wrong / I assumed they were the same - look in the cpm section of the archive you may find code in one of the telecommunications images
Re: MIB2 low-level access
Posted: Mon Feb 03, 2020 2:05 pm
by MrPix
Milli wrote: ↑Thu Aug 01, 2019 8:29 am
Here is code I use - should be self explanatory
Code: Select all
DataPort .equ 044h ; Data port (in/out)
StatPort .equ 045h ; Status port (in)
BaudRatePort .equ 046h ; Baud rate port (out)
ControlPort .equ 047h ; Control port (out)
InMask .equ 2 ; 8251 RxRDY
OutMask .equ 1 ; 8251 TxRDY
ChipSet .equ 037h ; 8251 RTS,ER,RxE,DTR,TxEN
ChipOff .equ 035h ; 8251 RTS,ER,RxE,TxEN (no dtr)
Break .equ ChipSet | 8 ; ChipSet OR send break
Freeze .equ 022h
Reset .equ 027h
n71 .equ 001001010b ; 7n1
n81 .equ 001001110b ; 8n1
n72 .equ 011001010b ; 7n2
n82 .equ 011001110b ; 8n2
e71 .equ 001111010b ; 7e1
e81 .equ 001111110b ; 8e1
e72 .equ 011111010b ; 7e2
e82 .equ 011111110b ; 8e2
o71 .equ 001011010b ; 7o1
o81 .equ 001011110b ; 8o1
o72 .equ 011011010b ; 7o2
o82 .equ 011011110b ; 8o2
b19200 .equ 03fh ; 19200
b9600 .equ 03eh ; 9600
b4800 .equ 03ch ; 4800
b2400 .equ 03ah ; 2400
b1200 .equ 037h ; 1200
b600 .equ 036h ; 600
b300 .equ 035h ; 300
BitParityStop .equ n81
BaudRate .equ b300
Echo .equ FALSE
Awesomesauce!
I will be able to go through and provide a replacement section here for a few common UARTs. They do all vary but are in four main compatibility groups.
2681 and compatibles - 68681 etc.
28L92 and compatibles.
etc.
This way, alternate drivers can be easily be delivered for every mainstream UART.
Re: MIB2 low-level access
Posted: Wed Feb 19, 2020 8:02 pm
by MrPix
I have made some progress here. However, using the ‘2681 proved very unsatisfactory because of the basically non-existent FIFOs. It would stall out after a single character, making it very hard for external devices to lock onto the bit rate. Above 19200, match up was basically impossible and the Adam can’t handle the service load.
So I am going with a different DUART which I will document and provide the datasheet for. A brief test with it showed it would operate happily at 38,400. Unfortunately, then my monitor died so testing is halted for the moment.
That DUART will be incorporated into the multi card instead.
The main thing holding me up right now is the refresh of the internal DRAM, which on my Adam is also occurring on the expansion ports. If refresh were disabled and all RAM was static, the machine would be about 20% faster all the time.