home *** CD-ROM | disk | FTP | other *** search
- Nntp-Posting-Host: skalk.ifi.uio.no
- Newsgroups: alt.sys.amiga.demos
- Path: sparky!uunet!mcsun!sunic!ugle.unit.no!aun.uninett.no!nuug!ifi.uio.no!larshaug
- From: larshaug@ifi.uio.no (Lars Haugseth)
- Subject: Re: Writing a StarField. Which method is best?
- Message-ID: <1992Nov11.131803.1276@ifi.uio.no>
- Sender: larshaug@ifi.uio.no (Lars Haugseth)
- Organization: Dept. of Informatics, University of Oslo, Norway
- References: <1992Nov7.104910.60476@cc.usu.edu>
- Date: Wed, 11 Nov 1992 13:18:03 GMT
- Lines: 601
- Originator: larshaug@skalk.ifi.uio.no
-
-
- Here is a small 3D-stars routine, with sine-table and all...
- I have programmed it in AsmOne, but it should work on most
- assemblers without much work.
-
- No flames about coding-technique, please. After all, this is
- alt.sys.amiga.DEMOS ;-)
-
- You can have almost twice as many stars pr.frame if
- you make some heavy tables to avoid the mulus in the
- star-plotting loop. This you'll have to do youself :)
-
- If you can manage more than 810 stars each frame on a plain
- 68000 Amiga500, send me a mail, ok? :)
-
- larshaug@ifi.uio.no (Perplex/PMC)
-
- ;---------------------------------------
- ; 3D STARFIELD
- ;---------------------------------------
-
- NSTARS = 435 ; Number of stars
-
- ;---------------------------------------
-
- SECTION code,code_p
-
- START move.l 4.w,a6
- move.l 156(a6),a1
- move.l 38(a1),OLDCP
- bsr SBUFFER
- bsr VBLANK
- move.l #COPPER,$DFF080
- clr.w $DFF088
- move.w $DFF01C,OLDIQ
- move.w $DFF002,OLDCR
- or.w #$8000,OLDIQ
- or.w #$8000,OLDCR
- move.w #$7FFF,$DFF09A
- move.w #$7FFF,$DFF096
- move.w #$87C0,$DFF096
- move.w #$0000,$DFF180
-
- ;---------------------------------------
-
- ICOORDS lea SCOORDS,a0 ; Randomize coordinates
- move.w #NSTARS-1,d7
- ICOO1 bsr GETRND
- and.w #$1FFF,d0
- move.w d0,(a0)+
- bsr GETRND
- and.w #$1FFF,d0
- move.w d0,(a0)+
- bsr GETRND
- and.w #$1FFF,d0
- move.w d0,(a0)+
- dbf d7,ICOO1
-
- ;---------------------------------------
-
- IPERSP lea PERSTAB,a0 ; Construct perspective table
- moveq #0,d1
- move.l #$95FFFF,d0
- IPER1 move.l d0,d2
- move.l d1,d3
- add.w #300,d3
- divu d3,d2
- move.w d2,(a0)+
- addq.l #1,d1
- cmp.l #$2000,d1
- bne.s IPER1
-
- ;---------------------------------------
-
- IPLOT lea PLTXTAB,a0 ; Construct plot tables
- lea PLTBTAB,a1
- lea PLTYTAB,a2
- moveq #0,d0
- IPLO1 move.w d0,d1
- lsr.w #3,d1
- move.w d1,(a0)+
- move.w d0,d1
- eor.w #$FFFF,d1
- and.w #7,d1
- move.w d1,(a1)+
- cmp.w #272,d0
- bge.s IPLO2
- move.w d0,d1
- mulu #88,d1
- move.w d1,(a2)+
- IPLO2 addq.w #1,d0
- cmp.w #352,d0
- bne.s IPLO1
-
- ;---------------------------------------
-
- MAIN bsr.s VBLANK ; Main loop
-
- move.w #$000,$DFF180
-
- btst #2,$DFF016 ; Freeze?
- beq.s MAIN
-
- bsr SANIM
- bsr SBUFFER
- bsr SCLEAR
- bsr SDRAW
-
- move.w #$005,$DFF180
-
- btst #6,$BFE001 ; Exit?
- bne.s MAIN
-
- ;---------------------------------------
-
- EXIT move.w OLDIQ,$DFF09A
- move.l OLDCP,$DFF080
- move.w OLDCR,$DFF096
- clr.w $DFF088
- rts
-
- ;---------------------------------------
-
- VBLANK cmp.b #0,$DFF006
- bne.s VBLANK
- btst #0,$DFF005
- beq.s VBLANK
- rts
-
- WAITB nop
- btst #6,$DFF002
- bne.s WAITB
- rts
-
- ;---------------------------------------
-
- GETRND bsr.s GRN1 ; Get random word
- and.w #$FF,d5
- move.w d5,d0
- lsl.w #8,d0
- bsr.s GRN1
- and.w #$FF,d5
- or.w d5,d0
- rts
-
- GRN1 move.b $DFF007,d5 ; Get random byte
- move.b $BFD800,d6
- eor.b d6,d5
- moveq #0,d6
- move.b d5,d6
- ror.b #1,d6
- GRN2 dbf d6,GRN2
- rts
-
- ;---------------------------------------
-
- SDRAW lea SCOORDS,a0 ; Draw starfield
- lea PERSTAB,a1
- lea PLTXTAB,a2
- lea PLTBTAB,a3
- lea PLTYTAB,a4
- move.l SFPTR+4,a6
-
- move.l a7,SAVEA7
- lea $1000.w,a7
-
- movem.w SXADD,d3-d4/a5
- add.w #$1000,d3
- add.w #$1000,d4
- move.w #$1FFF,d5
-
- move.w #NSTARS-1,d7
-
- SDRW1 movem.w (a0)+,d0-d2 ; Get coordinates
- add.w d3,d0 ; X-movement
- and.w d5,d0
- sub.w a7,d0
- add.w d4,d1 ; Y-movement
- and.w d5,d1
- sub.w a7,d1
- add.w a5,d2 ; Z-movement
- and.w d5,d2
-
- add.w d2,d2
- move.w (a1,d2.w),d6
- muls d6,d0 ; X-projection
- swap d0
- add.w #176,d0
- cmp.w #351,d0
- bhi.s SDRW3
- muls d6,d1 ; Y-projection
- swap d1
- add.w #136,d1
- cmp.w #271,d1
- bhi.s SDRW3
-
- add.w d0,d0
- add.w d1,d1
- move.w (a4,d1.w),d6
- add.w (a2,d0.w),d6
- move.w (a3,d0.w),d0
-
- cmp.w #$2400,d2
- bgt.s SDRW2
-
- bset d0,(a6,d6.w)
- dbf d7,SDRW1
- bra.s SPLOTX
-
- SDRW2: bset d0,$2C(a6,d6.w)
- SDRW3: dbf d7,SDRW1
-
- SPLOTX: move.l SAVEA7,a7
- rts
-
- ;---------------------------------------
-
- SCLEAR bsr WAITB ; Clear starfield
- move.l SFPTR+8,$DFF054
- move.w #0,$DFF066
- move.l #$01000000,$DFF040
- move.w #64*272+44,$DFF058
- rts
-
- ;---------------------------------------
-
- SBUFFER lea SFPTR,a0 ; Triple buffering
- movem.l (a0),d0-d2
- exg d0,d1
- exg d1,d2
- movem.l d0-d2,(a0)
- move.l SFPTR,d0
- move.l SFPTR,d1
- add.l #$002C,d1
- move.w d0,C1PL1+6
- swap d0
- move.w d0,C1PL1+2
- move.w d1,C1PL2+6
- swap d1
- move.w d1,C1PL2+2
- rts
-
- ;---------------------------------------
-
- SANIM lea SSINUS,a0 ; Animate star-movement
- move.w SXPOS,d0
- move.w SYPOS,d1
- move.w SZPOS,d2
- add.w SXSPD,d0
- add.w SYSPD,d1
- add.w SZSPD,d2
- and.w #$7FE,d0
- and.w #$7FE,d1
- and.w #$7FE,d2
- move.w d0,SXPOS
- move.w d1,SYPOS
- move.w d2,SZPOS
- move.w SXADD,d3
- move.w SYADD,d4
- move.w SZADD,d5
- add.w (a0,d0.w),d3
- add.w (a0,d1.w),d4
- add.w (a0,d2.w),d5
- move.w d3,SXADD
- move.w d4,SYADD
- move.w d5,SZADD
-
- rts
-
- ;---------------------------------------
-
- SECTION copper,data_c
-
- COPPER dc.w $0092,$0030
- dc.w $0094,$00D8
- dc.w $008E,$2C71
- dc.w $0090,$2CD1
- dc.w $0102,$0000
- dc.w $0108,$002C
- dc.w $010A,$002C
-
- dc.w $2307,$FFFE
- dc.w $0182,$0DDD
- dc.w $0184,$0888
- dc.w $0186,$0DDD
-
- dc.w $2407,$FFFE
- dc.w $0100,$2200
- C1PL1 dc.w $00E0,$0000
- dc.w $00E2,$0000
- C1PL2 dc.w $00E4,$0000
- dc.w $00E6,$0000
-
- dc.w $FFDF,$FFFE
- dc.w $3407,$FFFE
- dc.w $0100,$0000
-
- dc.w $FFFF,$FFFE
-
- ;---------------------------------------
-
- SECTION data,data_p
-
- OLDSP dc.l 0 ; Temporaries
- OLDCP dc.l 0
- OLDCR dc.w 0
- OLDIQ dc.w 0
-
- SAVEA7 dc.l 0
-
- SXADD dc.w 33 ; Star movement
- SYADD dc.w 12
- SZADD dc.w -114
-
- SXPOS dc.w 0 ; Sinus positions
- SYPOS dc.w $136
- SZPOS dc.w $500
-
- SXSPD dc.w -4 ; Sinus speeds
- SYSPD dc.w 6
- SZSPD dc.w 2
-
- SFPTR dc.l SPLANE1 ; Starfield pointers
- dc.l SPLANE2
- dc.l SPLANE3
-
- SCOORDS blk.w 3*NSTARS ; Star coordinates
-
- PERSTAB blk.w $2000,0 ; Perspective table
-
- PLTXTAB blk.w 352,0 ; Plot tables
- PLTBTAB blk.w 352,0
- PLTYTAB blk.w 272,0
-
- ;---------------------------------------
-
- SSINUS DC.B $00,$00,$00,$00,$00,$00,$00,$01
- DC.B $00,$01,$00,$02,$00,$02,$00,$03
- DC.B $00,$03,$00,$03,$00,$04,$00,$04
- DC.B $00,$05,$00,$05,$00,$06,$00,$06
- DC.B $00,$06,$00,$07,$00,$07,$00,$08
- DC.B $00,$08,$00,$09,$00,$09,$00,$09
- DC.B $00,$0A,$00,$0A,$00,$0B,$00,$0B
- DC.B $00,$0B,$00,$0C,$00,$0C,$00,$0D
- DC.B $00,$0D,$00,$0E,$00,$0E,$00,$0E
- DC.B $00,$0F,$00,$0F,$00,$10,$00,$10
- DC.B $00,$11,$00,$11,$00,$11,$00,$12
- DC.B $00,$12,$00,$13,$00,$13,$00,$13
- DC.B $00,$14,$00,$14,$00,$15,$00,$15
- DC.B $00,$15,$00,$16,$00,$16,$00,$17
- DC.B $00,$17,$00,$18,$00,$18,$00,$18
- DC.B $00,$19,$00,$19,$00,$1A,$00,$1A
- DC.B $00,$1A,$00,$1B,$00,$1B,$00,$1B
- DC.B $00,$1C,$00,$1C,$00,$1D,$00,$1D
- DC.B $00,$1D,$00,$1E,$00,$1E,$00,$1F
- DC.B $00,$1F,$00,$1F,$00,$20,$00,$20
- DC.B $00,$21,$00,$21,$00,$21,$00,$22
- DC.B $00,$22,$00,$22,$00,$23,$00,$23
- DC.B $00,$24,$00,$24,$00,$24,$00,$25
- DC.B $00,$25,$00,$25,$00,$26,$00,$26
- DC.B $00,$26,$00,$27,$00,$27,$00,$27
- DC.B $00,$28,$00,$28,$00,$29,$00,$29
- DC.B $00,$29,$00,$2A,$00,$2A,$00,$2A
- DC.B $00,$2B,$00,$2B,$00,$2B,$00,$2C
- DC.B $00,$2C,$00,$2C,$00,$2D,$00,$2D
- DC.B $00,$2D,$00,$2E,$00,$2E,$00,$2E
- DC.B $00,$2F,$00,$2F,$00,$2F,$00,$2F
- DC.B $00,$30,$00,$30,$00,$30,$00,$31
- DC.B $00,$31,$00,$31,$00,$32,$00,$32
- DC.B $00,$32,$00,$33,$00,$33,$00,$33
- DC.B $00,$33,$00,$34,$00,$34,$00,$34
- DC.B $00,$35,$00,$35,$00,$35,$00,$35
- DC.B $00,$36,$00,$36,$00,$36,$00,$36
- DC.B $00,$37,$00,$37,$00,$37,$00,$38
- DC.B $00,$38,$00,$38,$00,$38,$00,$39
- DC.B $00,$39,$00,$39,$00,$39,$00,$3A
- DC.B $00,$3A,$00,$3A,$00,$3A,$00,$3A
- DC.B $00,$3B,$00,$3B,$00,$3B,$00,$3B
- DC.B $00,$3C,$00,$3C,$00,$3C,$00,$3C
- DC.B $00,$3C,$00,$3D,$00,$3D,$00,$3D
- DC.B $00,$3D,$00,$3D,$00,$3E,$00,$3E
- DC.B $00,$3E,$00,$3E,$00,$3E,$00,$3F
- DC.B $00,$3F,$00,$3F,$00,$3F,$00,$3F
- DC.B $00,$40,$00,$40,$00,$40,$00,$40
- DC.B $00,$40,$00,$40,$00,$41,$00,$41
- DC.B $00,$41,$00,$41,$00,$41,$00,$41
- DC.B $00,$41,$00,$42,$00,$42,$00,$42
- DC.B $00,$42,$00,$42,$00,$42,$00,$42
- DC.B $00,$43,$00,$43,$00,$43,$00,$43
- DC.B $00,$43,$00,$43,$00,$43,$00,$43
- DC.B $00,$43,$00,$44,$00,$44,$00,$44
- DC.B $00,$44,$00,$44,$00,$44,$00,$44
- DC.B $00,$44,$00,$44,$00,$44,$00,$44
- DC.B $00,$44,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$45,$00,$45,$00,$45,$00,$45
- DC.B $00,$44,$00,$44,$00,$44,$00,$44
- DC.B $00,$44,$00,$44,$00,$44,$00,$44
- DC.B $00,$44,$00,$44,$00,$44,$00,$43
- DC.B $00,$43,$00,$43,$00,$43,$00,$43
- DC.B $00,$43,$00,$43,$00,$43,$00,$43
- DC.B $00,$42,$00,$42,$00,$42,$00,$42
- DC.B $00,$42,$00,$42,$00,$42,$00,$42
- DC.B $00,$41,$00,$41,$00,$41,$00,$41
- DC.B $00,$41,$00,$41,$00,$40,$00,$40
- DC.B $00,$40,$00,$40,$00,$40,$00,$40
- DC.B $00,$3F,$00,$3F,$00,$3F,$00,$3F
- DC.B $00,$3F,$00,$3F,$00,$3E,$00,$3E
- DC.B $00,$3E,$00,$3E,$00,$3E,$00,$3D
- DC.B $00,$3D,$00,$3D,$00,$3D,$00,$3D
- DC.B $00,$3C,$00,$3C,$00,$3C,$00,$3C
- DC.B $00,$3B,$00,$3B,$00,$3B,$00,$3B
- DC.B $00,$3B,$00,$3A,$00,$3A,$00,$3A
- DC.B $00,$3A,$00,$39,$00,$39,$00,$39
- DC.B $00,$39,$00,$38,$00,$38,$00,$38
- DC.B $00,$38,$00,$37,$00,$37,$00,$37
- DC.B $00,$37,$00,$36,$00,$36,$00,$36
- DC.B $00,$36,$00,$35,$00,$35,$00,$35
- DC.B $00,$34,$00,$34,$00,$34,$00,$34
- DC.B $00,$33,$00,$33,$00,$33,$00,$32
- DC.B $00,$32,$00,$32,$00,$31,$00,$31
- DC.B $00,$31,$00,$31,$00,$30,$00,$30
- DC.B $00,$30,$00,$2F,$00,$2F,$00,$2F
- DC.B $00,$2E,$00,$2E,$00,$2E,$00,$2D
- DC.B $00,$2D,$00,$2D,$00,$2C,$00,$2C
- DC.B $00,$2C,$00,$2B,$00,$2B,$00,$2B
- DC.B $00,$2A,$00,$2A,$00,$2A,$00,$29
- DC.B $00,$29,$00,$29,$00,$28,$00,$28
- DC.B $00,$28,$00,$27,$00,$27,$00,$27
- DC.B $00,$26,$00,$26,$00,$26,$00,$25
- DC.B $00,$25,$00,$24,$00,$24,$00,$24
- DC.B $00,$23,$00,$23,$00,$23,$00,$22
- DC.B $00,$22,$00,$21,$00,$21,$00,$21
- DC.B $00,$20,$00,$20,$00,$20,$00,$1F
- DC.B $00,$1F,$00,$1E,$00,$1E,$00,$1E
- DC.B $00,$1D,$00,$1D,$00,$1C,$00,$1C
- DC.B $00,$1C,$00,$1B,$00,$1B,$00,$1B
- DC.B $00,$1A,$00,$1A,$00,$19,$00,$19
- DC.B $00,$19,$00,$18,$00,$18,$00,$17
- DC.B $00,$17,$00,$16,$00,$16,$00,$16
- DC.B $00,$15,$00,$15,$00,$14,$00,$14
- DC.B $00,$14,$00,$13,$00,$13,$00,$12
- DC.B $00,$12,$00,$12,$00,$11,$00,$11
- DC.B $00,$10,$00,$10,$00,$0F,$00,$0F
- DC.B $00,$0F,$00,$0E,$00,$0E,$00,$0D
- DC.B $00,$0D,$00,$0D,$00,$0C,$00,$0C
- DC.B $00,$0B,$00,$0B,$00,$0A,$00,$0A
- DC.B $00,$0A,$00,$09,$00,$09,$00,$08
- DC.B $00,$08,$00,$07,$00,$07,$00,$07
- DC.B $00,$06,$00,$06,$00,$05,$00,$05
- DC.B $00,$04,$00,$04,$00,$04,$00,$03
- DC.B $00,$03,$00,$02,$00,$02,$00,$01
- DC.B $00,$01,$00,$01,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$FF,$FF,$FF,$FF
- DC.B $FF,$FF,$FF,$FE,$FF,$FE,$FF,$FD
- DC.B $FF,$FD,$FF,$FC,$FF,$FC,$FF,$FC
- DC.B $FF,$FB,$FF,$FB,$FF,$FA,$FF,$FA
- DC.B $FF,$F9,$FF,$F9,$FF,$F9,$FF,$F8
- DC.B $FF,$F8,$FF,$F7,$FF,$F7,$FF,$F6
- DC.B $FF,$F6,$FF,$F6,$FF,$F5,$FF,$F5
- DC.B $FF,$F4,$FF,$F4,$FF,$F3,$FF,$F3
- DC.B $FF,$F3,$FF,$F2,$FF,$F2,$FF,$F1
- DC.B $FF,$F1,$FF,$F1,$FF,$F0,$FF,$F0
- DC.B $FF,$EF,$FF,$EF,$FF,$EE,$FF,$EE
- DC.B $FF,$EE,$FF,$ED,$FF,$ED,$FF,$EC
- DC.B $FF,$EC,$FF,$EC,$FF,$EB,$FF,$EB
- DC.B $FF,$EA,$FF,$EA,$FF,$EA,$FF,$E9
- DC.B $FF,$E9,$FF,$E8,$FF,$E8,$FF,$E7
- DC.B $FF,$E7,$FF,$E7,$FF,$E6,$FF,$E6
- DC.B $FF,$E5,$FF,$E5,$FF,$E5,$FF,$E4
- DC.B $FF,$E4,$FF,$E4,$FF,$E3,$FF,$E3
- DC.B $FF,$E2,$FF,$E2,$FF,$E2,$FF,$E1
- DC.B $FF,$E1,$FF,$E0,$FF,$E0,$FF,$E0
- DC.B $FF,$DF,$FF,$DF,$FF,$DF,$FF,$DE
- DC.B $FF,$DE,$FF,$DD,$FF,$DD,$FF,$DD
- DC.B $FF,$DC,$FF,$DC,$FF,$DC,$FF,$DB
- DC.B $FF,$DB,$FF,$DA,$FF,$DA,$FF,$DA
- DC.B $FF,$D9,$FF,$D9,$FF,$D9,$FF,$D8
- DC.B $FF,$D8,$FF,$D8,$FF,$D7,$FF,$D7
- DC.B $FF,$D7,$FF,$D6,$FF,$D6,$FF,$D6
- DC.B $FF,$D5,$FF,$D5,$FF,$D5,$FF,$D4
- DC.B $FF,$D4,$FF,$D4,$FF,$D3,$FF,$D3
- DC.B $FF,$D3,$FF,$D2,$FF,$D2,$FF,$D2
- DC.B $FF,$D1,$FF,$D1,$FF,$D1,$FF,$D0
- DC.B $FF,$D0,$FF,$D0,$FF,$CF,$FF,$CF
- DC.B $FF,$CF,$FF,$CF,$FF,$CE,$FF,$CE
- DC.B $FF,$CE,$FF,$CD,$FF,$CD,$FF,$CD
- DC.B $FF,$CC,$FF,$CC,$FF,$CC,$FF,$CC
- DC.B $FF,$CB,$FF,$CB,$FF,$CB,$FF,$CA
- DC.B $FF,$CA,$FF,$CA,$FF,$CA,$FF,$C9
- DC.B $FF,$C9,$FF,$C9,$FF,$C9,$FF,$C8
- DC.B $FF,$C8,$FF,$C8,$FF,$C8,$FF,$C7
- DC.B $FF,$C7,$FF,$C7,$FF,$C7,$FF,$C6
- DC.B $FF,$C6,$FF,$C6,$FF,$C6,$FF,$C5
- DC.B $FF,$C5,$FF,$C5,$FF,$C5,$FF,$C5
- DC.B $FF,$C4,$FF,$C4,$FF,$C4,$FF,$C4
- DC.B $FF,$C3,$FF,$C3,$FF,$C3,$FF,$C3
- DC.B $FF,$C3,$FF,$C2,$FF,$C2,$FF,$C2
- DC.B $FF,$C2,$FF,$C2,$FF,$C1,$FF,$C1
- DC.B $FF,$C1,$FF,$C1,$FF,$C1,$FF,$C1
- DC.B $FF,$C0,$FF,$C0,$FF,$C0,$FF,$C0
- DC.B $FF,$C0,$FF,$C0,$FF,$BF,$FF,$BF
- DC.B $FF,$BF,$FF,$BF,$FF,$BF,$FF,$BF
- DC.B $FF,$BE,$FF,$BE,$FF,$BE,$FF,$BE
- DC.B $FF,$BE,$FF,$BE,$FF,$BE,$FF,$BE
- DC.B $FF,$BD,$FF,$BD,$FF,$BD,$FF,$BD
- DC.B $FF,$BD,$FF,$BD,$FF,$BD,$FF,$BD
- DC.B $FF,$BD,$FF,$BC,$FF,$BC,$FF,$BC
- DC.B $FF,$BC,$FF,$BC,$FF,$BC,$FF,$BC
- DC.B $FF,$BC,$FF,$BC,$FF,$BC,$FF,$BC
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BB
- DC.B $FF,$BB,$FF,$BB,$FF,$BB,$FF,$BC
- DC.B $FF,$BC,$FF,$BC,$FF,$BC,$FF,$BC
- DC.B $FF,$BC,$FF,$BC,$FF,$BC,$FF,$BC
- DC.B $FF,$BC,$FF,$BC,$FF,$BC,$FF,$BD
- DC.B $FF,$BD,$FF,$BD,$FF,$BD,$FF,$BD
- DC.B $FF,$BD,$FF,$BD,$FF,$BD,$FF,$BD
- DC.B $FF,$BE,$FF,$BE,$FF,$BE,$FF,$BE
- DC.B $FF,$BE,$FF,$BE,$FF,$BE,$FF,$BF
- DC.B $FF,$BF,$FF,$BF,$FF,$BF,$FF,$BF
- DC.B $FF,$BF,$FF,$BF,$FF,$C0,$FF,$C0
- DC.B $FF,$C0,$FF,$C0,$FF,$C0,$FF,$C0
- DC.B $FF,$C1,$FF,$C1,$FF,$C1,$FF,$C1
- DC.B $FF,$C1,$FF,$C2,$FF,$C2,$FF,$C2
- DC.B $FF,$C2,$FF,$C2,$FF,$C3,$FF,$C3
- DC.B $FF,$C3,$FF,$C3,$FF,$C3,$FF,$C4
- DC.B $FF,$C4,$FF,$C4,$FF,$C4,$FF,$C4
- DC.B $FF,$C5,$FF,$C5,$FF,$C5,$FF,$C5
- DC.B $FF,$C6,$FF,$C6,$FF,$C6,$FF,$C6
- DC.B $FF,$C7,$FF,$C7,$FF,$C7,$FF,$C7
- DC.B $FF,$C7,$FF,$C8,$FF,$C8,$FF,$C8
- DC.B $FF,$C8,$FF,$C9,$FF,$C9,$FF,$C9
- DC.B $FF,$CA,$FF,$CA,$FF,$CA,$FF,$CA
- DC.B $FF,$CB,$FF,$CB,$FF,$CB,$FF,$CB
- DC.B $FF,$CC,$FF,$CC,$FF,$CC,$FF,$CD
- DC.B $FF,$CD,$FF,$CD,$FF,$CD,$FF,$CE
- DC.B $FF,$CE,$FF,$CE,$FF,$CF,$FF,$CF
- DC.B $FF,$CF,$FF,$D0,$FF,$D0,$FF,$D0
- DC.B $FF,$D1,$FF,$D1,$FF,$D1,$FF,$D1
- DC.B $FF,$D2,$FF,$D2,$FF,$D2,$FF,$D3
- DC.B $FF,$D3,$FF,$D3,$FF,$D4,$FF,$D4
- DC.B $FF,$D4,$FF,$D5,$FF,$D5,$FF,$D5
- DC.B $FF,$D6,$FF,$D6,$FF,$D6,$FF,$D7
- DC.B $FF,$D7,$FF,$D7,$FF,$D8,$FF,$D8
- DC.B $FF,$D9,$FF,$D9,$FF,$D9,$FF,$DA
- DC.B $FF,$DA,$FF,$DA,$FF,$DB,$FF,$DB
- DC.B $FF,$DB,$FF,$DC,$FF,$DC,$FF,$DC
- DC.B $FF,$DD,$FF,$DD,$FF,$DE,$FF,$DE
- DC.B $FF,$DE,$FF,$DF,$FF,$DF,$FF,$DF
- DC.B $FF,$E0,$FF,$E0,$FF,$E1,$FF,$E1
- DC.B $FF,$E1,$FF,$E2,$FF,$E2,$FF,$E3
- DC.B $FF,$E3,$FF,$E3,$FF,$E4,$FF,$E4
- DC.B $FF,$E5,$FF,$E5,$FF,$E5,$FF,$E6
- DC.B $FF,$E6,$FF,$E6,$FF,$E7,$FF,$E7
- DC.B $FF,$E8,$FF,$E8,$FF,$E8,$FF,$E9
- DC.B $FF,$E9,$FF,$EA,$FF,$EA,$FF,$EB
- DC.B $FF,$EB,$FF,$EB,$FF,$EC,$FF,$EC
- DC.B $FF,$ED,$FF,$ED,$FF,$ED,$FF,$EE
- DC.B $FF,$EE,$FF,$EF,$FF,$EF,$FF,$EF
- DC.B $FF,$F0,$FF,$F0,$FF,$F1,$FF,$F1
- DC.B $FF,$F2,$FF,$F2,$FF,$F2,$FF,$F3
- DC.B $FF,$F3,$FF,$F4,$FF,$F4,$FF,$F5
- DC.B $FF,$F5,$FF,$F5,$FF,$F6,$FF,$F6
- DC.B $FF,$F7,$FF,$F7,$FF,$F8,$FF,$F8
- DC.B $FF,$F8,$FF,$F9,$FF,$F9,$FF,$FA
- DC.B $FF,$FA,$FF,$FA,$FF,$FB,$FF,$FB
- DC.B $FF,$FC,$FF,$FC,$FF,$FD,$FF,$FD
- DC.B $FF,$FD,$FF,$FE,$FF,$FE,$FF,$FF
- DC.B $FF,$FF,$00,$00,$00,$00,$00,$00
-
- ;---------------------------------------
-
- SECTION gfx,data_c
-
- SPLANE1 blk.b $5D80,0 ; Starfield bitmaps
- SPLANE2 blk.b $5D80,0
- SPLANE3 blk.b $5D80,0
-
-