MS-DOS 6.22

buckfast_beekeeper

Golden Member

Op 2 februari 2020 10:51:32 schreef Jinny:
Scada, daar loopt de zooi aan boord (zie koffiecorner) nog op.
15 Jaar oud..

Na >12jaar 365/365 24/24 aangestaan te hebben begonnen de HD's en de moederborden uit te vallen. Er waren ook opstart problemen wegens BIOS batterijen die plat waren en gesoldeerd waren op het moederbord.

Van Lambiek wordt goede geuze gemaakt.

Mocht je een wat ouder moederbord hebben, probeer eens windows98 erop te zetten. Daarna starten in dosmode.
Met een ouder moederbord is er ook een grotere kans dat hier een normale serieële poort op zit.

Over RS232 zijn boeken vol geschreven vroeger had ik een lade vol met "standaard RS232 kabels"

Met een test pc ernaast kun je ook mee lezen door de Txd lijn af te tappen van de andere.
https://www.lammertbies.nl/comm/cable/nl-rs-232-spy-monitor

Gisteren weer even bezig geweest om de boel aan de praat te krijgen. (zonder een goed plan denk ik :) )

De software draait overigens prima.
Ik heb geen source code. Gisteren heb ik wat met de kabels lopen rommelen om te kijken of dat de communicatie tot stand zou brengen. Wat met mode.com geprobeerd, slowpc, etc. Maar de uitdaging zit echt in de seriële communicatie denk ik.
Vanochtend kreeg ik wat meer info van de fabrikant over de gebruikte chip. en da's inderdaad een TTL.
Nu zou ik kunnen zoeken naar een converter die van de 0 en 5 weer echte -12 en +12 maakt. Ik hoop dat dit de oplossing is.

Op 2 februari 2020 06:33:59 schreef EricP:
[offtopic][...]Dat is BS. Uitgaande van een ISA bus (daar praten we tenslotte over in deze tijd...) is het volledig afhankelijk van het insteekkaartje (!) wat je gebruikte. De kaartjes die het netjes deden, konden het prima, zo leert (of eigenlijk: leerde) de ervaring.

Het grote probleem was altijd dat veel software het niet snapte. De 'nette' ISR deed iets van 'ff kijken of deze voor mij is, zo ja: handel af. Jump naar de routine die voor mij geregistreerd was'. Zo kon je een chain van handlers bouwen. De praktijk was vaak 'handel af. IRET'. En daarmee kon alleen de laatste die zich in de 'chain' gefrut had wat. Zoals gezegd: veel programmeurs snappen hardware niet.

EricP, je heb van alles wat je geschreven hebt in dit topic gelijk. Behalve dit kleine stukje over interrupt sharing op de ISA bus.
Het stukje dat veel software het niet snapte klopt ook: maar dan voor PCI kaarten.

Alle standaard ISA serial ports (en kaartjes) die ik gezien heb, hebben de interrupt uitgevoerd als totempole output (active high) waardoor je op die lijn een conflict krijgt als je 2 borden tegelijk gebruikt. Wat je wel kon doen in de software was de interrupt enablen of disablen. Dan wordt die tristate en kun je die zonder interrupts gebruiken, polling dus.
Helaas kan ik zo snel geen schema meer vinden van de originele XT ISA compoort adapter, daar zit op de INT lijn gewoon een buffer naar de slot pin. Ik dacht dat het een 74LS125 was.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.
buckfast_beekeeper

Golden Member

@TS: Een MAX232 is veelvuldig gebruikt voor dat doel.

Van Lambiek wordt goede geuze gemaakt.
bprosman

Golden Member

ISA kende geen interrupt sharing zoals @Henri62 al aangaf. Vandaar dat je in een IBM ook eigenlijk maar 2 seriele poorten kwijt kon. IRQ4 en IRQ3 hard gezet met een jumper. Er waren wel kaarten voor meer poorten maar die hadden eigen software met een eigen (hardware) interrupt handler aan boord.

Hier het schema van een originele seriele poort en Henri, het is inderdaad een LS125 :-)

Quote van meneer IBM himself :
System Interrupts
EISA, ISA, and PCI adapter cards can be used in PC Servers. Each bus has different interrupt request methods. ISA cards interrupts are edge sensitive (low to high), therefore, these cards cannot share interrupts.

[Bericht gewijzigd door bprosman op donderdag 6 februari 2020 12:28:47 (26%)

De jongere generatie loopt veel te vaak zijn PIC achterna.
EricP

mét CE

Alle standaard ISA serial ports (en kaartjes) die ik gezien heb, hebben de interrupt uitgevoerd als totempole output (active high) waardoor je op die lijn een conflict krijgt als je 2 borden tegelijk gebruikt. Wat je wel kon doen in de software was de interrupt enablen of disablen.

Software? Daar deden die kaartjes niet aan. Je kon in de 8250 interrupts uit zetten. Maar met wat er op de bus zat... had dat niks te maken.

Helaas kan ik zo snel geen schema meer vinden van de originele XT ISA compoort adapter, daar zit op de INT lijn gewoon een buffer naar de slot pin. Ik dacht dat het een 74LS125 was.

Ik ook niet. Voor de 'originele' zou je best gelijk kunnen hebben. Dat is echt te lang geleden.
Ik weet wel dat ik destijds eigen 'drivers' geschreven heb. Inline assembly in Pascal. Die draaiden op een IBM PC (dus geen XT; jep, 256kb on-board en zelfs nog met cassette interface) op 4.77MHz met 4 COM poortjes op 2 IRQs. Dat is de reden dat ik er nog wel iets van weet. Destijds toch best diep uitgespit omdat niemand het werkend kreeg en ik toch zoiets had van 'moet toch kunnen!'

Ik weet het niet meer precies, maar het zou kunnen dat het foefje was om 2 ports op 1 kaart op 1 IRQ te zetten en dat het daarom goed ging. Te lang geleden... :/

bprosman

Golden Member

Software? Daar deden die kaartjes niet aan. Je kon in de 8250 interrupts uit zetten. Maar met wat er op de bus zat... had dat niks te maken

Jawel hoor, Advantech en PCCOM hadden kaarten met meerdere seriele poorten en speciale drivers in de config.sys.

Deze kaart lost het anders op :
https://www.pccompci.com/catalog/pccom-4p232-Ca.html
Daar "steel" je een interrupt van een ander niet aanwezig device (INT5 - LPT2 bijvoorbeeld).

Later in de 16-Bit ISA bus (voor de AT) werd het iets makkelijker, daar had je wat meer en cascaded interrupts. Ooit heb ik een kaart met een stuk of 10..16 seriele poorten geinstalleerd in een "AT-BUS" maar die werd eigenlijk alleen door Unix ondersteund om domme terminals aan te hangen.

Ik ook niet. Voor de 'originele' zou je best gelijk kunnen hebben. Dat is echt te lang geleden.

Ik wel, zie hierboven.

Destijds toch best diep uitgespit omdat niemand het werkend kreeg en ik toch zoiets had van 'moet toch kunnen!'

Misschien omdat zelfs IBM zegt dat het niet kan :)
System Interrupts
EISA, ISA, and PCI adapter cards can be used in PC Servers. Each bus has different interrupt request methods. ISA cards interrupts are edge sensitive (low to high), therefore, these cards cannot share interrupts.

De jongere generatie loopt veel te vaak zijn PIC achterna.
EricP

mét CE

Jawel hoor, Advantech en PCCOM hadden kaarten met meerdere seriele poorten en speciale drivers in de config.sys.

Yep. Ergens halverwege helft 90-er jaren kwam dat wat serieuzer door. Dit is ouder. Bestond toen nog niet hoor![/quote]Deze kaart lost het anders op :
https://www.pccompci.com/catalog/pccom-4p232-Ca.html
Daar "steel" je een interrupt van een ander niet aanwezig device (INT5 - LPT2 bijvoorbeeld).[/quote]Ja. IRQ 7 was meestal ook wel beschikbaar - parallel op interrupt basis werd niet zo heel veel gebruikt.

Later in de 16-Bit ISA bus (voor de AT) werd het iets makkelijker, daar had je wat meer en cascaded interrupts. Ooit heb ik een kaart met een stuk of 10..16 seriele poorten geinstalleerd in een "AT-BUS" maar die werd eigenlijk alleen door Unix ondersteund om domme terminals aan te hangen.

DIGIboard. Eigen driver voor DOS. Kon je gewoon tegen aan kletsen. Of rechtstreeks tegen de hardware als je het zelf schreef - daar was documentatie van. 2x 24 ports in een 286 heb ik wel gebruikt. Echter, dan ben je al een paar jaar verder dan waar ik het over heb. In die tijd waren het baytech multiports (meestal 1 in, 8 uit) als je meer nodig had. Zowel did DIGIboards als die multiports waren DUUR.

Misschien omdat zelfs IBM zegt dat het niet kan :)
System Interrupts
EISA, ISA, and PCI adapter cards can be used in PC Servers. Each bus has different interrupt request methods. ISA cards interrupts are edge sensitive (low to high), therefore, these cards cannot share interrupts.

Dat is inderdaad correct. Een ISA kaart en een PCI kaart kunnen geen interrupt sharen. Dat gaat hardware matig fout.
We hebben het (in elk geval in mijn context) over louter ISA kaarten - EISA en PCI bestonden in die tijd nog niet. Hercules was de grafische norm. En als je kleur wilde, dan moest je een CGA kaart hebben. EGA moest nog uitgevonden worden!

Maar goed... Ik snap TS nog niet helemaal... Ik begreep dat de communicatie werd afgebroken (wat dat ook moge betekenen). Maar het impliceert wel dat er 'iets' werkt. Immers... als er 'niets' werkt, dan is er ook 'niks' af te breken. Daarmee zou het dus ook niet aan levels kunnen liggen. Tenzij je natuurlijk bedoelt dat het gewoon niet werkt...
Kom ik toch weer op mijn meekijk-ding met bi-color LEDs uit. Iets wat met 5V stuurt, haal je er zo uit (LED brandt heel erg zwak).
En nogmaals... een max232 oid (er zijn tientallen varianten) komt ook niet verder dan 10V in het ideale geval. Het kan goed gaan. Het kan fout gaan. Afhankelijk van 'hoe op het randje' je met je kabellengte / bitrate zit.

Wat er precies wel of niet werkt in de communicatie weet ik nog niet.
Wat werkt: Ik kan alle software starten in MS-DOS.
De seriële poort werkt. Maar op 5v.
Kabels die ik heb gebruikt, werken met bestaande systemen. Dus kabels zijn goed.
Ik heb wat oude documentatie gevonden en daar kwam ik bijgevoegde schama's tegen.

buckfast_beekeeper

Golden Member

Het eerste plaatje is een normale koppeling met handshake.

Plaatje 2: communicatie is 19200Bd 8bits N geen pariteit en 1 stopbit. Als het goed is moet de software dit zelf instellen.

Je zal dus de spanningsniveaus moeten aanpassen aan de RS232 standaard. Dus minimaal -5V voor een 1 en +5V voor een 0. De standaard schrijft voor dat de ontvanger >+3V als 0 moet zien en alles <-3V als 1.

Van Lambiek wordt goede geuze gemaakt.

Dank,
Ik dacht al zoiets omdat ik niets kan bedenken waardoor het niet zou werken op de huidige configuratie. behalve dat de levers niet kloppen. ben nu op zoek naar een converter die ik tussen de kabel kan zetten zodat er een standaard rs232 verbinding opgezet gaat worden.

buckfast_beekeeper

Golden Member

Zoals al gezegd de oeroude MAX232. Er zijn honderden schema's te vinden met dit IC. In het verleden werd die algemeen toegepast.

Van Lambiek wordt goede geuze gemaakt.

Zo "oeroud" zijn die max232's niet, worden nog steeds volop gebruikt. De MC1488/1489 dat waren de oeroude chips die gebruikt werken. Waren trouwens makkelijk op te blazen, een kortsluiting en ze waren stuk, soms zelfs een gat erin.
Die dingen werden ook voor de eerste seriele muizen gebruikt om ze uit de lijnspanning te voeden.

Toen later de MAX232 kwam ontstonden een hoop problemen omdat die niet de drive strength hadden om ze te voeden.

P.S. Die 8-voudige uart borden noemden ze ook wel octopus kaarten.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.
bprosman

Golden Member

De MC1488/1489 dat waren de oeroude chips die gebruikt werken

Met bijbehorende +/-12V voeding.

De jongere generatie loopt veel te vaak zijn PIC achterna.
EricP

mét CE

Ja, en die 1489 kon erg slecht tegen overspanning... Ik heb er wel de nodige vervangen inderdaad. En dan maar gelijk een voetje erin, want ze gaan vast nog wel eens stuk :)

Ik dacht al zoiets omdat ik niets kan bedenken waardoor het niet zou werken op de huidige configuratie.

Nou ja, je hebt een aantal hints gehad. Levels. Timing. Maar tot op heden lijk je - met alle respect hoor - niet verder te komen dan wat op een keyboard proberen zonder echt een diagnose te stellen.

Is er een protocolspec ofzo? Kijk eens mee met wat er in een werkende situatie over de lijn gaat (bestaat comtap nog? Nou ja, voor grofstoffelijk werk, doet Telix het ook wel. Desnoods 2x op 2 machines).
En ga dan eens kijken wat jouw machine doet.
Die link is trouwens de eerste hit in een search engine. Geen idee of het is wat de naam doet vermoeden...

buckfast_beekeeper

Golden Member

Op 7 februari 2020 10:32:58 schreef henri62:
Zo "oeroud" zijn die max232's niet, worden nog steeds volop gebruikt. De MC1488/1489 dat waren de oeroude chips die gebruikt werken. Waren trouwens makkelijk op te blazen, een kortsluiting en ze waren stuk, soms zelfs een gat erin.
Die dingen werden ook voor de eerste seriele muizen gebruikt om ze uit de lijnspanning te voeden.

Toen later de MAX232 kwam ontstonden een hoop problemen omdat die niet de drive strength hadden om ze te voeden.

P.S. Die 8-voudige uart borden noemden ze ook wel octopus kaarten.

Ik heb de 1488 en 1489 ook nog liggen. Ik heb de 1489 meer vervangen dan me lief was.

Oud is de chip inderdaad nog niet. Is heel recent op de markt sinds 1987. Dat is inderdaad nog maar 33 jaar. Peanuts in elektronica evolutie.

@Hoeben onder: De 1488/89 werd gebruikt op mijn EDiTS digitale modeltrein MET optische scheiding. Alleszins geen draad van >2m. Toch regelmatig de 1489 stuk gehad.

Van Lambiek wordt goede geuze gemaakt.

1488 en 89 gingen vaak kapot omdat RS232 met veel te lange draad tot wel 30 meter werd gebruikt tussen computers of apparatuur. Blikseminslag in de buurt maakt het dan meteen kapot.

Bij lange verbindingen gebruikte ik altijd current loop, die ik zelf maakte. Optisch scheiden is de oplossing.