PLUS4-CUSTOM-CHARACTERS-Animation-SYS-8448 -------------------------------------------------------------------------------------------------- TOOL: MERLIN 7501 ASSEMBLER {Commodore PLUS4} Language: Assembler Extra: none Author: Misel Zivanovic Note: (C) 10th of JULY 2026 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- How to use this? I noticed that the source code is long like 10x longest Monday! I will paste here the ML-CODE instead! Type in {direct mode, no lines}: GRAPHIC 1,0:GRAPHIC 0 to move BASIC start to $4000. This will allow you to use this assembler program with BASIC! Basically, you can start your BASIC program also like this to make sure the assembler part won't be deleted by BASIC source code! /////////////////////////////////////////////////////////////////////////////////////////////////// *********************************** ADDITIONAL UPDATE, 15:33 12.08.2026 {KNOW KNOWLEDGE} *********************************** COMMODORE C128 has a BLOAD function to load a binary file into memory inside of the BASIC line, so not just in DIRECT Mode. This was meant to be used with BASIC 3.5 and running in background and it does run in background. However, what i have found out today, is that as soon as I RUN this BASIC program, the RUN { in reality it is the GRAPHIC command} is disabling the new characters mapping and then you see nothing! Adding lines 125 and 126 did help! Starting your BASIC code like this will resolve the problem: This will re-active the new RAM characters set which means, you will see the custom characters even when they aren't animated. ................................................................................................... NOTE: this could have been also done by changing {relocating} a few assembler lines, however, I find this solution somehow cute, BASIC style workaround! Thumbs up!} Hehe... ................................................................................................... 100 graphic 1,0:graphic 0 110 color 0,2,1:color 4,5,3:color 1,8,5 120 print chr$(147):rem new char set! 125 poke 65299,(peek(65299)and3)or56 126 poke 65298,peek(65298)and251 130 rem your program... I am also working on a LOADER which will makes it possible to overcome the BLOAD problem {the load of binary files in program mode, meaning 100 load "anim",8,1 [that is not working in BASIC 3.5!]} LOADER will make things much easier for people willing to WORK with a MERLIN 7501 ASSEMBLER and BASIC 3.5 as a secret magic combo! --------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////// Below $4000 are characters and the program is from $2100, dec 8448 {it means, they are inside the GRAPHIC AREA, do not use GRAPHIC x,1!} Copy this ML-Code to built-in ML-Monitor of Commodore Plus/4 And start with SYS 8448 SHIFT + {move up} A,B,C,D {move down}E,F,G,H = anim {plus RVS mode} SHIFT + I,J,K,L,M = static {plus RVS mode} By placing the cursor to left upper corner and pressing on SHIFT + Q this IRQ can be interrupted and restarted with SYS 8448. >2100 ad 46 22 c9 37 f0 02 d0 :-f"i7P.p >2108 01 60 a9 37 8d 46 22 a9 :.?)7.f") >2110 00 85 03 85 05 a9 38 85 :.....)8. >2118 04 a9 d0 85 06 a0 00 b1 :.)p.. .1 >2120 05 91 03 c8 d0 f9 e6 04 :...hpYF. >2128 e6 06 a9 d8 c5 06 d0 ef :F.)xe.pO >2130 ad 12 ff 29 fb 8d 12 ff :-.?)?..? >2138 ad 13 ff 29 03 09 38 8d :-.?)..8. >2140 13 ff a2 00 bd 47 22 9d :.?".=g". >2148 08 3a e8 e0 68 d0 f5 78 :.:H?HpUX >2150 a9 61 8d 14 03 a9 21 8d :)A...)!. >2158 15 03 a0 00 8c e8 0b 58 :.. ..H.x >2160 60 ac e8 0b c8 8c e8 0b :?,H.h.H. >2168 ac e8 0b c0 10 f0 34 ad :,H.@.P4- >2170 00 0c c9 51 f0 03 4c 0e :..iqP.l. >2178 ce ad 12 ff 09 04 8d 12 :n-.?.... >2180 ff ad 13 ff 29 03 09 d0 :?-.?)..p >2188 8d 13 ff a9 00 8d 46 22 :..?)..f" >2190 78 a9 0e 8d 14 03 a9 ce :X)....)n >2198 8d 15 03 58 68 a8 68 aa :...xH(H* >21a0 68 40 60 ad 08 3a 8d e9 :H@?-.:.I >21a8 0f ad 10 3a 8d ea 0f ad :.-.:.J.- >21b0 18 3a 8d eb 0f ad 20 3a :.:.K.- : >21b8 8d ec 0f a2 00 bd 09 3a :.L.".=.: >21c0 9d 08 3a bd 11 3a 9d 10 :..:=.:.. >21c8 3a bd 19 3a 9d 18 3a bd ::=.:..:= >21d0 21 3a 9d 20 3a e8 e0 07 :!:. :H?. >21d8 d0 e3 ad e9 0f 9d 08 3a :pC-I...: >21e0 ad ea 0f 9d 10 3a ad eb :-J...:-K >21e8 0f 9d 18 3a ad ec 0f 9d :...:-L.. >21f0 20 3a bd 28 3a 8d e9 0f : :=(:.I. >21f8 bd 30 3a 8d ea 0f bd 38 :=0:.J.=8 >2200 3a 8d eb 0f bd 40 3a 8d ::.K.=@:. >2208 ec 0f ca bd 28 3a 9d 29 :L.j=(:.) >2210 3a bd 30 3a 9d 31 3a bd ::=0:.1:= >2218 38 3a 9d 39 3a bd 40 3a :8:.9:=@: >2220 9d 41 3a ca 10 e5 ad e9 :.a:j.E-I >2228 0f 8d 28 3a ad ea 0f 8d :..(:-J.. >2230 30 3a ad eb 0f 8d 38 3a :0:-K..8: >2238 ad ec 0f 8d 40 3a a0 00 :-L..@: . >2240 8c e8 0b 4c 76 21 00 66 :.H.lV!.F >2248 bd db da da db a5 7e e7 :=[zz[%?G >2250 db bd 7e e7 db bd 7e 99 :[=?G[=?. >2258 42 24 18 18 3c 7e ff 99 :b$..2260 5a bd 7e 66 a5 42 81 7e :z=?F%b.? >2268 a5 db 5b 5b db bd 66 7e :%[[[[=F? >2270 bd db e7 7e bd db e7 ff :=[G?=[G? >2278 7e 3c 18 18 24 42 99 81 :?<..$b.. >2280 42 a5 66 7e bd 5a 99 3c :b%F?=z.< >2288 7e e3 cf df df 7e 3c 6e :?Co__?2290 d5 89 23 88 b3 45 95 7f :u.#.3e.? >2298 ff ff fb b7 ff dd aa a5 :???7?]*% >22a0 3c db 76 6e db 3c a5 24 :<[VN[<%$ >22a8 3c db 6e 76 db 3c 24 00 :<[NV[<$. >22b0 00 00 ff ff ff ff 00 00 :..????..