Jump to content
IGNORED

TIPI Driver Source for MDOS for Geneve 9640


9640News

Recommended Posts

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

  • Like 4
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...