Skimming the driver code, it looks like the printer presents itself as a read only serial device, but Im not 100% on the interpretation.
It seems like TALK hasn't been updated in a while, because I don't recognize the labels for types of conn devices. Perhaps I'll try my hand at patching it.
I finally got a chance to beat on this code a little and it’s coming along nicely. If Im being honest its my first attempt at writing assembly for anything other then university assignments so its taking longer than it would in more experienced hands. That said I feel strongly that I will be able to get it shipshape.
Is the lpt printer driver dev branch only? I had been running on dev for a while, but wanted to start testing my program against a stable production env, so switch back to main. When I did, my lpt0 interface disappeared (for the same config). Switched back to dev and lpt0 is back again! Not sure if this is intended behavior.
Good news code is basically done and tested. I don’t have a full suite of cards to test against but i was able to verify sio, mg014, and tms all work in large part. I say that because there 2 open questions for me that arnt resolved in the system guide. Firstly, when and how should I reinit devices? The printer in particular benefited greatly from a reinit to flush buffers and the like, while the tms did not like it very much at all. Second, how should I handle the boot console (say, SIO0) talking with the ANSI term associated with the TMS, with VDUEMU_SERKDB .SET 0? In that case basically half at random of characters are printer back to sio0 and the other half are printer the the ansi term.
Finally, as i was writing this I realized that this utility had nothing to do with CP/M at all and that maybe it would be a good fit for inclusion in dgbmon. To that end I have a version of the app that uses identical IO routines as are found in dbgmon.asm, instead of BDOS calls. Other the the cmdline parsing code, is should be a drop in inclusion.
Ok I pulled out the init calls and everything seems to play nice. I also fast forwarded the dev version of my rom. I was working against a branch from a few month ago and forgot to pull. That seems to have helped stability a bit. TMS is behaving as expected on reinit, though I did notice that the <CTRL+L> form feed cmd code doesn't clear the screen the way I expected it would. Id like to leave the screen in a good state after writing to it. A bunch of the TMS demo programs dont do this and is super annoying to have to reset to get my console back.
As for dbgmon, I figured since sending characters back and forth with no additional prompting is such a low level utility it would be useful to include as a sub-utility in dbgmon. Something like "a> C xx" to chat with a specific char device. Might be useful in bringing up new char device drivers. But as you say, that program is already basically maxed out, so no worries there.
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/157b4f5f-ad02-4223-93e1-61eae7391592n%40googlegroups.com.
This sounds like older printers used fewer pins to comunicate with the printer interface and that the Z80 PIO really meets the minimum requirements to work as a printer interface.
