Analysis model: gpt-5.5 xhigh

StarPort BBS by Future Crew - Technical Dissection

StarPort BBS, also catalogued as StarPort BBS (1), is a 13 September 1992 MS-DOS BBStro by Future Crew advertising the group's StarPort board. It is the one distributed as STARPRT2.EXE, not the later 1993 StarPort BBS Intro II source release.

Release year: 1992

The intro is visually stronger than its 6,400-byte size suggests: a sparse starfield opens the run, a blue/gray space-station sprite slides into view, a large cyan STARPORT outline crosses the screen, a Future Crew WHQ badge is drawn below it, and a yellow bottom scroller advances over the composed scene. The technical story is different from StarPort II. This one is a packed MZ program with a paragraph-copy front wrapper and a 640x350 16-color display path, not the later 2k-style source-available 320x200 dot scroller.

StarPort BBS runtime contact sheet, cropped above contact lines

The runtime frames in this page are deliberately cropped to the upper display area. The full intro contains historical BBS contact lines in the lower block; those are not needed for the technical analysis and are not reproduced here.

Sources

Archive

The examined copy of STARPRT2.EXE comes from spdemo3.zip on the Hornet mirror. The archive bundles it beside SPDEMO3.EXE, but the StarPort program is a separate executable and matches the production date/catalog metadata.

spdemo3.zip   151149 bytes
SHA-256       faa2b33d1125137c261a5de21c5eb9147436f4f0bd4a8a3b792dde7ac1d64f15

ZIP contents:

SPDEMO3.EXE   144529 bytes   1992-04-19 16:09
STARPRT2.EXE    6400 bytes   1992-09-13 20:37

STARPRT2.EXE hash:

07955e28e32375e96598e48cdc4c6767a6af95158e0ca3c8ec3d484b613564df  STARPRT2.EXE

The same STARPRT2.EXE hash was already encountered as a side executable in other 1992 archive work, which supports treating it as a widely copied BBS ad rather than as a Space Pigs payload.

Runtime Capture

On 4 July 2026 I ran STARPRT2.EXE under DOSBox-X 2026.01.02, Linux SDL2 64-bit, with machine=svga_s3, normal CPU core, cycles=fixed 12000, dummy SDL video/audio, and capture format=mpegts-h264. Timing zero is the start of dx-capture /v STARPRT2.EXE.

The captured stream is MPEG-TS H.264/AAC, duration 24.669511 seconds. The active graphics mode captured as 640x350. The stills below are top crops from the stream; they retain the visual effect evidence and omit the lower contact block.

Timestamp Frame Notes
00:00.500 StarPort BBS runtime 00:00.500 starfield crop The intro begins in a sparse starfield. This is the cleanest frame for the background star layer before the station arrives.
00:04.000 StarPort BBS runtime 00:04.000 station entering crop The station sprite is entering from the right while the starfield remains active.
00:07.000 StarPort BBS runtime 00:07.000 station centered crop The station is now the main foreground object. The sprite uses a limited blue/gray/red palette and reads as a planar 16-color asset.
00:09.000 StarPort BBS runtime 00:09.000 STARPORT logo sweep crop The large cyan STARPORT outline begins crossing in front of the station.
00:12.000 StarPort BBS runtime 00:12.000 Future Crew WHQ badge crop The Future Crew WHQ badge is visible below the wordmark, still above the cropped-out contact block.
00:20.000 StarPort BBS runtime 00:20.000 stable logo and station crop The scene has settled into its main composition while the lower scroller continues outside this crop.

StarPort BBS station and logo reveal motion clip

The GIF covers the 00:03..00:10 window. This is the useful animated evidence: the starfield is already running, the station glides into position, and the large STARPORT logo sweeps over it. A still frame loses the timing relation between those three layers.

Runtime-To-Code Concordance

The runtime media is cropped only to remove historical contact lines. The visible upper display area remains direct DOSBox-X evidence for the mode, layer timing, and animation order.

Runtime evidence Code path / data path What it proves
Active 640x350 capture and crisp one-pixel strokes EGA/VGA 16-color high-resolution display family, not mode 13h; the visual traits match the captured mode. The first StarPort intro is a high-resolution 16-color BBS composition, distinct from StarPort II's 320x200 dot-scroller style.
00:00.500 sparse starfield Runtime layer model: background starfield over black before foreground assets arrive. The opening is animated background work, not a static fully composed station/logo still.
00:04.000 and 00:07.000 station entering/centered Blue/gray/red station sprite layer sliding over the active starfield. The station is an independently timed foreground sprite layer.
00:09.000 large STARPORT outline sweep Main cyan wordmark layer moving in front of the station. The GIF is necessary evidence because the logo/station timing is lost in a single still.
00:12.000 Future Crew WHQ badge Badge layer appears below the wordmark and above the cropped contact block. The visible safe crop still includes the WHQ identity layer needed for analysis.
00:20.000 stable station/logo composition Main layout has settled while the bottom scroller continues outside the crop. The crop omits contact material but preserves the completed visual composition.
Bottom scroller omitted from screenshots Raw text/data boundary around file offset 0x0B18 contains scroller phrase fragments mixed with control bytes. The scroller is text-driven, but the historical contact content is deliberately not reproduced.
STARPRT2.EXE wrapper Tiny MZ header, CS:IP=0000:0003, eight-word paragraph copy loop, and jump to 05D3:04A8. The intro is behind a custom paragraph-copy wrapper, not a plain compiler-startup EXE.
Separate page from StarPort II Different file, year, mode, and visual idiom. The two StarPort analyses should stay separate despite the shared BBS purpose.

The current code evidence is therefore strongest for the wrapper, display-mode choice, text/data boundary, and layer timing. It does not claim a fully recovered blitter listing for the hidden body.

MZ Wrapper

STARPRT2.EXE is a tiny MZ executable:

file size              6400 bytes
MZ reported size       6400 bytes
header size              32 bytes
relocations               1
min alloc              019Ah paragraphs
max alloc              FFFFh
SS:SP                  062D:0080
CS:IP                  0000:0003
entry file offset      0023h
relocation table       001Ch

The entry point is immediately after the 32-byte header:

0023  cld
0024  push es
0025  push ds
0026  push cs
0027  mov  ax,cs
0029  add  [0138],ax
002D  mov  dx,019Ah
0030  add  ax,dx
0032  mov  bx,ax
0034  add  ax,0493h
0037  mov  ds,bx
0039  mov  es,ax
003B  xor  si,si
003D  xor  di,di
003F  mov  cx,0008h
0042  rep  movsw
0044  dec  bx
0045  dec  ax
0046  dec  dx
0047  jns  0037h
0049  mov  es,bx
004B  mov  ds,ax
004D  mov  si,004Ah
0050  lodsw
0051  mov  bp,ax
0053  mov  dl,10h
0055  jmp  05D3:04A8

That is not a normal compiler startup. The loader copies eight words at a time between moving source and destination segments, stepping both segment bases downward for 019Ah iterations. This paragraph-level copy shape is a compact relocation/unpacking wrapper: it rearranges a memory image before jumping into the restored body at 05D3:04A8.

The file also contains an MZ byte pair near 0x1834, but parsing it as a second executable header produces impossible values. In context it is better treated as packed/data bytes that happen to contain the signature sequence, not as a clean nested MZ payload.

Text And Data Boundary

The executable stores viewer-facing text with control bytes mixed into it. A raw ASCII scan finds the main scroller phrase fragments around file offset 0x0B18, but disassembly there is intentionally nonsensical because the bytes are data, not code.

Example of the boundary:

0x0B18  "The "
0x0B30  " Call St..."
0x0B43  "...ultimate..."
0x0B52  "...source..."
0x0B84  "... BBS..."
0x0BB3  "...music..."

This matches the runtime: the bottom scroller is text-driven, but the text is interleaved with timing/control or packed bytes. The analysis does not use the actual contact lines as evidence.

Display Mode

DOSBox-X captured the active graphics mode as 640x350. That points to the EGA/VGA 16-color high-resolution family rather than a 320x200 mode-13h path. The visual evidence agrees:

This makes the first StarPort intro closer to an EGA/VGA BBS-ad composition than to the later StarPort II point-cloud intro. It is still animated, but the animation is layer motion and scroller timing rather than 3D dot projection.

Visual Layers

The runtime sequence separates into a few simple but effective layers:

background      sparse starfield over black
foreground      blue/gray/red station sprite, sliding into place
main logo       large cyan STARPORT outline, horizontal sweep
badge           Future Crew WHQ title block under the wordmark
bottom text     yellow scroller, outside the cropped analysis frames
contact block   historical BBS details, intentionally cropped/omitted

The layers are not just static art. The station arrives before the full logo fills the screen, and the logo sweep runs over the station rather than being one fully composed still. The bottom scroller then keeps the scene alive after the main layout has stabilized.

Relationship To StarPort II

The 1992 and 1993 StarPort intros share the same purpose but not the same implementation style.

Production File Year Main visual idiom Evidence
StarPort BBS (1) STARPRT2.EXE 1992 640x350 starfield, station sprite, large logo, bottom scroller packed MZ sidecar and DOSBox-X runtime capture
StarPort BBS Intro II SP2.COM 1993 320x200 planar dot field and 3D dot-letter scroller released source plus DOSBox-X runtime capture

That difference is why the two pages should stay separate. The first intro is the circa-1992 BBS advertisement with the big logo and station composition. The second is the later compact source-release lesson in doing a 2k-style AdLib/VGA dot scroller.

Summary

StarPort BBS (1) is a small but polished 1992 Future Crew BBStro. Its runtime strength is visual composition: starfield, station, logo, badge, and scroller layered in a high-resolution 16-color mode. Its binary shape is also interesting: a minimal MZ executable with a custom paragraph-copy wrapper, not a plain compiler product. The safe cropped frames and GIF on this page are therefore not decorative thumbnails; they document the actual layer timing and mode choice that make the intro distinct from the later source-available StarPort II.