+9640News Posted August 5, 2019 Share Posted August 5, 2019 This is the source code to the TIPI driver for MDOS for the Geneve 9640. This version is "just slightly improved" with two lines commented out where I discovered a bug with using a terminal program coded with buffers in different areas. Feel free to comment on the code and/or suggest additions. If you have additions, please post the code for a new opcode. Beery TIPISRC-ARK 4 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 5, 2019 Share Posted August 5, 2019 Looks good, Beery. One question - I noticed you are mapping memory in the E000-FFFF bank. Is this intentional? I'm guessing this is to ensure your workspace doesn't muck up whatever was in bank 7, though I always have to refresh my own memory regarding the 9995 onboard ram and memory page corruption/usage. MEMOK LI R0,4 Routine number 4 LI R1,PAGLST Page buffer LI R2,8 Length of buffer XOP @MEM,0 Get page list MOVB @PAGLST+7,@>F117 Page in fast ram MOV @>F110,@LIBPAG MOVB @HBA,@PAGLST+2 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted August 6, 2019 Author Share Posted August 6, 2019 Hmmmm, At the time, I wanted to make sure I did not muck up any memory of the calling program, however this past weekend when I went through the source, I saw my notes on not disturbing memory between >F040 and >F07F. I think I got that memory range correct. Will need to double check things a bit. As far as PORT, I have the dialer working now and it is displaying whatever comes in from the TIPI without issue. Somewhere, the interrupts on the keyboard when it is in terminal mode is having a hiccup with things responding slowly. I suspect there is a piece of code that is jumping over the keyboard call depending on whether the receiver is on/off tested by one of the ABS instructions. Just got to find the right one. Will likely be simpler if I move things over to MAME for the debugging but I am not sure if I will be able to that this week. Was planning on a trip out of town, but that may change based on when a memorial service is held for a friend of mine. Beery 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 6, 2019 Share Posted August 6, 2019 Yea, memory mapping in that bank can be tricky. I think you're ok but it is worth checking. I have an old programming note doc that may be helpful, I'll look for it this weekend. PORT overrides the MDOS interrupt handler with its own vector and routines. I did this to directly manage the RS232 interrupts and tweaked the keyboard & video interrupts to give priority to the active RS232 card and port based on user selection. There are also times PORT cedes control to the OS. If the keyboard call logic is sound, check the interrupt handler and your LIMI 0/1/2 calls to rule them out. 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.