ML-MONITOR-EXECUTABLE-WITHOUT-ANY-EFFECTS -------------------------------------------------------------------------------------------------- TOOL: ML-Monitor {Commodore C128} Language: Assembler Extra: - Author: Misel Zivanovic Note: (C) 27th FEB 2026 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- ************************************************************************ NOTE: I noticed that like many decades ago, however never sweat a drop and tried to resolve it. I just took the workaround option. And that was starting it over BASIC with SYS 4864, instead of J1300 directly in ML-Monitor! ************************************************************************ Today we will resolve this matter and it came like out of the blue! It's like destiny wanted it resolved today, so we will listen. That means, I accidently stumbled over the solution, hehe... EXAMPLE CODE 1: --------------------------------------------------------------------------------------------------- {Screenshots 1 and 2} a 01300 a9 05 lda #$05 a 01302 8d 20 d0 sta $d020 a 01305 a9 0c lda #$0c a 01307 8d 21 d0 sta $d021 a 0130a 60 rts a 0130b j1300 executed with j1300 within the ml-monitor is resulting i no changes at all! x ready. however, from basic with sys 4864, the code is doing its thing! sys 4864 ready. --------------------------------------------------------------------------------------------------- EXAMPLE CODE 2: --------------------------------------------------------------------------------------------------- QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ d 1300 130a . 01300 a2 27 ldx #$27 . 01302 a9 51 lda #$51 . 01304 9d 28 04 sta $0428,x . 01307 ca dex . 01308 10 fa bpl $1304 . 0130a 60 rts j 1300 this one is obviously working! CONCLUSION and SOLUTION: --------------------------------------------------------------------------------------------------- Working from BASIC NOT working from built-in ML-MONITOR with J command And then WORKING like nothing happend with J command Why is that so? I noticed this strange behavior when i tried to change the control directly at its location $d020 using the M command: m d020 d020 >0d020 0a 0c 00 00 00 00 ff ff:......?? m d020 d020 >0d020 0b 0c 00 00 00 00 ff ff:......?? I can do all possible changes, however, the border color won't change! ... And then i had the idea! Yes, i am good! m fd020 fd020 >fd020 f8 f9 f1 f2 f3 f1 f2 f0:XYQRSQRP and suddenly, changing the screen and the border color is no longer any magic! so what do we need to add to our routine to make it executable with the 'j' command in ml-monitor environment? here you go: a 01300 a9 00 lda #$00 a 01302 8d 00 ff sta $ff00 a 01305 a9 05 lda #$05 a 01307 8d 20 d0 sta $d020 a 0130a a9 0c lda #$0c a 0130c 8d 21 d0 sta $d021 a 0130f 60 rts a 01310 j 1300 SOLUTION: --------------------------------------------------------------------------------------------------- Switching to BANK 15 is what was missing! lda #$00 sta $ff00 is doing exactly that! ---------------------------------------------------------------------------------------------------