+hloberg Posted February 23, 2016 Share Posted February 23, 2016 Just got a supra MPP-1100 parallel printer connection to attach my 800xl to my Canon BJ-200 Epson LQ compatible ink jet printer. I got a problem. I can't get a CR/LF at the end of the line and all the lines print on top of one another. the printer works fine with my PC (FYI: getting and old BJ-200 to work with Win10 was a bear). Am I missing some drivers that came with the MPP-1100? there are no dip switches on the device an the printer dip switches are set to CR/LF. I haven't been able to find any documentation on the web yet. Thanks. Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted February 23, 2016 Share Posted February 23, 2016 Usually you need to set printer to carriage return after line feed. Old dot matrix printers had such a switch. not sure about the new ones. There maybe a ESC code to set it. James Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 24, 2016 Author Share Posted February 24, 2016 the dip switch doesn't seem to effect it. I'll see if there is a ESC code to turn it on. thanks Quote Link to comment Share on other sites More sharing options...
1050 Posted February 24, 2016 Share Posted February 24, 2016 One possible is that you are feeding it ascii instead of converted atascii. The MPP is looking for 9Bh to translate and send the ODh OAh pair that will line feed and return the carriage. The MPP may not be passing thru ODh and OAh since it's an Atari device. Plug and play - no drivers. Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 24, 2016 Author Share Posted February 24, 2016 One possible is that you are feeding it ascii instead of converted atascii. The MPP is looking for 9Bh to translate and send the ODh OAh pair that will line feed and return the carriage. The MPP may not be passing thru ODh and OAh since it's an Atari device. Plug and play - no drivers. what I'm doing is LIST"P:" It must be on the printer end. CR is acknowledged but LF is not thus printing over the same line over and over. Since I don't have a book or can't find one, I'm just guessing at the char set the MPP uses. the printer is set up as a Epson LQ with a usa code page 437. going to test sending diff codes Quote Link to comment Share on other sites More sharing options...
Mathy Posted February 25, 2016 Share Posted February 25, 2016 Hello hloberg According to the P:R:Connection Owners Manual, you have to set SW2 to LF/CR (page 6 of the manual). SW1 and SW2 can be found by opening the case. Sincerely Mathy Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 26, 2016 Author Share Posted February 26, 2016 Well, I just put a bid on another MPP-1150 WITH a manual. Maybe, I can figure out how to get it to send cf/ff. Looking over the above P:R: connection manual it mentions that the 850 didn't send cr/ff just cr. that must be what they were emulating. FYI: working with this old Canon BJ-200 that I'm trying to get to work with my Atari I discovered that Windows 10 has a broken driver for parallel ports. works only after removing then reinstalling the driver. Very annoying. I found a work around using powershell but M$ needs to fix the problem. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 26, 2016 Share Posted February 26, 2016 And if that doesn't get you going help is on the way albeit the slow train. I've pulled the rom in my Supra MicroPrint and will be able to read the code in it soon. When that gets done I'll post it here for posterity's sake so someone might disassemble it and locate the spot where CR/LF is sent or not sent. There is a location on that board for a 16 pin dip switch and 6 diodes with an additional zener all MIA. Perhaps with code broken down one might be able to solder in a jumper and diode and get it to fly right after all? Or outright rom exchange to the same effect. This was a most difficult unsoldering job ever, will be looking for the appropriate super small side cutters soon so as to just cut the legs off such a job in the future and pull the pins individually. It has a NMC27C64N one time programmable rom with 200ns speed and 12.5+ programming voltage indicated on the package - it had a sticker on it with AT text where the window would be if this were a windowed eprom, but there wasn't a window since it's an all plastic PROM instead. Thanks Mathy, I was not aware of that publication. It seems to suggest that sending CR/LF pair is NOT the standard way of doing things - most interesting and can't help but wonder if that isn't the underlying issue here too. The Supra MicroPrint was sold under many different names, labeled one thing on the package it comes in, labeled differently on itself from the package too having ordered by yet another name. I'm thinking they are all the same thing at the moment but am willing to be corrected in the instance of a MPP-1150 WITH manual no less. I have no such manual, no matter what it's called. MicroPrint Peripheral was the full name IIRC. Also IIRC, Supra bought them out and the name change game was on at that point. What ever you do, don't hold your breath on that pending M$ fix, with those guys it's never look back when you must go forward onto bigger and more bloated things. 1 Quote Link to comment Share on other sites More sharing options...
1050 Posted February 26, 2016 Share Posted February 26, 2016 Pretty sure I got a good read on it. MPP.zip Raw 8049 code, it has some code repeated at 1000h distance as expected, but not all of it is the same as the first half so it must be using both halves. Both halves seem to have copyright 1985 CARDCO who ever that was. Other than some color names not much reading to be done in this one. Disassembly and analysis to come as it happens - anyone is welcome to join or post findings. Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 27, 2016 Author Share Posted February 27, 2016 Pretty sure I got a good read on it. MPP.zip Raw 8049 code, it has some code repeated at 1000h distance as expected, but not all of it is the same as the first half so it must be using both halves. Both halves seem to have copyright 1985 CARDCO who ever that was. Other than some color names not much reading to be done in this one. Disassembly and analysis to come as it happens - anyone is welcome to join or post findings. I remember Cardco, they made peripherals, I think. If I get the MPP1050 with manual and whatever is in the shrink wrap (if anything) I'll post the scan of the booklet. Don't know 8049 code so I will defer to you, thanks. Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 27, 2016 Author Share Posted February 27, 2016 Update. I just threw the MPP1050 I had in the trash as it quit working all together, If I get the one on Ebay I'll pursue this again. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 27, 2016 Share Posted February 27, 2016 Well for goodness sake don't do that with it, I'll pay postage on it - it has parts at the very least. And it's another source for code comparison too, PM me for address and postage reimbursement issue please. You might just need to spritz the connector with some WD-40 and plug it in a few times too, as mine tends to wiggle loose from the dot matrix head jogging back and forth all the time. Don't forget to do this with all power off. Hope you aren't disconnecting the SIO plug with power on, NEVER do this as you might get away with it six times, but the seventh will kill it forever. And it's still worth something to me. What I do with 8049 code is pretty much flounder about, but I can gather some inklings from time to time. For instance I found a section in the second half that is sending CR/LF pair but it's doing it backwards. I have to wonder if the people that made the inkjet incompatible would stoop so low as to make it only accept the pair in the usual order? And only way I would have to find out is to burn an eprom and test it but I don't have a faulty printer, so I might wind up getting one just for this flavor of work. I see a bj-100 for not much and a new bj-200e for $400 but that one is going to stay on his shelf. Anyone have a real clue as to how pervasive this glitch is in the land of inkjets, please chime in. Neat on the CARDCO info, I would never of had a clue. 1 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 27, 2016 Author Share Posted February 27, 2016 Well, I didn't really throw it away, I stored it in my parts and projects box. the SIO cable may get a new life as another project. In reality the only area that's a problem is listing a.k.a. LIST "P:". Every place else a CR/LF could be forced onto the line programmatically. I wonder how the Atari 850 dealt with the issue? It had driver didn't it? Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 27, 2016 Share Posted February 27, 2016 The 850 handler is only required for serial communications (R: ports). The P: port doesn't require anything. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 27, 2016 Share Posted February 27, 2016 It's a throw away society today, I was taking you at your word there and I know people that do just exactly that for real. You might want to take another look at that cable, there is a good chance it's only good for THIS purpose as on mine the SIO plug itself is not fully populated with terminals such that every wire has a connection or then can be used. Three spots on both rows and that's it for mine. Still interested in the remains but only if you are willing and when you are willing, no hurry here. Wait for the auction and do what you want then. Small part of me was scared there for moment, what if the trash man comes by in the night and empties the dumpster before he knows I want it? IIRC the 850 did have a driver, but I'm thinking like the P:R: it was for the R: part only. I've never seen an actual P: entry in the HATABS table that I can recall that came from an external device. But that would be normal since I don't have either the P:R: or a working 850 or have even tried to set one up before. Pretty sure it's mostly from not looking for one due to not having this problem myself also as the black box would install one and use it. It has a dip switch with this option on it - so it's there, I never took much notice of it. I do really have to wonder about that CARDCO code jockey that did it backwards - WHY? I see a lot of room around some of this code that might once have held branching instructions after a test of the dip switch settings, but I am also expecting to see exactly that here - the dip switch was written out of the code since this version doesn't have one. So nops are quite abundant in places. I'm only comfortable enough to try an altered rom with this 8049 stuff, actual confident knowledge of what I'm doing or looking at is just a guess here. So for now I'm stuck at not being able to test the corrected order version of rom which is also a subset of not having a running Atari system as well which is a much bigger issue to solve. I still have to find a machine socket for my torn down MicroPrint rom and get it usable again. And get in some suitable eproms too. May take quite a while. So in the meantime, it's been fun and take care. This has always been something I've wanted to do, getting that code from it. The 1027 printer is next even though I have zero hopes that it will EVER have a suitable rubber print wheel made for it at this point and thus remains useful as a doorstop only. End of the day with soldered in rom, this code reworking isn't much help for an easy fix. You'll have to remove your rom and put in a socket too as a minimum even if this is a fix. 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 27, 2016 Share Posted February 27, 2016 IIRC the 850 did have a driver, but I'm thinking like the P:R: it was for the R: part only. I've never seen an actual P: entry in the HATABS table that I can recall that came from an external device. But that would be normal since I don't have either the P:R: or a working 850 or have even tried to set one up before. Pretty sure it's mostly from not looking for one due to not having this problem myself also as the black box would install one and use it. It has a dip switch with this option on it - so it's there, I never took much notice of it. . . . The P: entry is the first one in HATABS at address $031A. It is installed there by the OS and points to $E430. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 27, 2016 Share Posted February 27, 2016 Are you looking at that with a black box system though? Default P: installation entry would be overwritten with new JUMP location to activate PBI interface I would think in the case of the black box running the P: device but this is pure speculation on my part. I'm happy with your report on this too as alternately the black box could be intercepting the SIO call. If you can't tell already - I'm not the expert on how the black box wedges it's dip switch into the picture in the first place, it just does. And I've never needed to track down the exact details before. It can and does jump in front of everything you try to do and sometimes the only way I can test something is to power down, unhook it and try again. Of course I'm busy trying to do something else at the time and have never quite figured out how it can jump in front like that. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 27, 2016 Share Posted February 27, 2016 Sorry, I didn't notice you had a black box. The BB takes over the handlers, but having never had one, I can't say for sure exactly how it does it. It's very likely handled by it's PBI ROM. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 28, 2016 Share Posted February 28, 2016 Not a problem, your input always welcome Kyle22. I'm sure it is handled by the PBI rom too, it's just that I should have a better idea of just how and sadly I have pretty much nothing. Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted February 29, 2016 Share Posted February 29, 2016 Had a bit of a look at the rom. Is there a jumper from the highest address line of the rom? The 8049 can only address 2K of program memory unless there is bank switching going on which is unlikely. The rom is 4K. The 1st 2k i cannot make much sense of at the moment. The 2nd half however has code that appears to do SIO, add up chksums of 40 bytes of data , sends Ack and looks for $9B. Am wondering if there is a C64 version of same printer interface. James 1 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 29, 2016 Author Share Posted February 29, 2016 Am wondering if there is a C64 version of same printer interface. James Supra made something called the Cardprint for the C64. Maybe, maybe not same, not a lot on it. Quote Link to comment Share on other sites More sharing options...
1050 Posted February 29, 2016 Share Posted February 29, 2016 Had a bit of a look at the rom. Is there a jumper from the highest address line of the rom? The 8049 can only address 2K of program memory unless there is bank switching going on which is unlikely. Thanks. Yes there is, pin 2 (A12) goes thru a 100k resistor to +5 volts and without your question I would not have noticed for quite some time - A12 is then also connected to the dip switch pad #1 and if the dip were there and it were on, it would then ground that line forcing first half use of the rom. X098f: Is where I'm thinking CARDCO sends the CR/LF pair (#0d,#$0a) backwards ; X0900: outl p1,a ; 0900 - 39 9 anl p2,#0efh ; 0901 - 9a ef .o orl p2,#10h ; 0903 - 8a 10 .. nop ; 0905 - 00 . ; data truncated ; org 907h ; X0907: jni X090b ; 0907 - 86 0b .. jmp X0907 ; 0909 - 24 07 $. ; X090b: retr ; 090b - 93 . ; ********** snip ************ X098d: nop ; 098d - 00 . retr ; 098e - 93 . ; X098f: mov a,#0ah ; 098f - 23 0a #. call X0900 ; 0991 - 34 00 4. mov a,#0dh ; 0993 - 23 0d #. call X0900 ; 0995 - 34 00 4. jmp X098d ; 0997 - 24 8d $. ; 1 Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted March 1, 2016 Share Posted March 1, 2016 Looks like you use D48. James Quote Link to comment Share on other sites More sharing options...
1050 Posted March 1, 2016 Share Posted March 1, 2016 Nailed it first shot there. Are you using something else though is the question of interest to me. Other favorites anybody? Other DIP switch pads go to diodes that are connected to one line from the printer connector and one of these diodes is a zener by the DZ component silk screen. There is a 74LS374 under the 8049 that seems to be wired entirely to the rom so some kind of bank switching just might be a possible here, but I won't swear to it at the moment. So exactly how it all works still a bit of mystery, but I can burn an eprom and try it faster than I can deduce the finer details anyway. How do they put that where you burn up more devices than you can afford to buy? Oh, yeah - hackers rulzzz!! Need to do some ohms measurements of the DIP switch diode layout scheme which appear to all go to the printer connection which doesn't exclude the 8049 from using it's ports as inputs as well as outputs and then see if any sense can be made of the 374 latch and why most of it's lines go the rom and what lines those are exactly at the rom. Only three chips on the board. Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted March 2, 2016 Share Posted March 2, 2016 the 374 would be latch for the lower 8 address lines for the rom. Data and lower address share the same bus on the 8049. Pin 11 from 8049 is used to latch the 374. James Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.