Menu

#383 QueuePacket is actually NoReqLoadSeg, GetPacket is ClearVec

m68k-amiga
closed-fixed
Shell/DOS (109)
5
2013-02-18
2012-02-28
Mark K
No

AROS bcpl.S currently has an unimplemented entry for "QueuePacket" at global vector entry -21 (offset -$54). That is mis-named, it should be NoReqLoadSeg. NoReqLoadSeg is pretty simple: set pr_WindowPtr to -1, call LoadSeg(), then restore pr_WindowPtr.

While the 3.1 dos_lib.i include file shows an entry for QueuePacket(), that function offset is private. (Was there ever a QueuePacket function at that offset? Maybe in Kickstart 1.1 or earlier???)

See http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node0550.html

"GetPacket" corresponds to ClearVec(), LVO -$A2. ClearVec() calls the BCPL routine named "clearmem" in the AROS source. However at least as of Kickstart 3.1, the routine called by jumping to DOSBase+_LVOClearVec just does MOVEQ #0,D0 / RTS. So ClearVec() is no longer implemented as a DOS library function. Its BCPL equivalent clearvec *is* implemented though.

"QueuePacket" corresponds to NoReqLoadSeg(), LVO -$A8. NoReqLoadSeg *is* implemented in the 3.1 ROM, both as BCPL routine and in the DosBase jump table.

Discussion

  • Jason S. McMullan

    • status: open --> open-fixed
     
  • Jason S. McMullan

    NoReqLoadSeg implemented in r44785

     
  • Jason S. McMullan

    clearvec fixed in r44296

    Please test & close.

     
  • Krzysztof Smiechowicz

    • assigned_to: nobody --> ezrec
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB