PLUS4-BASIC-TRANSPORTER-OF-THE-TEXT-SCREENS --------------------------------------------------------------------------------------------------- TOOL: BASIC 3.5 Language: BASIC Extra: none Author: Misel Zivanovic Note: (C) 09th AUGUST 2026 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- For today, I will play transporters and transport 2 text screens to graphic are and keep them safe there. Because the 2nd screen is a bit colorful, also the color map will be transferred or is it transported, transformed? Whatever, right! Now, you need to play a little transporter too and have this done in ASSEMBLER! In the meanwhile, you can choose between the MERLIN 7501 ASSEMBLER and the TURBO-ASSEMBLER-MACRO! {Do not use TURBO-ASSEMBLER-v6.0 with VICE Commodore Plus/4 Emulation! It crashes a lot!} Transporting {converting} these lines to assembler is really not a big deal and also it shouldn't be a problem at all by now! Agree?! So... Let's start sweating! Yes, I am talking to you... Hahaha... Have fun! You can forget about all CHAR commands, you don't need them! I just made those to see how the progress is progressing {can it be said like that? Hmmm...} --------------------------------------------------------------------------------------------------- 100 rem (c) mzretro.ch 110 rem your mission is to make this 120 rem in assembler! thank you! 130 rem : 140 rem transports 2 text screens 150 rem to graphic area 160 rem 2nd screen is including colors 170 : 175 rem make screens 1 180 cl$=chr$(147):print cl$ 190 color 0,14:color 4,15 200 for a=0 to 63 210 print " **********"; 220 next 230 char 1,12,24,"commodore plus/4" 240 char 1,0,0,"" 250 : 255 rem transport screen 1 260 for x=0 to 999:char 1,35,24,str$(x) 270 cx=peek(3072+x):poke 8200+x,cx 280 next 290 : 295 rem make screen 2-color 300 for x=0 to 999:char 1,35,24,str$(x) 310 mc=peek(3072+x) 320 if mc=32 thenpoke3072+x,160 330 if mc=32 thenpoke2048+x,rnd(1)*15+1 340 next 350 : 355 rem transport screen 2-color 360 for x=0 to 999:char 1,35,24,str$(x) 370 cx=peek(3072+x):poke 9200+x,cx 380 co=peek(2048+x):poke 10200+x,co 390 : 395 rem 1 = call screen 1 396 rem 2 = call screen 2 397 rem q = quit 400 do while k$<>"q" 410 getkey k$ 420 if k$="1" then print cl$: goto 460 430 if k$="2" then print cl$: goto 500 440 loop 450 : 455 rem transported screen 1 460 for x=999 to 0 step -1 470 s1=peek(8200+x):poke 3072+x,s1 480 next: char 1,0,24,"done!":goto 400 490 : 495 rem transported screen 2-color 500 for x=999 to 0 step -1 510 s2=peek(9200+x):poke 3072+x,s2 520 c2=peek(10200+x):poke 2048+x,c2 530 next: char 1,0,24,"done!":goto 400 540 : ---------------------------------------------------------------------------------------------------