File:Locomotive BASIC world map.gif

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file(841 × 586 pixels, file size: 87 KB, MIME type: image/gif, looped, 128 frames, 11 s)

Summary

Description
English: Screen capture of a Locomotive BASIC program running on an Amstrad CPC 6128 emulated in MAME. The program uses Mode 1 (320x200px) graphics with 4 colours to draw a simple world map in lat/lon projection. The BASIC 1.1 FILL command is used to fill the continent outlines.
Date (captured GIF); Locomotive BASIC program is from 1990-01-24
Source Own work
Author Morn

Locomotive BASIC source code

Note that this program only runs correctly in Mode 1! In Mode 0 or 2, some of the FILLs will fill the entire screen with colour.

10 ' __________ World map __________
20 ' ===============================
30 '
40 '  23./24.1.1990
50 '
60 '
70 '
80 '
90 PEN 3
100 BORDER 0
110 MODE 1
120 GRAPHICS PEN 1
130 ORIGIN 0,0:MOVE 0,17:DRAW 0,399:DRAW 639,399:DRAW 639,17:ORIGIN 320,200
140 '
150 '*** Init und Nord - Amerika ***
160 INK 0,11:INK 1,19:INK 2,0:INK 3,26
170 GRAPHICS PEN 1
180 READ c
190 RESTORE 300
200 vx=1.76:vy=2.15:GOSUB 330:READ x,y:PLOT x*vx,y*vy
210 GRAPHICS PEN 1
220 FOR a=1 TO c
230 READ x,y:DRAW x*vx,y*vy
240 NEXT
250 READ x,y:MOVE x*vx,y*vy,1:FILL 1
260 MOVE -82*vx,9*vy:FILL 1
270 MOVE -40*vx,70*vy:FILL 1
280 GOTO 390
290 DATA 37
300 DATA -15,82,-22,70,-45,60,-70,77,-80,75,-65,62,-90,65,-95,55,-75,55,-70,60,-55,48,-75,35,-82,32
310 DATA -80,26,-85,30,-95,28
320 DATA -93,18,-91,18,-90,21
330 FOR i=-150 TO 150 STEP 30
340 PLOT i*vx,90*vy,2:DRAW i*vx,-90*vy,2
350 NEXT
360 FOR i=-60 TO 60 STEP 30
370 PLOT 180*vx,i*vy,2:DRAW -180*vx,i*vy,2
380 NEXT:GRAPHICS PEN 1:RETURN
390 '
400 LOCATE 1,1
410 DATA -87,21,-89,17,-83,15
420 DATA -83,10,-77,8,-80,7
430 DATA -105,20,-115,32,-110,23
440 DATA -125,40,-126,50,-150,60
450 DATA -165,55,-160,60,-170,60
460 DATA -160,72,-130,70,-40,83
470 DATA -15,82
480 DATA -100,40
490 ' *** Sued - Amerika ***
500 RESTORE 580
510 GRAPHICS PEN 1
520 READ c
530 READ x,y:PLOT x*vx,y*vy
540 FOR a=1 TO c
550 READ x,y:DRAW x*vx,y*vy
560 NEXT
570 MOVE -60*vx,-10*vy:FILL 1
580 DATA 16
590 DATA -78,8,-70,12,-55,5
600 DATA -50,0,-35,-5,-36,-10
610 DATA -42,-22,-48,-26,-55,-35
620 DATA -57,-33,-56,-37,-70,-50
630 DATA -65,-55,-75,-53,-70,-18
640 DATA -82,-5
650 DATA -78,8
660 ' *** Kuba u.s.w. ***
670 GRAPHICS PEN 1
680 RESTORE 770
690 READ c
700 READ x,y:PLOT x*vx,y*vy
710 FOR a=1 TO c
720 READ x,y:DRAW x*vx,y*vy
730 NEXT
740 FOR i=1 TO 2
750 READ x,y:MOVE x*vx,y*vy:FILL 1
760 NEXT i
770 DATA 4
780 DATA -83,23,-77,20,-73,20
790 DATA -82,24,-83,23
800 DATA -76,21
810 DATA -80,23
820 READ c
830 READ x,y:PLOT x*vx,y*vy
840 FOR a=1 TO c
850 READ x,y:DRAW x*vx,y*vy
860 NEXT
870 READ x,y:MOVE x*vx,y*vy:FILL 1
880 DATA 4
890 DATA -73,20,-70,20,-68,18,-74,17,-73,20
900 DATA -71,19
910 ' *** Island ***
920 READ c
930 READ x,y:PLOT x*vx,y*vy
940 FOR a=1 TO c
950 READ x,y:DRAW x*vx,y*vy
960 NEXT
970 READ x,y:MOVE x*vx,y*vy:FILL 1
980 DATA 6
990 DATA -15,65,-17,67,-25,67,-25,66
1000 DATA -22,65,-21,63,-15,65
1010 DATA -17,65
1020 ' *** Grossbritannien ***
1030 RESTORE 1110
1040 FOR i=1 TO 2
1050 READ c:READ x,y:PLOT x*vx,y*vy
1060 FOR a=1 TO c
1070 READ x,y:DRAW x*vx,y*vy:NEXT
1080 READ x,y:MOVE x*vx,y*vy:FILL 1
1090 RESTORE 1160
1100 NEXT i
1110 DATA 5
1120 DATA -3,58,3,52,-6,50
1130 DATA -2,55
1140 DATA -7,56,-3,58
1150 DATA -2,53
1160 DATA 4
1170 DATA -7,53,-7,55,-10,54,-11,52,-6,52
1180 DATA -8,53
1190 ' *** Europa, Afrika und Asien ***
1200 RESTORE 1270
1210 READ c:READ x,y:PLOT x*vx,y*vy
1220 FOR a=1 TO c
1230 READ x,y:DRAW x*vx,y*vy
1240 IF x=33 AND y=32 THEN MOVE 20*vx,0*vy:FILL 1
1250 NEXT
1260 READ x,y:MOVE x*vx,y*vy:FILL 1
1270 DATA 94
1280 DATA 45,67,25,74,5,65
1290 DATA 5,58,10,60,13,57
1300 DATA 18,60,23,66,25,66
1310 DATA 22,60,30,60,22,67
1320 DATA 20,55,12,53,10,57
1330 DATA 8,54,2,52,-3,48
1340 DATA -5,47,-2,45,-3,43
1350 DATA -10,43,-8,37,-6,36
1360 DATA 0,38,3,42,8,44
1370 DATA 15,40,12,37,15,36
1380 DATA 18,40,14,45,15,45
1390 DATA 20,40,22,37,24,36
1400 DATA 23,41,26,42,30,36
1410 DATA 36,37,33,33,20,33
1420 DATA 20,30,10,35,9,37
1430 DATA -5,36,-17,20,-13,8
1440 DATA 7,9,10,5,13,-12
1450 DATA 11,-18,20,-35,30,-30
1460 DATA 40,-15,44,0,51,12
1470 DATA 43,12,33,32,42,20
1480 DATA 46,13,55,17
1490 DATA 60,23
1500 DATA 48,30,50,30,57,27
1510 DATA 67,25,70,21,72,23
1520 DATA 77,8,80,10,80,17
1530 DATA 90,23,95,16,97,18
1540 DATA 99,9,100,4,105,2
1550 DATA 104,5,101,12,107,10
1560 DATA 110,11,106,23,120,25
1570 DATA 120,40,125,40,145,50
1580 DATA 135,55,140,60,157,51
1590 DATA 180,68,130,73,110,80
1600 DATA 70,73,45,67
1610 DATA 90,40
1620 ' *** Australien ***
1630 READ c:READ x,y:PLOT x*vx,y*vy
1640 FOR a=1 TO c
1650 READ x,y:DRAW x*vx,y*vy:NEXT
1660 READ x,y:MOVE x*vx,y*vy:FILL 1
1670 DATA 13
1680 DATA 142,-10,153,-25,150,-37
1690 DATA 135,-35,130,-32,115,-34
1700 DATA 113,-22,126,-14,130,-11
1710 DATA 130,-12,137,-13,136,-16
1720 DATA 140,-18,142,-10
1730 DATA 140,-25
1740 ' *** Madagaskar ***
1750 READ c:READ x,y:PLOT x*vx,y*vy
1760 FOR a=1 TO c
1770 READ x,y:DRAW x*vx,y*vy:NEXT
1780 READ x,y:MOVE x*vx,y*vy:FILL 1
1790 DATA 4
1800 DATA 50,-12,47,-25,44,-25
1810 DATA 45,-15,50,-12
1820 DATA 47,-20
1830 ' *** Neuseeland ***
1840 READ c:READ x,y:PLOT x*vx,y*vy
1850 FOR a=1 TO c:READ x,y
1860 DRAW x*vx,y*vy:NEXT:READ x,y
1870 MOVE x*vx,y*vy:FILL 1
1880 DATA 4
1890 DATA 175,-36,179,-39,170,-44
1900 DATA 167,-43,175,-36
1910 DATA 175,-38
1920 ' *** Inseln ***
1930 PLOT -155*vx,20*vy:PLOT -154,19*vy:' Hawai
1940 PLOT 8*vx,40*vy:PLOT 8*vx,47*vy:'  Sardininen , Korsika
1950 PLOT 120*vx,-3*vy:PLOT 107*vx,-7*vy:DRAW 115*vx,-9*vy:PLOT 123*vx,8*vy:DRAW 127*vx,7*vy:PLOT 122*vx,16*vy:DRAW 122*vx,20*vy:' Philippinen ...
1960 PLOT 132*vx,-2*vy:DRAW 134*vx,-3*vy:DRAW 135*vx,-4*vy
1970 ' *** Tasmanien ***
1980 PLOT 144*vx,-41*vy:DRAW 148*vx,-42*vy:DRAW 147*vx,-45*vy:DRAW 144*vx,-41*vy:MOVE 146*vx,-43*vy:FILL 1
1990 ' *** Ozeanien ***
2000 MOVE 97*vx,5*vy:DRAW 106*vx,-3*vy:DRAW 103*vx,-5*vy:DRAW 97*vx,5*vy
2010 MOVE 100*vx,0*vy:FILL 1
2020 MOVE 118*vx,7*vy:DRAW 116*vx,-3*vy:DRAW 109*vx,1*vy:DRAW 118*vx,7*vy
2030 MOVE 113*vx,0*vy:FILL 1
2040 MOVE 132*vx,-1*vy:DRAW 144*vx,-4*vy:DRAW 150*vx,-10*vy:DRAW 140*vx,-8*vy:DRAW 132*vx,-1*vy:MOVE 141*vx,-4*vy:FILL 1
2050 ' *** Japan ***
2060 MOVE 130*vx,34*vy:DRAW 138*vx,37*vy:DRAW 143*vx,45*vy:DRAW 140*vx,34*vy:DRAW 130*vx,32*vy:DRAW 130*vx,34*vy
2070 MOVE 135*vx,35*vy:FILL 1
2080 ' *** Inseln am Nordpol ***
2090 MOVE 56*vx,71*vy:DRAW 54*vx,73*vy:DRAW 70*vx,77*vy:DRAW 52*vx,73*vy:DRAW 56*vx,71*vy
2100 MOVE 55*vx,72*vy:FILL 1
2110 ' *** Antarktis ***
2120 MOVE -181*vx,-78*vy:DRAW -100*vx,-73*vy:DRAW -70*vx,-72*vy:DRAW -60*vx,-63*vy:DRAW -60*vx,-75*vy:DRAW 0*vx,-73*vy:DRAW 50*vx,-66*vy:DRAW 100*vx,-62*vy:DRAW 180*vx,-72*vy
2130 MOVE 0*vx,-90*vy:FILL 1
2140 ' *** Sri Lanka ***
2150 PLOT 82*vx,10*vy:DRAW 84*vx,7*vy:DRAW 81*vx,6*vy:DRAW 82*vx,10*vy
2160 MOVE 82*vx,8*vy,3:FILL 1
2170 GOTO 2170

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current15:45, 22 December 2023Thumbnail for version as of 15:45, 22 December 2023841 × 586 (87 KB)MornUploaded own work with UploadWizard
The following pages on the English Wikipedia use this file (pages on other projects are not listed):