Home » Archimedes archive » Acorn User » AU 1993-08.adf » !3DGraphic_3DGraphic » ShowCity

ShowCity

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1993-08.adf » !3DGraphic_3DGraphic
Filename: ShowCity
Read OK:
File size: 04BE bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >ShowCity
   20REM by DCA
   30REM for 32-bit machines
   40REM (c) BAU August 1993
   50:
   60MODE 9
   70OFF
   80FOR i=0 TO 7
   90 IF i<7 j=&20*i ELSE j=&F0
  100 COLOUR i,j,j,j
  110NEXT
  120COLOUR 8,117,21,13
  130COLOUR 9,168,136,98
  140COLOUR 10,255,0,0
  150COLOUR 11,0,&50,0
  160COLOUR 12,&80,&D0,&E0
  170heap_size=160*1024
  180DIM heap heap_size
  190SYS "BAU3D_HeapInit",heap,heap_size
  200dist=800:zplus=10000
  210ang_scale=&10000/360
  220SYS "BAU3D_WriteConfig",%110,dist,zplus,-zplus*0.8,10000000
  230SYS "BAU3D_Load","objects.world3",1000 TO scene
  240xp=0
  250yp=0
  260DIM view_xyz 12,view_ang 12
  270spr_size%=750*1024
  280DIM spr% spr_size%
  290!spr%=spr_size%
  300spr%!4=0
  310spr%!8=16
  320spr%!12=16
  330rec%=FALSE
  340REPEAT
  350 FOR view=0 TO 359 STEP 5
  360  IF rec% THEN
  370   FOR delay%=1 TO 5
  380    WAIT
  390   NEXT
  400   SYS &2E,&122,spr%,STR$view,-320,-256
  410  ELSE
  420   view_xyz!0=300000*SINRAD(view)
  430   view_xyz!4=-50000+40000*COSRAD(2*view)
  440   view_xyz!8=0
  450   view_ang!0=0
  460   view_ang!4=((view+90)*ang_scale) AND &FFFF
  470   view_ang!8=0
  480   VDU 24,640-320;512-256;640+320;512+256;
  490   ORIGIN 640,512
  500   GCOL 11
  510   RECTANGLE FILL -640,-512,1280,512
  520   GCOL 12
  530   RECTANGLE FILL -640,0,1280,512
  540   SYS "BAU3D_Render",scene,view_xyz,view_ang
  550   SYS &2E,&110,spr%,STR$view,,-320,-256,319,255
  560  ENDIF
  570 NEXT
  580 rec%=TRUE
  590UNTIL FALSE
  600END

� >ShowCity
� by DCA
� for 32-bit machines
(� (c) BAU August 1993
2:
<� 9
F�
P
� i=0 � 7
Z � i<7 j=&20*i � j=&F0
d � i,j,j,j
n�
x� 8,117,21,13
�� 9,168,136,98
�� 10,255,0,0
�� 11,0,&50,0
�� 12,&80,&D0,&E0
�heap_size=160*1024
�� heap heap_size
�&ș "BAU3D_HeapInit",heap,heap_size
�dist=800:zplus=10000
�ang_scale=&10000/360
�>ș "BAU3D_WriteConfig",%110,dist,zplus,-zplus*0.8,10000000
�1ș "BAU3D_Load","objects.world3",1000 � scene
�xp=0
�yp=0
� view_xyz 12,view_ang 12
spr_size%=750*1024
� spr% spr_size%
"!spr%=spr_size%
,spr%!4=0
6
spr%!8=16
@spr%!12=16
J
rec%=�
T�
^ � view=0 � 359 � 5
h  � rec% �
r   � delay%=1 � 5
|
    Ȗ
�   �
�'   ș &2E,&122,spr%,�view,-320,-256
�  �
�!   view_xyz!0=300000*��(view)
�)   view_xyz!4=-50000+40000*��(2*view)
�   view_xyz!8=0
�   view_ang!0=0
�/   view_ang!4=((view+90)*ang_scale) � &FFFF
�   view_ang!8=0
�,   � 24,640-320;512-256;640+320;512+256;
�   ȑ 640,512
�   � 11
�   ȓ Ȑ -640,-512,1280,512
   � 12
   ȓ Ȑ -640,0,1280,512
0   ș "BAU3D_Render",scene,view_xyz,view_ang
&0   ș &2E,&110,spr%,�view,,-320,-256,319,255
0  �
: �
D rec%=�
N� �
X�
�
00000000  0d 00 0a 0f f4 20 3e 53  68 6f 77 43 69 74 79 0d  |..... >ShowCity.|
00000010  00 14 0c f4 20 62 79 20  44 43 41 0d 00 1e 19 f4  |.... by DCA.....|
00000020  20 66 6f 72 20 33 32 2d  62 69 74 20 6d 61 63 68  | for 32-bit mach|
00000030  69 6e 65 73 0d 00 28 19  f4 20 28 63 29 20 42 41  |ines..(.. (c) BA|
00000040  55 20 41 75 67 75 73 74  20 31 39 39 33 0d 00 32  |U August 1993..2|
00000050  05 3a 0d 00 3c 07 eb 20  39 0d 00 46 05 87 0d 00  |.:..<.. 9..F....|
00000060  50 0d e3 20 69 3d 30 20  b8 20 37 0d 00 5a 1a 20  |P.. i=0 . 7..Z. |
00000070  e7 20 69 3c 37 20 6a 3d  26 32 30 2a 69 20 8b 20  |. i<7 j=&20*i . |
00000080  6a 3d 26 46 30 0d 00 64  0e 20 fb 20 69 2c 6a 2c  |j=&F0..d. . i,j,|
00000090  6a 2c 6a 0d 00 6e 05 ed  0d 00 78 11 fb 20 38 2c  |j,j..n....x.. 8,|
000000a0  31 31 37 2c 32 31 2c 31  33 0d 00 82 12 fb 20 39  |117,21,13..... 9|
000000b0  2c 31 36 38 2c 31 33 36  2c 39 38 0d 00 8c 10 fb  |,168,136,98.....|
000000c0  20 31 30 2c 32 35 35 2c  30 2c 30 0d 00 96 10 fb  | 10,255,0,0.....|
000000d0  20 31 31 2c 30 2c 26 35  30 2c 30 0d 00 a0 14 fb  | 11,0,&50,0.....|
000000e0  20 31 32 2c 26 38 30 2c  26 44 30 2c 26 45 30 0d  | 12,&80,&D0,&E0.|
000000f0  00 aa 16 68 65 61 70 5f  73 69 7a 65 3d 31 36 30  |...heap_size=160|
00000100  2a 31 30 32 34 0d 00 b4  14 de 20 68 65 61 70 20  |*1024..... heap |
00000110  68 65 61 70 5f 73 69 7a  65 0d 00 be 26 c8 99 20  |heap_size...&.. |
00000120  22 42 41 55 33 44 5f 48  65 61 70 49 6e 69 74 22  |"BAU3D_HeapInit"|
00000130  2c 68 65 61 70 2c 68 65  61 70 5f 73 69 7a 65 0d  |,heap,heap_size.|
00000140  00 c8 18 64 69 73 74 3d  38 30 30 3a 7a 70 6c 75  |...dist=800:zplu|
00000150  73 3d 31 30 30 30 30 0d  00 d2 18 61 6e 67 5f 73  |s=10000....ang_s|
00000160  63 61 6c 65 3d 26 31 30  30 30 30 2f 33 36 30 0d  |cale=&10000/360.|
00000170  00 dc 3e c8 99 20 22 42  41 55 33 44 5f 57 72 69  |..>.. "BAU3D_Wri|
00000180  74 65 43 6f 6e 66 69 67  22 2c 25 31 31 30 2c 64  |teConfig",%110,d|
00000190  69 73 74 2c 7a 70 6c 75  73 2c 2d 7a 70 6c 75 73  |ist,zplus,-zplus|
000001a0  2a 30 2e 38 2c 31 30 30  30 30 30 30 30 0d 00 e6  |*0.8,10000000...|
000001b0  31 c8 99 20 22 42 41 55  33 44 5f 4c 6f 61 64 22  |1.. "BAU3D_Load"|
000001c0  2c 22 6f 62 6a 65 63 74  73 2e 77 6f 72 6c 64 33  |,"objects.world3|
000001d0  22 2c 31 30 30 30 20 b8  20 73 63 65 6e 65 0d 00  |",1000 . scene..|
000001e0  f0 08 78 70 3d 30 0d 00  fa 08 79 70 3d 30 0d 01  |..xp=0....yp=0..|
000001f0  04 1d de 20 76 69 65 77  5f 78 79 7a 20 31 32 2c  |... view_xyz 12,|
00000200  76 69 65 77 5f 61 6e 67  20 31 32 0d 01 0e 16 73  |view_ang 12....s|
00000210  70 72 5f 73 69 7a 65 25  3d 37 35 30 2a 31 30 32  |pr_size%=750*102|
00000220  34 0d 01 18 14 de 20 73  70 72 25 20 73 70 72 5f  |4..... spr% spr_|
00000230  73 69 7a 65 25 0d 01 22  13 21 73 70 72 25 3d 73  |size%..".!spr%=s|
00000240  70 72 5f 73 69 7a 65 25  0d 01 2c 0c 73 70 72 25  |pr_size%..,.spr%|
00000250  21 34 3d 30 0d 01 36 0d  73 70 72 25 21 38 3d 31  |!4=0..6.spr%!8=1|
00000260  36 0d 01 40 0e 73 70 72  25 21 31 32 3d 31 36 0d  |6..@.spr%!12=16.|
00000270  01 4a 0a 72 65 63 25 3d  a3 0d 01 54 05 f5 0d 01  |.J.rec%=...T....|
00000280  5e 17 20 e3 20 76 69 65  77 3d 30 20 b8 20 33 35  |^. . view=0 . 35|
00000290  39 20 88 20 35 0d 01 68  0e 20 20 e7 20 72 65 63  |9 . 5..h.  . rec|
000002a0  25 20 8c 0d 01 72 15 20  20 20 e3 20 64 65 6c 61  |% ...r.   . dela|
000002b0  79 25 3d 31 20 b8 20 35  0d 01 7c 0a 20 20 20 20  |y%=1 . 5..|.    |
000002c0  c8 96 0d 01 86 08 20 20  20 ed 0d 01 90 27 20 20  |......   ....'  |
000002d0  20 c8 99 20 26 32 45 2c  26 31 32 32 2c 73 70 72  | .. &2E,&122,spr|
000002e0  25 2c c3 76 69 65 77 2c  2d 33 32 30 2c 2d 32 35  |%,.view,-320,-25|
000002f0  36 0d 01 9a 07 20 20 cc  0d 01 a4 21 20 20 20 76  |6....  ....!   v|
00000300  69 65 77 5f 78 79 7a 21  30 3d 33 30 30 30 30 30  |iew_xyz!0=300000|
00000310  2a b5 b2 28 76 69 65 77  29 0d 01 ae 29 20 20 20  |*..(view)...)   |
00000320  76 69 65 77 5f 78 79 7a  21 34 3d 2d 35 30 30 30  |view_xyz!4=-5000|
00000330  30 2b 34 30 30 30 30 2a  9b b2 28 32 2a 76 69 65  |0+40000*..(2*vie|
00000340  77 29 0d 01 b8 13 20 20  20 76 69 65 77 5f 78 79  |w)....   view_xy|
00000350  7a 21 38 3d 30 0d 01 c2  13 20 20 20 76 69 65 77  |z!8=0....   view|
00000360  5f 61 6e 67 21 30 3d 30  0d 01 cc 2f 20 20 20 76  |_ang!0=0.../   v|
00000370  69 65 77 5f 61 6e 67 21  34 3d 28 28 76 69 65 77  |iew_ang!4=((view|
00000380  2b 39 30 29 2a 61 6e 67  5f 73 63 61 6c 65 29 20  |+90)*ang_scale) |
00000390  80 20 26 46 46 46 46 0d  01 d6 13 20 20 20 76 69  |. &FFFF....   vi|
000003a0  65 77 5f 61 6e 67 21 38  3d 30 0d 01 e0 2c 20 20  |ew_ang!8=0...,  |
000003b0  20 ef 20 32 34 2c 36 34  30 2d 33 32 30 3b 35 31  | . 24,640-320;51|
000003c0  32 2d 32 35 36 3b 36 34  30 2b 33 32 30 3b 35 31  |2-256;640+320;51|
000003d0  32 2b 32 35 36 3b 0d 01  ea 11 20 20 20 c8 91 20  |2+256;....   .. |
000003e0  36 34 30 2c 35 31 32 0d  01 f4 0b 20 20 20 e6 20  |640,512....   . |
000003f0  31 31 0d 01 fe 1f 20 20  20 c8 93 20 c8 90 20 2d  |11....   .. .. -|
00000400  36 34 30 2c 2d 35 31 32  2c 31 32 38 30 2c 35 31  |640,-512,1280,51|
00000410  32 0d 02 08 0b 20 20 20  e6 20 31 32 0d 02 12 1c  |2....   . 12....|
00000420  20 20 20 c8 93 20 c8 90  20 2d 36 34 30 2c 30 2c  |   .. .. -640,0,|
00000430  31 32 38 30 2c 35 31 32  0d 02 1c 30 20 20 20 c8  |1280,512...0   .|
00000440  99 20 22 42 41 55 33 44  5f 52 65 6e 64 65 72 22  |. "BAU3D_Render"|
00000450  2c 73 63 65 6e 65 2c 76  69 65 77 5f 78 79 7a 2c  |,scene,view_xyz,|
00000460  76 69 65 77 5f 61 6e 67  0d 02 26 30 20 20 20 c8  |view_ang..&0   .|
00000470  99 20 26 32 45 2c 26 31  31 30 2c 73 70 72 25 2c  |. &2E,&110,spr%,|
00000480  c3 76 69 65 77 2c 2c 2d  33 32 30 2c 2d 32 35 36  |.view,,-320,-256|
00000490  2c 33 31 39 2c 32 35 35  0d 02 30 07 20 20 cd 0d  |,319,255..0.  ..|
000004a0  02 3a 06 20 ed 0d 02 44  0b 20 72 65 63 25 3d b9  |.:. ...D. rec%=.|
000004b0  0d 02 4e 07 fd 20 a3 0d  02 58 05 e0 0d ff        |..N.. ...X....|
000004be