qdosmsq:traps:trap_1:fprm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

qdosmsq:traps:trap_1:fprm [2010/11/05 11:19]
george.gwilt created (partially)
qdosmsq:traps:trap_1:fprm [2010/11/05 14:14] (current)
george.gwilt
Line 1: Line 1:
 +====== SMS_FPRM ======
 +This trap finds the preferred language module.
 +
 +^Call Parameters^^Return Parameters^^
 +|D0.B|$35|D0.L|Corrupted?|
 +|D1.L|Language code/0|D1.L|Preserved.|
 +|D2.L|Car registration/0|D2.L|Preserved.|
 +|D3.L|Module code|A0.L|Preserved.|
 +|A1.L| |A1.L|Pointer to the module.|
 +
 +===== Errors =====
 +No errors are returned by this trap.
 +
 +
 +===== Notes =====
 +  * All registers not shown above are not used on entry and are preserved on exit.
 +  * The country is determined from the contents of D1 and D2. If D0 is non zero it is taken as the country's dialling code. For example 33 is the code for France. If D1 is zero and D2 is not, the contents of D2 are taken as the country's car registration. For example "Dsss", where "s" represents space, is taken as the code for Germany. If both D1 and D2 are zero, the country is taken as the current country.
 +  * The module code in D3 consists of the module type in the LSW and the group number in the MSW. The group numbers are all multiples of 4, the lowest one being 0.
 +  * The types of module are:
 +    * 0 = preference table.
 +    * 1 = keyboard table.
 +    * 2 = printer translate table.
 +    * 3 = message table.
 +  * If the module is found its address is set in A1.L otherwise A1.L is zero.
 +===== Example =====
 +The example below shows the use of this trap call to obtain the address of the fourth group of messages for the UK.
 +
 +<code>
 +        moveq   #$35,d0         ; SMS_FPRM
 +        moveq   #0,d1           ; Use car egistration
 +        move.l  #'GB  ',d2      ; UK
 +        moveq   #12,d3          ; 4th group . .
 +        swap    d3              ; . . in MSW of D3
 +        addq.w  #3,d3           ; message table
 +        trap    #1              ; Get the pointer in A1.L
 +</code>
 +
  
  • qdosmsq/traps/trap_1/fprm.txt
  • Last modified: 2010/11/05 14:14
  • by george.gwilt