B-58

Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Demo

This program draws a side-profile illustration of the Convair B-58 Hustler supersonic bomber and displays its technical specifications. The drawing is constructed entirely using PLOT, DRAW, and CIRCLE commands, with DRAW’s optional third parameter used extensively to render curved lines as arcs — a technique that produces the aircraft’s distinctive delta-wing and fuselage contours. The program uses multiple PLOT repositioning statements to begin disconnected line segments, allowing separate features such as the cockpit, engine nacelles, and wing edges to be drawn independently. After the graphic is complete, specifications including power plant, dimensions, weight, and performance data are printed using PRINT AT and TAB positioning.


Program Structure

The program divides cleanly into two phases. Lines 10–250 handle all graphics output, and lines 260–340 display the aircraft’s textual specification data. There is no user interaction, looping structure (beyond a small decorative loop), or input handling — the program runs straight through from top to bottom as a self-contained display piece.

Drawing Technique

The aircraft silhouette is built up from a large number of PLOT and DRAW commands. PLOT is used to lift the “pen” and reposition to a new starting coordinate, while DRAW x,y renders straight line segments. The optional third argument to DRAW — a curvature parameter — is used extensively to produce arcs, which model the aircraft’s curved fuselage, delta wing leading edge, and engine fairings. Negative curvature values produce clockwise arcs; positive values produce counterclockwise arcs.

Arc Usage

Several DRAW calls use the three-argument arc form, for example:

  • DRAW 26,6,-.2 (line 30) — slight downward curve for the nose section
  • DRAW 115,-4,.09 (line 40) — a very shallow arc across the long fuselage top
  • DRAW -6,-2,-2 and DRAW -62,1,-.3 (lines 60, 100) — tighter arcs for cockpit and canopy contours
  • DRAW -55,0,-.3 and DRAW -90,0,-.3 (line 90, 100) — wing underside curves

The curvature values are generally small, producing gentle arcs that approximate smooth aerodynamic curves within the constraints of the drawing system.

CIRCLE Command

Lines 230–240 use a FOR/NEXT loop to draw three concentric circles of decreasing radius (3, 2, 1) centered at coordinate (63, 68), producing a filled roundel or engine intake detail:

FOR f=3 TO 1 STEP -1: CIRCLE 63,68,f: NEXT f

This is a common technique for approximating a filled circle using the CIRCLE command, which draws only outlines.

Text Layout

Specification text is displayed using a combination of PRINT AT row,col, TAB, and plain PRINT statements. Line 260 uses PRINT AT 0,6 to place the aircraft title at the top of the screen. Lines 270–310 use successive PRINT statements, relying on automatic line advancement. Lines 320–340 return to PRINT AT and TAB for precise column alignment of performance data. The comma separator in line 290’s PRINT statement causes the second string to be output in the next print zone rather than on a new line, which may produce misaligned output depending on the current column position.

Notable Details and Anomalies

  • Line 190 plots two adjacent pixels at (140,70) and (139,70) with no DRAW following — likely a dot detail representing a canopy or cockpit feature.
  • Lines 200–220 each draw small three-segment shapes using PLOT followed by three DRAW calls, consistent with rendering small rectangular cockpit window or panel details.
  • The comma in line 290 between the two dimension strings relies on print-zone behavior; if the first string is long enough to leave fewer than 16 characters before the next zone boundary, the second string may wrap unexpectedly.
  • Line 280 is missing a space or separator between the label “Power plant:” and the thrust figure, as the colon immediately precedes the number with no formatting gap — a minor cosmetic issue.
  • No machine code is used; the program relies entirely on high-level BASIC graphics and print commands.

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

Source Code

  10 INK 0:PAPER 7:BORDER 7:CLS 
  20 PLOT 0,62:DRAW 10,0
  30 DRAW 26,6,-.2:DRAW 9,4:DRAW 25,0,-.2
  40 DRAW 115,-4,.09:DRAW 48,32
  50 DRAW 17,0:DRAW -16,-30
  60 DRAW -2,-5,-2:DRAW 8,-2
  70 DRAW 0,-2:DRAW -50,-7
  80 DRAW 0,-6:DRAW -3,0
  90 DRAW -55,0,-.3:DRAW 0,9
 100 PLOT 135,47:DRAW 0,-1:DRAW -62,1,-.3
 110 DRAW 0,8:DRAW 30,6
 120 PLOT 10,62:DRAW 26,-5,.2:DRAW 40,0
 130 PLOT 185,68:DRAW 50,-3,-.1
 140 PLOT 75,55:DRAW 55,0
 150 PLOT 132,57:DRAW 20,0:DRAW 40,-3
 160 PLOT 80,65:DRAW 3,2:DRAW 105,-8:DRAW -5,-7:DRAW -102,12
 170 PLOT 185,48:DRAW 0,6
 180 PLOT 245,95:DRAW -6,0:DRAW -19,-25:DRAW 13,0
 190 PLOT 140,70:PLOT 139,70
 200 PLOT 44,70:DRAW -3,-2:DRAW 2,0:DRAW 3,2
 210 PLOT 49,70:DRAW -2,-2:DRAW 2,0:DRAW 2,2
 220 PLOT 55,70:DRAW -2,-1:DRAW 1,0:DRAW 0,1
 230 FOR f=3 TO 1 STEP -1
 240 CIRCLE 63,68,f:NEXT f
 250 PLOT 58,69:DRAW 10,0:DRAW 0,-2:DRAW -10,0:DRAW 0,2
 260 PRINT AT 0,6;"Convair B-58 Hustler"
 270 PRINT :PRINT "Type: Supersonic medium bomber"
 280 PRINT "Power plant:15,600 lb J79-GE-3B"
 290 PRINT "Dimensions:Span, 56ft 10in","           Length, 96ft 9in"
 300 PRINT "           Height 31ft 5in"
 310 PRINT "Weight:gross, over 160,000 lb."
 320 PRINT AT 17,0;"Performance: max speed 1,385mph"
 330 PRINT TAB 13;"at 40,000 ft"
 340 PRINT TAB 13;"service ceiling,"; TAB 13;"60,000 ft"

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top