made an attempt to check in all missing files
|
@ -0,0 +1,52 @@
|
||||||
|
PLOT = $F800 ; plot, horiz=y, vert=A (A trashed, XY Saved)
|
||||||
|
SETCOL = $F864
|
||||||
|
TEXT = $FB36 ;; Set text mode
|
||||||
|
BASCALC = $FBC1
|
||||||
|
SETGR = $FB40
|
||||||
|
HOME = $FC58 ;; Clear the text screen
|
||||||
|
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||||||
|
HLINE = $F819
|
||||||
|
|
||||||
|
|
||||||
|
bitmap:
|
||||||
|
jsr SETGR
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
bitmap_loop:
|
||||||
|
lda bitmap_graphic,X
|
||||||
|
|
||||||
|
jsr PLOT
|
||||||
|
inx
|
||||||
|
cpx #120
|
||||||
|
bne bitmap_loop
|
||||||
|
|
||||||
|
done:
|
||||||
|
jmp done
|
||||||
|
|
||||||
|
|
||||||
|
bitmap_graphic:
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF
|
||||||
|
.byte $00,$00,$00,$00,$00
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
all:
|
||||||
|
cd 32b && make
|
||||||
|
cd another_myst && make
|
||||||
|
cd applebot_demo && make
|
||||||
|
cd fire && make
|
||||||
|
cd hellmood_memories && make
|
||||||
|
cd kfest2018 && make
|
||||||
|
cd lores_escape && make
|
||||||
|
cd megademo && make
|
||||||
|
cd mode7_demo && make
|
||||||
|
cd seasons && make
|
||||||
|
cd shapetable_party && make
|
||||||
|
cd vertical_scroll && make
|
||||||
|
cd xmas_2018 && make
|
||||||
|
cd xmas_2019 && make
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cd 32b && make clean
|
||||||
|
cd another_myst && make clean
|
||||||
|
cd applebot_demo && make clean
|
||||||
|
cd fire && make clean
|
||||||
|
cd hellmood_memories && make clean
|
||||||
|
cd kfest2018 && make clean
|
||||||
|
cd lores_escape && make clean
|
||||||
|
cd megademo && make clean
|
||||||
|
cd mode7_demo && make clean
|
||||||
|
cd seasons && make clean
|
||||||
|
cd shapetable_party && make clean
|
||||||
|
cd vertical_scroll && make clean
|
||||||
|
cd xmas_2018 && make clean
|
||||||
|
cd xmas_2019 && make clean
|
||||||
|
rm -f *~
|
|
@ -0,0 +1,31 @@
|
||||||
|
Various Apple II demoscne demos and experiments by
|
||||||
|
Vince "deater" Weaver of VMW Productions and DESIRE
|
||||||
|
|
||||||
|
+ 32b
|
||||||
|
Attepts at an Apple II 32-byte demo
|
||||||
|
+ another_myst
|
||||||
|
A weird mashup of another world and myst
|
||||||
|
+ appleiibot_demo
|
||||||
|
Apple II Twitter Bot demo, Demosplash 2020 (1st retro demo)
|
||||||
|
+ fire
|
||||||
|
PSX doom fire for Apple II lores in 64 bytes
|
||||||
|
+ hellmood_memories
|
||||||
|
attempts to port hellmood's memories to Apple II
|
||||||
|
+ kfest2018
|
||||||
|
cycle counting demo, written during hackfest at Kansasfest 2018 (2nd)
|
||||||
|
+ lores_escape
|
||||||
|
apple ii cycle counting demo, demosplash 2019 (3rd retro demo)
|
||||||
|
+ megademo
|
||||||
|
apple ii cycle counting megademo, demosplash 2018 (1st retro demo)
|
||||||
|
+ mode7_demo
|
||||||
|
mode7-esque demo (not released at a party)
|
||||||
|
+ seasons
|
||||||
|
128 byte outline 2020 demo (6th)
|
||||||
|
+ shapetable_party
|
||||||
|
256 byte @party 2020 demo (6th)
|
||||||
|
+ vertical_scroll
|
||||||
|
work on vertical lores scrolling
|
||||||
|
+ xmas_2018
|
||||||
|
2018 xmas demo, with some subtle cycle-counted vapor lock
|
||||||
|
+ xmas_2019
|
||||||
|
2019 xmas demo, with cycle-counted vapor lock
|
|
@ -0,0 +1,42 @@
|
||||||
|
Apple II Seasons 128B Demo
|
||||||
|
-=DESiRE=- / Outline 2020
|
||||||
|
|
||||||
|
Watch as leaves cycle through the colors of the seasons
|
||||||
|
|
||||||
|
Platform: Apple II
|
||||||
|
Requires Apple II+ (1979) or later
|
||||||
|
|
||||||
|
Code: deater
|
||||||
|
hellmood
|
||||||
|
qkumba
|
||||||
|
|
||||||
|
Link to video:
|
||||||
|
http://web.eece.maine.edu/~vweaver/junk/appleii_seasons.mkv
|
||||||
|
|
||||||
|
Video captured on AppleWin emulator. Should run on real
|
||||||
|
hardware but all of my Apple II hardware is on lockdown at work.
|
||||||
|
|
||||||
|
Files:
|
||||||
|
SEASONS -- 127 byte executable
|
||||||
|
seasons.s -- source code, can assemble with ca65 assembler
|
||||||
|
seasons.dsk -- 140k Apple DOS33 disk image suitable for use in emulator
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
+ 128 Byte demo for the Apple II (1MHz 6502)
|
||||||
|
+ Written in 6502 assembly language
|
||||||
|
+ Uses "high-resolution" graphics mode which is 280x192 in 6 colors.
|
||||||
|
This mode has lots of complex color-clash and memory-interleave
|
||||||
|
issues which make it a pain to code for.
|
||||||
|
+ The Apple II has very simple graphics. No hardware sprites, no
|
||||||
|
VBLANK/HBLANK interrupts, no scrolling, no palette
|
||||||
|
changes, no acceleration of any type. The only feature
|
||||||
|
it has is two graphics pages
|
||||||
|
for page flipping (which is not used in this demo)
|
||||||
|
+ Depends on the Applesoft BASIC ROM for "HPLOT" routine
|
||||||
|
which means it requires at least an Apple II+ (released in
|
||||||
|
1979) or later machine.
|
||||||
|
Should work on a II+/IIe/IIc/IIgs, and even an original
|
||||||
|
Apple II (1977) if you have an Applesoft language card
|
||||||
|
ROM expansion
|
||||||
|
+ Based on Hellmood's 64B DOS demo "Autumn"
|
||||||
|
+ Saves a few bytes by running entirely in the zero page
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
all:
|
||||||
|
cd disk_bug && make
|
||||||
|
cd qboot && make
|
||||||
|
cd qboot2 && make
|
||||||
|
cd save && make
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cd disk_bug && make clean
|
||||||
|
cd qboot && make clean
|
||||||
|
cd qboot2 && make clean
|
||||||
|
cd save && make clean
|
||||||
|
rm -f *~
|
|
@ -0,0 +1,3 @@
|
||||||
|
code used for testing Apple II disk
|
||||||
|
|
||||||
|
most of it by qkumba
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 987 B After Width: | Height: | Size: 7.8 KiB |
|
@ -0,0 +1,9 @@
|
||||||
|
2 HOME
|
||||||
|
5 PRINT
|
||||||
|
10 PRINT "FUN TIMES"
|
||||||
|
20 PRINT
|
||||||
|
22 PRINT "TALBOT FANTASY 7 VERSION 004"
|
||||||
|
23 PRINT
|
||||||
|
24 PRINT "HTTP://WWW.DEATER.NET/WEAVE/VMWPROD/TFV"
|
||||||
|
25 PRINT : PRINT
|
||||||
|
40 PRINT CHR$(4);"BRUN LOADER"
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; init vars
|
||||||
|
;=====================
|
||||||
|
init_vars:
|
||||||
|
lda #0
|
||||||
|
sta FRAMEL
|
||||||
|
sta FRAMEH
|
||||||
|
sta DISP_PAGE
|
||||||
|
sta JOYSTICK_ENABLED
|
||||||
|
sta LEVEL_OVER
|
||||||
|
|
||||||
|
rts
|
|
@ -0,0 +1,98 @@
|
||||||
|
;===============================
|
||||||
|
; rotate intro -- rotate screen
|
||||||
|
;===============================
|
||||||
|
|
||||||
|
rotate_intro:
|
||||||
|
|
||||||
|
; first copy current screen to background
|
||||||
|
|
||||||
|
jsr gr_copy_current_to_offscreen_40x40
|
||||||
|
|
||||||
|
; int xx,yy,color,x2,y2;
|
||||||
|
; double h,theta,dx,dy,theta2,thetadiff,nx,ny;
|
||||||
|
; int i;
|
||||||
|
|
||||||
|
; gr_copy(0x400,0xc00);
|
||||||
|
|
||||||
|
; gr_copy_to_current(0xc00);
|
||||||
|
; page_flip();
|
||||||
|
; gr_copy_to_current(0xc00);
|
||||||
|
; page_flip();
|
||||||
|
|
||||||
|
; thetadiff=0;
|
||||||
|
|
||||||
|
; for(i=0;i<8;i++) {
|
||||||
|
|
||||||
|
; for(yy=0;yy<40;yy++) {
|
||||||
|
; for(xx=0;xx<40;xx++) {
|
||||||
|
; dx=(xx-20);
|
||||||
|
; dy=(yy-20);
|
||||||
|
; h=sqrt((dx*dx)+(dy*dy));
|
||||||
|
; theta=atan2(dy,dx);
|
||||||
|
;
|
||||||
|
; theta2=theta+thetadiff;
|
||||||
|
; nx=h*cos(theta2);
|
||||||
|
; ny=h*sin(theta2);
|
||||||
|
;
|
||||||
|
; x2=nx+20;
|
||||||
|
; y2=ny+20;
|
||||||
|
; if ((x2<0) || (x2>39)) color=0;
|
||||||
|
; else if ((y2<0) || (y2>39)) color=0;
|
||||||
|
; else color=scrn_page(x2,y2,PAGE2);
|
||||||
|
|
||||||
|
; color_equals(color);
|
||||||
|
; plot(xx,yy);
|
||||||
|
; }
|
||||||
|
; }
|
||||||
|
; thetadiff+=(6.28/16.0);
|
||||||
|
; page_flip();
|
||||||
|
|
||||||
|
; usleep(100000);
|
||||||
|
; }
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=========================================================
|
||||||
|
; gr_copy_current_to_offscreen 40x40
|
||||||
|
;=========================================================
|
||||||
|
; Copy draw page to $c00
|
||||||
|
; Take image in 0xc00
|
||||||
|
; Copy to DRAW_PAGE
|
||||||
|
; Actually copy lines 0..39
|
||||||
|
; Don't over-write bottom 4 lines of text
|
||||||
|
gr_copy_current_to_offscreen_40x40:
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
gco_40x40_loop:
|
||||||
|
lda gr_offsets,X
|
||||||
|
sta OUTL
|
||||||
|
sta INL
|
||||||
|
lda gr_offsets+1,X
|
||||||
|
clc
|
||||||
|
adc DRAW_PAGE
|
||||||
|
sta OUTH
|
||||||
|
|
||||||
|
lda gr_offsets+1,X
|
||||||
|
clc
|
||||||
|
adc #$8
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
gco_40x40_inner:
|
||||||
|
lda (OUTL),Y
|
||||||
|
sta (INL),Y
|
||||||
|
|
||||||
|
dey
|
||||||
|
bpl gco_40x40_inner
|
||||||
|
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
|
||||||
|
cpx #40
|
||||||
|
bne gco_40x40_loop
|
||||||
|
|
||||||
|
rts ; 6
|
|
@ -0,0 +1,58 @@
|
||||||
|
; print menu selection, draw to draw page
|
||||||
|
|
||||||
|
; use arrow keys to scroll
|
||||||
|
; return/space selects
|
||||||
|
|
||||||
|
; X = num entries
|
||||||
|
; Y = start Y?
|
||||||
|
; OUTL/OUTH points to list to draw
|
||||||
|
|
||||||
|
; return number of response in A
|
||||||
|
; $FF = nothing
|
||||||
|
; 0..# is number of selection chosen
|
||||||
|
|
||||||
|
draw_menu:
|
||||||
|
|
||||||
|
; clear bottom
|
||||||
|
|
||||||
|
jsr clear_bottom
|
||||||
|
|
||||||
|
; make normal?
|
||||||
|
|
||||||
|
; draw list
|
||||||
|
|
||||||
|
jsr move_and_print_list
|
||||||
|
|
||||||
|
; draw arrow
|
||||||
|
|
||||||
|
lda menu_y
|
||||||
|
asl
|
||||||
|
tay
|
||||||
|
lda gr_offsets+1,Y
|
||||||
|
clc
|
||||||
|
adc DRAW_PAGE
|
||||||
|
sta OUTH
|
||||||
|
clc
|
||||||
|
lda gr_offsets,Y
|
||||||
|
adc menu_x
|
||||||
|
sta OUTL
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
lda #'-'
|
||||||
|
sta (OUTL),Y
|
||||||
|
iny
|
||||||
|
sta (OUTL),Y
|
||||||
|
iny
|
||||||
|
lda #'>'
|
||||||
|
sta (OUTL),Y
|
||||||
|
|
||||||
|
; check keypress
|
||||||
|
|
||||||
|
lda #$ff
|
||||||
|
sta MENU_RESULT
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
menu_x: .byte 12
|
||||||
|
menu_y: .byte 21
|
|
@ -0,0 +1,4 @@
|
||||||
|
Double lores version of the mode7 flyer
|
||||||
|
|
||||||
|
was a quick hack
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
place to test out lo-res programs
|
||||||
|
|
|
@ -120,5 +120,5 @@ pt3_table_test.o: pt3_table_test.s \
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ TITLE.GR *.o *.lst \
|
rm -f *~ TITLE.GR *.o *.lst \
|
||||||
PT3_PLAYER PT3_TIMER PT3_DUMPER PT3_TABLE_TEST
|
PT3_PLAYER PT3_TIMER PT3_DUMPER PT3_TABLE_TEST HELLO
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 5.8 KiB |