>MDump105/s & Source for *MDUMP by J.G.Harston + v0.10 12-Feb-1986 Original MG version (8 v1.00 10-Mar-1989 Tidied up for Micro User article 2( v1.01 23-Aug-2006 Added -80 option <4 v1.02 23-Aug-2006 Tidied up and compacted code F3 v1.03 25-Aug-2006 Ensured 4-byte Tube address PF v1.04 27-Sep-2006 Uses &FFFDxxxx and &FFFExxxx for screen memory ZQ v1.05 29-Sep-2006 Accesses shadow memory on B, not yet B+, ROMs on Electron d: n7OSWRCH=&FFEE:OSNEWL=&FFE7:OSARGS=&FFDA:OSBYTE=&FFF4 x: . mcode% &300:load%=&FFFF0900:ver$="v1.05" : Maddr=&A8:end=&AC:rom=addr+2:mem=addr+3:os=&AE:cols=&AF:lptr=&F0:tube=&27A P=0 1 P%=load%:O%=mcode% [OPT P*3+4 .buff .syntax P\BRK:\EQUB 220:\EQUS "Syntax:\ MDump (-) |+":\BRK ABRK:EQUB 220:EQUS "Syntax: MDump |+":BRK : .start% LDA #135:JSR OSBYTE LDX #&16:TYA:BEQ setcols CPY #3:BEQ setcols:LDX #8  .setcols " STX addr ,ELDA #1:LDX #lptr:LDY #0:JSR OSARGS:\ NB! writes 4 bytes of memory 6 LDX #addr @(LDA (lptr),Y:CMP #"-":BNE mdumpcols JINY:JSR GetHex T.mdumpcols ^#CMP #13:BEQ syntax:LDA addr:PHA hJSR GetHex:BEQ syntax r)CMP #"+":PHP:BNE P%+5:JSR SkipSpace1 |)LDX #end:JSR GetHex:PLP:BNE mdump:CLC "LDA addr+0:ADC end+0:STA end+0 "LDA addr+1:ADC end+1:STA end+1 :  .mdump EPLA: #&1F:CMP #&10:BCC P%+4:SBC #6:STA cols:\ Columns in decimal 3LDX #&FF:LDA tube:BMI mdump1:LDA rom:BPL mdump1 5STX mem:\ If no Tube, extend &Fxxxxx to &FFFxxxxx  .mdump1 \LDA #0:\JSR OSBYTE:\STX os :  .loop  LDX #2  .praddr LDA addr,X:JSR PrHex DEX:BPL praddr JSR GetBytes:LDX #0 & .loop1 0JSR PrSpace :LDA buff,X:JSR PrHex DINX:CPX cols:BNE loop1 NJSR PrSpace:LDX #0 X .loop2 bLDA buff,X: #127 lCMP #32:BCS pr_char v.pr_dot:LDA #"."  .pr_char:CMP #127:BEQ pr_dot JSR OSWRCH INX:CPX cols:BNE loop2 JSR OSNEWL BIT &FF:BMI escape : LDX #&FC:CLC:LDA cols  .inc_addr ADC addr+4,X:STA addr+4,X LDA #0:INX:BNE inc_addr LDA addr+1: end+1:BNE loop LDA end+0: addr+0  #&F0:BNE loop  .escape  9LDA #124:JMP OSBYTE :\ Clear Escape and exit :  .GetBytes *:PHP:SEI:LDA &F4:PHA :\ Disable IRQs, save ROM 4/LDA &FE34:PHA :\ Save ACCCON >CLDX mem:INX:BNE GetTube :\ addr<&FFxxxxxx, language memory HI #&13:JSR SetACCCON :\ Master, ACCCON=I/O, no FS RAM, main RAM RLDA rom:PHA:\TAX \