Bugs, wishlist, etc in ARMCoProMOS v0.33 ======================================== LOAD after reset, not working with NET - FIXED SYS OS_Mouse, should call ADVAL() - FIXED SYS OS_ReadLine should issue OsByte &D9 - FIXED *MDUMP - FIXED, was bug in *MDUMP System vectors - Implementing via ARMSupport code ------------------------------------------------- No system vectors. OS_CLI jumps directly to the MOS CLI code instead of vectoring via CLIV, etc. Startup banner -------------- On startup, says eg '16MB'. Acorn convention is to use a single letter for memory sizes, eg 32K, 1024K, 16M. *MEMORY ------- *MEMORY B--- dumps from 0 instead of B---, eg *MEMORY B00 dumps from 000. *GO --- *GO enters code with R14 on the stack, so code can't return with MOV PC,R14. Should be something like: STR R14,[R13,#-4]! ; Save R14 MOV R0,#2 ADR R3,L3D9C ; Point to 'GO' SWI XOS_FSControl ; Inform FSControl LDRVS PC,[R13],#4 ; If error, pop link to PC and return MOV R14,R13 MOV R13,#&0B00 ; Point to system stack STMFD R13!,R14 ; Stack old stack pointer TST PC,R0 ; Clear flags BIC R0,R0,#&1F ORR R0,R0,#&10 TEQP R1,R0 ADR R14,cmdGO_return MOV PC,R2 ; Jump to enter code .cmdGO_return LDMFD R13!,{R13} ; Get old stack back LDMFD R13!,{PC} ; Pop old link to PC and return *QUIT ----- Later versions of RISC OS (and BBFW) allow *QUIT n to return a return value, passing n to OS_Exit. Entering machine code --------------------- Machine code programs can't find it's command line. SYS OS_GetEnv always returns R0=>"GO". Supervisor ---------- Calls ReadLine32 with b31 set, so control codes can't be typed, so for instance, can't press Ctrl-L to clear screen.