{"id":14965,"date":"2018-06-10T11:13:20","date_gmt":"2018-06-10T15:13:20","guid":{"rendered":"http:\/\/scruss.com\/blog\/?p=14965"},"modified":"2018-06-11T21:48:53","modified_gmt":"2018-06-12T01:48:53","slug":"rob-manuels-british-council-tile-bus-fabric-sim","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2018\/06\/10\/rob-manuels-british-council-tile-bus-fabric-sim\/","title":{"rendered":"Rob Manuel&#8217;s British Council Tile \/ Bus Fabric Sim"},"content":{"rendered":"<p>Rob&#8217;s <em>British Council Tile \/ Bus Fabric Sim<\/em> \u00e2\u20ac\u201d described here:\u00c2\u00a0<a href=\"https:\/\/b3ta.com\/blog\/amstrad-type-in\/\">Amstrad BASIC that approximates the tiling schemes that a local council might have used for a municipal building in the 1970s<\/a> \u00e2\u20ac\u201d is a joy. So few colours!<\/p>\n<figure id=\"attachment_14972\" aria-describedby=\"caption-attachment-14972\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14972 size-full\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102015.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102015.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102015-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102015-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><figcaption id=\"caption-attachment-14972\" class=\"wp-caption-text\">No, really: this *was* the seat pattern on Western SMT buses circa 1979<\/figcaption><\/figure>\n<p><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102853.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14966\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102853.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102853.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102853-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102853-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_103935.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14967\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_103935.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_103935.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_103935-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_103935-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102650.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14968\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102650.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102650.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102650-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102650-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102739.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14969\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102739.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102739.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102739-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102739-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102226.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14970\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102226.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102226.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102226-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102226-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102443.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14971\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102443.png\" alt=\"\" width=\"640\" height=\"400\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102443.png 640w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102443-160x100.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/TileBus_102443-320x200.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> Because I care (and don&#8217;t if you don&#8217;t), here&#8217;s the Locomotive BASIC source, lovingly typed into the Caprice32 emulator then extracted as text using iDsk:<\/p>\n<p><code><br \/>\n10 ' British Council Tile \/ Bus Fabric Sim<br \/>\n20 ' by Rob Manuel 2018<br \/>\n30 '<br \/>\n40 ' z\/x - change char up\/down (ascii)<br \/>\n50 ' space - random palette<br \/>\n60 ' c - show ascii val, inks &amp; pause<br \/>\n70 ' v - random character (128+ ascii)<br \/>\n80 ' b - random char and cols<br \/>\n90 ' n - fill with same line &amp; pause<br \/>\n100 'i - input ascii value<br \/>\n110 '<br \/>\n120 ON BREAK GOSUB 260:MODE 1:LOCATE 1,26<br \/>\n130 DEF FNs=INT(RND*255)<br \/>\n140 SYMBOL 255,FNs,FNs,FNs,FNs,FNs,FNs,FNs,FNs<br \/>\n150 DEF FNp=INT(RND*4)<br \/>\n160 DEF FNi=INT(RND*26)<br \/>\n170 GOSUB 470<br \/>\n180 GOSUB 270<br \/>\n190 o$=\"\":i$=INKEY$<br \/>\n200 IF i$&lt;&gt;\"\" THEN GOSUB 380<br \/>\n210 FOR i=1 TO 40<br \/>\n220 w$=CHR$(14)+CHR$(FNp)+CHR$(15)+CHR$(FNp)<br \/>\n230 w$=w$+CHR$(c):o$=o$+w$:NEXT i<br \/>\n240 store$=o$<br \/>\n250 PRINT o$;:GOTO 190<br \/>\n260 CALL &amp;BC02:PAPER 0:PEN 1:END<br \/>\n270 aa=FNi:bb=FNi:cc=FNi:dd=FNi<br \/>\n280 INK 0,aa:INK 1,bb:INK 2,cc:INK 3,dd<br \/>\n290 BORDER aa<br \/>\n300 GOSUB 320:RETURN<br \/>\n310 IF c&gt;255 THEN c=32:IF c&lt;32 THEN c=255<br \/>\n320 LOCATE 1,1:PAPER 0:PEN 1<br \/>\n330 PRINT \"C:\"c;<br \/>\n340 PRINT CHR$(c);<br \/>\n350 PRINT \" \";<br \/>\n360 PRINT \"I:\"aa;bb;cc;dd;<br \/>\n370 LOCATE 1,26:RETURN<br \/>\n380 IF i$=\" \" THEN GOSUB 270:RETURN<br \/>\n390 IF i$=\"z\" THEN c=c-1:GOSUB 310:RETURN<br \/>\n400 IF i$=\"x\" THEN c=c+1:GOSUB 310:RETURN<br \/>\n410 IF i$=\"c\" THEN GOSUB 310:CALL &amp;BB18:RETURN<br \/>\n420 IF i$=\"i\" THEN LOCATE 1,1:INPUT \"ASCII?\",c:GOSUB 310:RETURN<br \/>\n430 IF i$=\"v\" THEN GOSUB 470:GOSUB 310:RETURN<br \/>\n440 IF i$=\"b\" THEN GOSUB 270:GOSUB 470:GOSUB 310:RETURN<br \/>\n450 IF i$=\"n\" THEN FOR i=1 TO 25:PRINT store$;:NEXT:CALL &amp;BB18:RETURN<br \/>\n460 RETURN<br \/>\n470 c=INT(RND*128)+127:RETURN<br \/>\n<\/code><br \/>\nAnd if you <em>really<\/em> care, here&#8217;s an emulator snapshot \u00e2\u20ac\u201d <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/BritishCouncilTileSim.zip\">BritishCouncilTileSim.zip<\/a><\/p>\n<p><strong>Update<\/strong>: I modified the code slightly (essentially, all <strong>INT(RND*n)<\/strong> to <strong>RND MOD n<\/strong>) so it would compile with <a href=\"http:\/\/www.cpcwiki.eu\/index.php\/Hisoft_Turbo_Basic\">Hisoft Turbo Basic<\/a>. It works! It&#8217;s faster!<\/p>\n<p><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/dump2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14982\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/dump2.png\" alt=\"\" width=\"768\" height=\"540\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/dump2.png 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/dump2-160x113.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/dump2-320x225.png 320w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a>Snapshot: <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2018\/06\/BritishCouncilTileSimCompiled.zip\">BritishCouncilTileSimCompiled.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rob&#8217;s British Council Tile \/ Bus Fabric Sim \u00e2\u20ac\u201d described here:\u00c2\u00a0Amstrad BASIC that approximates the tiling schemes that a local council might have used for a municipal building in the 1970s \u00e2\u20ac\u201d is a joy. So few colours! Because I care (and don&#8217;t if you don&#8217;t), here&#8217;s the Locomotive BASIC source, lovingly typed into the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[2604,641,2062,2556],"class_list":["post-14965","post","type-post","status-publish","format-standard","hentry","category-computers-suck","tag-10print","tag-amstrad","tag-basic","tag-retrocomputing"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-3Tn","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/14965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=14965"}],"version-history":[{"count":3,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/14965\/revisions"}],"predecessor-version":[{"id":14984,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/14965\/revisions\/14984"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=14965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=14965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=14965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}