Article View: comp.sys.acorn.tech
Article #47Some Questions... (Very Long)
From: John Bokma
Date: Tue, 03 Nov 1992 10:51
Date: Tue, 03 Nov 1992 10:51
271 lines
11098 bytes
11098 bytes
Well, here are a few questions:
(Some of them are from a friend)
1. I am writing an application that enables the user to create an index of
all his discs. I want to support all filing systems, ADFS, IDEFS, SCSI,
etc. How do I know which Filing systems are available? I know you should
use OS_FSControl, 33. This returns the fs name, but this also returns
null:, printer:, etc. How do I filter out the not-relevant filing
systems ? I don't want to use dirty tricks like if there's 'FS' in the
name (Wouldn't work anyway, because deskfs: is also irrelevant). Has it
something to do with the existance of a swi <FSNAME>_Drives ?
(BTW is there already a more up to date list of Filing Systems and there
corresponding codes ?)
2. When using Wimp_GetWindowInfo to read some information on a window you
also get 32 bytes for every icon in the window. How can you determine
the number of icons in a window
3. How do I get the input focus in a window like the main window of !Draw?
Do I just use Wimp_SetCaretPosition with:
R0 = windowhandle
R1 = -1, i.e. there are no icons
are R2..R5 don't cares, or do I have to use the following
values:
R2 = ?
R3 = ?
R4 and R5 both -1.
4. When I write an application in BASIC, how can I reserve a certain amount
for my BASIC program and the space left as additional workspace, i.e.
additional to the space I will claim from the Free slot when I need
It:
_______________ ________________ ______________//_____
| | | // |
| BASIC program | not used (yet) | |
|_______________|________________|_____________//______|
//
|<- from WIMPSLOT, i.e. ->|<- To be claimed ->|
depends on page size
How can I claim at run time the extra memory I'll need??
Can I just use Wimp_SlotSize or END = &xxxx (what's the
difference, except that with SYS "XWimp_SlotSize" there is a
neater way to check for an error)
How can I lower the TOP of the BASIC program, thus freeing
memory which has been claimed by the WIMPSLOT command in !Run
("not used (yet)" in the diagram)
So I want to do something like this:
Initialise()
Reclaim(SpaceClaimed - (Size of BASIC program in bytes + room for
BASIC workspace)) with SpaceClaimed a multiple of the
page size
When I need more workspace (not BASIC workspace but for storage)
I want to do something like this:
Claim(n bytes)
which "eats" first te extra space, and later claims extra room
with Wimp_SetSlot.
5. How do I write an International Keyboard Handler??
BTW can somebody please explain wat OS_Byte &47 does?? (Yes
it's in the I.K. Handler)
03920034 : E3A00047 : MOV R0,#&47
03920038 : E3A010FF : MOV R1,#&FF
0392003C : EF020006 : SWI XOS_Byte *FX 71,255 ????
03920040 : 73811080 : ORRVC R1,R1,#&80
03920044 : EF020006 : SWIVC XOS_Byte
6. Does anybody already know how too use some of the following RISC-OS
3.10 SWI's?
Font_ApplyFields 0x0400a7
Font_LookupFont 0x0400a8
Wimp_GetMenuState 0x0400f4
Wimp_RegisterFilter 0x0400f5
Wimp_AddMessages 0x0400f6
Wimp_RemoveMessages 0x0400f7
Wimp_SetColourMapping 0x0400f8
ADFS_VetFormat 0x040246
ADFS_FlpProcessDCB 0x040247
ADFS_ControllerType 0x040248
ADFS_PowerControl 0x040249
ADFS_SetIDEController 0x04024a
ADFS_IDEUserOp 0x04024b
ADFS_MiscOp 0x04024c
ADFS_ECCSAndRetries 0x040250
Podule_EnumerateChunksWithInfo 0x04028a
Podule_HardwareAddresses 0x04028b
Podule_ReturnNumber 0x04028c
FileCore_DiscardReadSectorsCache 0x040546
FileCore_DiscFormat 0x040547
FileCore_LayoutStructure 0x040548
FileCore_MiscOp 0x040549
Hourglass_Colours 0x0406c6
ColourTrans_SetCalibration 0x040751
ColourTrans_ReadCalibration 0x040752
ColourTrans_ConvertDeviceColour 0x040753
ColourTrans_ConvertDevicePalette 0x040754
ColourTrans_ConvertRGBToCIE 0x040755
ColourTrans_ConvertCIEToRGB 0x040756
ColourTrans_WriteCalibrationToFile 0x040757
ColourTrans_ConvertRGBToHSV 0x040758
ColourTrans_ConvertHSVToRGB 0x040759
ColourTrans_ConvertRGBToCMYK 0x04075a
ColourTrans_ConvertCMYKToRGB 0x04075b
ColourTrans_ReadPalette 0x04075c
ColourTrans_WritePalette 0x04075d
ColourTrans_SetColour 0x04075e
ColourTrans_MiscOp 0x04075f
ColourTrans_WriteLoadingsToFile 0x040760
ColourTrans_SetTextColour 0x040761
ColourTrans_SetOppTextColour 0x040762
ColourTrans_GenerateTable 0x040763
Super_Sample90 0x040d80
Super_Sample45 0x040d81
FilerAction_SendSelectedDirectory 0x040f80
FilerAction_SendSelectedFile 0x040f81
FilerAction_SendStartOperation 0x040f82
MessageTrans_FileInfo 0x041500
MessageTrans_OpenFile 0x041501
MessageTrans_Lookup 0x041502
MessageTrans_MakeMenus 0x041503
MessageTrans_CloseFile 0x041504
MessageTrans_EnumerateTokens 0x041505
MessageTrans_ErrorLookup 0x041506
MessageTrans_GSLookup 0x041507
MessageTrans_CopyError 0x041508
PDumper_Info 0x041b00
PDumper_Claim 0x041b01
PDumper_Free 0x041b02
PDumper_Find 0x041b03
PDumper_StartJob 0x041b04
PDumper_TidyJob 0x041b05
PDumper_SetColour 0x041b06
PDumper_PrepareStrip 0x041b07
PDumper_LookupError 0x041b08
PDumper_CopyFilename 0x041b09
ResourceFS_RegisterFiles 0x041b40
ResourceFS_DeregisterFiles 0x041b41
DragASprite_Start 0x042400
DragASprite_Stop 0x042401
Filter_RegisterPreFilter 0x042640
Filter_RegisterPostFilter 0x042641
Filter_DeRegisterPreFilter 0x042642
Filter_DeRegisterPostFilter 0x042643
TaskManager_TaskNameFromHandle 0x042680
TaskManager_EnumerateTasks 0x042681
TaskManager_Shutdown 0x042682
Squash_Compress 0x042700
Squash_Decompress 0x042701
DeviceFS_Register 0x042740
DeviceFS_Deregister 0x042741
DeviceFS_RegisterObjects 0x042742
DeviceFS_DeregisterObjects 0x042743
DeviceFS_CallDevice 0x042744
DeviceFS_Threshold 0x042745
DeviceFS_ReceivedCharacter 0x042746
DeviceFS_TransmitCharacter 0x042747
Buffer_Create 0x042940
Buffer_Remove 0x042941
Buffer_Register 0x042942
Buffer_Deregister 0x042943
Buffer_ModifyFlags 0x042944
Buffer_LinkDevice 0x042945
Buffer_UnlinkDevice 0x042946
Buffer_GetInfo 0x042947
Buffer_Threshold 0x042948
BASICTrans_HELP 0x042c80
BASICTrans_Error 0x042c81
BASICTrans_Message 0x042c82
Parallel_HardwareAddress 0x042ec0
Parallel_Op 0x042ec1
Territory_Number 0x043040
Territory_Register 0x043041
Territory_Deregister 0x043042
Territory_NumberToName 0x043043
Territory_Exists 0x043044
Territory_AlphabetNumberToName 0x043045
Territory_SelectAlphabet 0x043046
Territory_SetTime 0x043047
Territory_ReadCurrentTimeZone 0x043048
Territory_ConvertTimeToUTCOrdinals 0x043049
Territory_ReadTimeZones 0x04304a
Territory_ConvertDateAndTime 0x04304b
Territory_ConvertStandardDateAndTime 0x04304c
Territory_ConvertStandardDate 0x04304d
Territory_ConvertStandardTime 0x04304e
Territory_ConvertTimeToOrdinals 0x04304f
Territory_ConvertTimeStringToOrdinals 0x043050
Territory_ConvertOrdinalsToTime 0x043051
Territory_Alphabet 0x043052
Territory_AlphabetIdentifier 0x043053
Territory_SelectKeyboardHandler 0x043054
Territory_WriteDirection 0x043055
Territory_CharacterPropertyTable 0x043056
Territory_LowerCaseTable 0x043057
Territory_UpperCaseTable 0x043058
Territory_ControlTable 0x043059
Territory_PlainTable 0x04305a
Territory_ValueTable 0x04305b
Territory_RepresentationTable 0x04305c
Territory_Collate 0x04305d
Territory_ReadSymbols 0x04305e
Territory_ReadCalendarInformation 0x04305f
Territory_NameToNumber 0x043060
Territory_TransformString 0x043061
Territory_ConvertTextToString 0x043075
ScreenBlanker_Control 0x043100
TaskWindow_TaskInfo 0x043380
Free_Register 0x0444c0
Free_DeRegister 0x0444c1
DOSFS_DiscFormat 0x044b00
DOSFS_LayoutStructure 0x044b01
Last but not least: What is the new layout of the CMOS RAM (i.e. which
locations corresponds with which *Configure)
Please Mail. Because its almost certain others are interested, please put
in your mail if you don't mind if I summarise your reply to the net.
Many Many Thanks In Advance!!!
John (and Simon)
Please mail: jjjbokma@cs.ruu.nl
============================================================================= ___ __
/ ) _ )_ _ /_) _ /_ ___ _
/ (_) / ) / ) _/__) (_) /\ / / ) (_|_
(_ /
=============================================================================
Technical Details
Message-ID:
<1992Nov3.105100.21476@cs.ruu.nl>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!sun4nl!ruuinf!jjjbokmaShow Full Headers
Complete Article Headers
Newsgroups: comp.sys.acorn.tech Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!sun4nl!ruuinf!jjjbokma From: jjjbokma@cs.ruu.nl (John Bokma) Subject: Some Questions... (Very Long) Message-ID: <1992Nov3.105100.21476@cs.ruu.nl> Date: Tue, 3 Nov 1992 10:51:00 GMT Organization: Utrecht University, Dept. of Computer Science Lines: 271