Jump to content
IGNORED

XB Type In Program


Tursi

Recommended Posts

Just a little quickie... I saw a neat screen in an old Sega Genesis demo and wanted to see if I could reproduce it... I did it in XB for speed of coding. It came out all right, though I'd like to use assembly to get it just right. Some day. In the meantime, maybe a little type-in (or paste-in these days) demo. ;)

 

 

 


100 MID=11
110 CALL CLEAR
120 CALL SCREEN(2)
130 CALL COLOR(9,5,1)
140 CALL COLOR(10,6,5)
150 CALL COLOR(11,16,6)
160 CALL COLOR(12,16,1)
170 D$="0000114455AAEEBBFFFF"
180 CALL CHAR(96,D$,104,D$,112,D$)
190 CALL CHAR(113,RPT$("F",16))
200 R=MID
210 CALL HCHAR(R,1,96,32)
220 R=R+1
230 CALL HCHAR(R,1,104,32)
240 R=R+1
250 CALL HCHAR(R,1,112,32)
260 R=R+1
270 CALL HCHAR(R,1,113,32)
280 R=R+1
290 CALL CHAR(97,RPT$("FF00",4))
300 CALL CHAR(98,"00FF0000FF0000FF")
310 CALL CHAR(99,"0000FF000000FF")
320 CALL CHAR(100,"0000FF00000000FF")
330 CALL CHAR(101,"0000000000FF")
340 CALL CHAR(102,"00000000FF")
350 CALL HCHAR(R,1,97,32)
360 R=R+1
370 CALL HCHAR(R,1,98,32)
380 R=R+1
390 CALL HCHAR(R,1,99,32)
400 R=R+1
410 CALL HCHAR(R,1,100,32)
420 R=R+1
430 CALL HCHAR(R,1,101,32)
440 R=R+1
450 CALL HCHAR(R,1,102,32)
460 R=R+1
470 IF R<24 THEN 450
480 CALL CHAR(120,"00000008"&RPT$("0",56))
490 FOR I=1 TO 15
500 CALL HCHAR(INT(RND*(MID-1))+1,INT(RND*32)+1,120)
510 NEXT I
520 CALL MAGNIFY(4)
530 S=5
540 FOR I=MID TO 24 STEP 4
550 R=(I-1)*8+1 :: C=0
560 FOR J=0 TO 3
570 CALL SPRITE(#S,32,1,R,255)
580 S=S+1
590 NEXT J
600 NEXT I
610 THRES=107
620 SMAX=7
630 FOR I=0 TO SMAX
640 RS=INT(RND*20)+5
650 CALL SPRITE(#S+I,120,16,THRES,127,-RS,INT(RND*(RS*2))-RS)
660 NEXT I
670 CALL CHAR(36,"7FC0F8790909090909090B0F0F0F0F03FE1FFFFEF0F0F0F0F0F0F0F0F0F0F0C0")
680 CALL CHAR(40,"03070C090909090909090B0F0F0F0F03C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0C0")
690 CALL CHAR(44,"3F70FFB0A0E0F0FFFF7F00007FC0FF7FF87CFE6E262666E6E6E62E2EFE7EFCF8")
700 CALL CHAR(48,"3F70FFB0A0E0F0FFFF7F00007FC0FF7FF87CFE6E262666E6E6E62E2EFE7EFCF8")
710 FOR I=1 TO 4
720 CALL SPRITE(#I,36+(I-1)*4,3,116+(I-1)*4,60+(I-1)*36)
730 NEXT I
740 FOR I=1 TO 4 :: CALL MOTION(#I,-2,-:: NEXT I
750 FOR I=0 TO SMAX
760 CALL POSITION(#I+S,R,C)
770 IF R<=THRES THEN 810
780 RS=INT(RND*20)+5
790 CALL MOTION(#I+S,-RS,INT(RND*(RS*2))-RS)
800 CALL LOCATE(#I+S,THRES,127)
810 NEXT I
820 FOR I=1 TO 4
830 CALL POSITION(#I,R,C)
840 IF R<=THRES THEN CALL MOTION(#I,2,-8)ELSE IF R>148 THEN CALL MOTION(#I,-2,-
850 NEXT I
860 GOTO 750
870 GOTO 870

 

 

  • Like 7
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...