atrax27407 Posted September 20, 2017 Share Posted September 20, 2017 For those of you who have an eprommer and want to dump the DSR of that one (or two) particular cards, here is the source for a program written many years ago by Tony McGovern in about 20 minutes. Tony and I were sitting at his place at Hawks Nest (in Oz) and he came up with this "gem" at my suggestion, It only works when loaded from F'WEB since it uses some of F'WEBs internal routines. The code is commented and, once assembled, will auto-start, DEF START,SFIRST,SLAST * F'WEB EQUs DSRLNK EQU >FFD4 FILENT EQU >FFCC FWREGS EQU >FF7C CMSRET EQU >FF5C HEXDIG EQU >FF24 VDPPAB EQU >1000 VDPBUF EQU >1056 * Set length of DSR to be saved DSRLEN EQU >2000 CHANGE FOR DIFFERENT DSR LENGTH * Use F'web workspace AORG >A050 Avoid FW mailbox SFIRST B @START START EQU $ LWPI FWREGS LI R0,>2000 BLWP *R8 DATA 0,>300 BLWP *R9 DATA >06 DATA TITLNM,TITLEN BLWP *R9 DATA >64 DATA QUERY,QUELEN Put DSR query on screen BLWP *R9 DATA >A4 DATA PROMPT,PRMLEN Default >1000 BLWP *R9 DATA >2C6 DATA MSG,MSGLEN * Set CRU base SETO @HEXDIG Allow only hexidecimal digits BLWP @FILENT DATA >A4+2,1 CLR R12 MOVB @>8322,R12 >8322 is first byte of FILENT buffer ORI R12,>1000 else use VMBR from screen * Get dump file name DDNAM EQU >144 BLWP *R9 DATA >104 DATA DSAVN,DSAVL BLWP *R9 DATA DDNAM DATA DNAME,12 BLWP @FILENT DATA DDNAM+3,1 MOVB @>8322,@DNAME+3 BLWP @FILENT DATA DDNAM+11,1 MOVB @>8322,@DNAME+11 * Dump DSR to VDP LI R0,>0100 >0001 for 16 bit HRDs >0100 for 8 LDCR R0,8 BLWP *R9 DATA VDPBUF Move DSR into VDP 6 bytes from beginning DATA >4000,DSRLEN Assume no problems in reading address CLR R0 LDCR R0,8 8 or 0 for 16 * Save file to Disk * Error returns to AUTO menu screen after a honk LI R0,DSRLEN Load R0 with DSR length MOV R0,@FILLEN Load R0 with file length (>200 default) BLWP *R9 Load PAB data to VDP DATA VDPPAB DATA PABDAT,PABLEN File name and length LI R0,VDPPAB+9 Set SCNAM pointer MOV R0,@>8356 BLWP @DSRLNK FW DSRLNK (no data) JEQ ERROR Immediate error routine MOV @CMSRET,R11 Fetch FW central menu return RT ERROR BLWP @>0 Bail out to XB screen and menu screen * Various PAB data PABDAT DATA >0600,VDPBUF,>0 FILLEN DATA >2000 DATA >0C DNAME TEXT 'DSK1.DSRDMP1' NXFILE EQU $-1 PABLEN EQU $-PABDAT QUERY TEXT 'Which DSR CRU-base ?' QUELEN EQU $-QUERY PROMPT TEXT '>1000' PRMLEN EQU $-PROMPT DSAVN TEXT 'Dump to file' DSAVL EQU $-DSAVN TITLNM TEXT 'FWEB VN 4.40 DSR DUMP' TITLEN EQU $-TITLNM MSG TEXT 'Fctn-9 To Exit' MSGLEN EQU $-MSG EVEN SLAST END START 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.