[img] 6809 Tube™ Client code updates
 MDFS::Software.Tube.6809.updates Search  

Version 1.04 build A
Optimised SEND_BLK and WAIT_BLK in preparation for using big-endian file control blocks.
Version 1.04 build C
Filing system calls use big-endian control blocks.
Version 1.05
Updated to v1.05.
reload.bin   Temporarily load replacement client code on a live client. load=exec=0100, client code must be called 'Client9', 'Client09', 'Client09.bin' or 'Client09/bin'.
Changes to 6809 BBC API moving from v1.00
  • The client makes sure that the command line pointer after *RUN correctly points to the parameter of the file that has been run, and not of the parameter of the *RUN command - ie, the filename being run. So, for example, *RUN hazel sheila correctly points the line pointer to sheila, just as */hazel sheila and *hazel sheila does.
  • Filing system calls OSFILE, OSGBPB and OSARGS use big-endian control block data to match the 6809 endianness. OSINIT returns PL and A.b7=0 to indicate this.
  • Programs used to have the option to call OSINIT to find where BRKV and ESCFLG were. This is now no longer optional for programs that want to become the current application - the program that is re-entered on Soft Break. This prevents transient code from inadvertantly becoming the current program.
     On entry:
      A=$00, DP=program's default DirectPage: become current program
      A=$FF: read settings
     On exit:
      X=>BRKV, Y=>ESCFLG, DP=DirectPage for this program, SP=Stack for this program
      U=reserved, B=reserved
      A.b7: 1=little-endian filing system calls, 0=big-endian filing system calls
      A.b6-b0: reserved
      CC=state of the A register (ie PL/MI=endianness)
  • Programs should start up with code similar to:
        CLR A               ; A=0
        TFR A,DP            ; Default DirectPage
        JSR OSINIT          ; We can now access DirectPage
        STY <ESCADDR        ; Note address of ESCFLG
        STY ,X              ; Claim BRKV