This commit is contained in:
Vince Weaver 2018-07-05 10:29:48 -04:00
commit 18aff6dcad
10 changed files with 333 additions and 24 deletions

View File

@ -39,7 +39,7 @@ print_string_loop:
iny
bne print_string_loop
done_print_string:
rts
; rts
;====================
; point_to_end_string

View File

@ -135,6 +135,12 @@ JC
no lights on the football field and the roof of the gym
still leaked during basketball games.
There was a dress code. At the time for the girls it was
transitioning from ugly brown (herringbone in the winter) skirts,
and yellow/brown sweater to some sort of horrible green for the
people a few years younger than us. It's not the Apple II palette
making things ugly, it's actually fairly accurate.
Math Office
Where the academic team practiced.
@ -213,10 +219,25 @@ Deutsch Klasse
German class was also fun, though possibly more fun for
us than it was for Frau Potter who had to teach us.
We called her just "Frau" for short, which didn't bother her,
but it shocked all the German exchange students as being excessively
rude as it was sort of like calling her "Woman" or "Lady".
The agents are some weird thing I did where everyone in our
class was a secret Starfleet Agent, and were assigned letters.
No, it didn't make any sense at the time either.
Half the class was actually male, but we mostly sat on the near side
of the room for some reason. The girls all sat on the pictured
side by the windows (view from where I sat).
For all 4 years. I have no idea why we did that.
There were actually some interesting people in this class, feel
bad for leaving them out but the game engine only budgets 5 talking
spots per room.
Interesting fact, 3 of the 4 students pictured have gone on
to get PhDs.
Acting Principal
One of our favorite teachers. He wore a robo-leg when
playing Badminton. The "Since we have no electricity we have no

View File

@ -650,19 +650,25 @@ unsigned char deutsch_rle[]={
0xFF,0xF8,0x8F,0x88,0xFF,0x88,0xFF,
0xF8,0x88,0x88,0xFF,0xF8,0x8F,0x88,0xFF,
0x8F,0xFF,0x88,0xF8,0xFF,0x88,0xA3,0x91,
0xA3,0x99,0xA0,0x22,0x88,0xA3,0x99,0xA0,0x28,0x08,0xA0,0x39,0x00,0x80,0x80,0xA7,0x00,
0xB8,0x88,0xA0,0x1D,0x00,0x88,0xBB,0xB0,0xA5,0x00,
0x0B,0xBB,0x88,0xA4,0x00,0xB8,0x88,0xAE,0x00,
0x88,0xB8,0xA7,0x00,0x88,0xFB,0xA7,0x00,0x2B,
0xA4,0x00,0x0B,0xBB,0x88,0xAE,0x00,0x88,0xBB,
0x0B,0xA6,0x00,0xF8,0xFF,0xF0,0xA5,0x00,0x44,
0x22,0xA5,0x00,0xFF,0x08,0x80,0xAD,0x00,0x88,
0xF0,0xA7,0x00,0x0F,0x00,0x0F,0xA5,0x00,0x04,
0x02,0xA4,0x00,0x0F,0x0F,0xAF,0x00,0x77,0x7F,0xB0,
0xA0,0x25,0x00,0x4F,0x4F,0xA0,0x25,0x00,0x04,0xB4,0x04,0x04,0xA8,0x00,
0xB0,0xA4,0x00,0xD0,0xA5,0x00,0xB0,0xA0,0x11,0x00,0x8F,
0x80,0xA9,0x00,0x08,0x08,0x00,0x00,0x08,0x08,0xA4,0x00,0x08,0x08,
0xA0,0xA9,0x00,0xA1, };
0xA3,0x99,0xA0,0x22,0x88,0xA3,0x99,0xA0,0x28,0x08,0xA0,0x50,0x00,0xA3,0x80,0xA8,0x00,
0xD0,0xD0,0xA8,0x00,0xDD,0xBD,0xA5,0x00,0xB8,0x88,
0xA6,0x00,0xB8,0xD8,0x00,0x00,0x88,0xBB,0x3B,
0xA8,0x00,0xDD,0xBB,0xB0,0xA7,0x00,0xDD,0xBB,
0x0B,0xA3,0x00,0x0B,0xBB,0x88,0xA5,0x00,0x0B,
0xBB,0xD8,0x00,0x00,0x88,0xFB,0x8B,0xA7,0x00,
0xD0,0x0D,0xDB,0xA8,0x00,0xDD,0xFF,0xA5,0x00,
0xFF,0x08,0xA3,0x00,0xFF,0x00,0x00,0x1B,0x08,
0x00,0x00,0x88,0xFF,0xF8,0xB0,0x00,0x00,0xA4,0x70,
0x00,0x70,0x7D,0x7D,0x7B,0x00,0xA4,0x70,0x00,
0x70,0x7F,0x7F,0x7B,0x00,0x7B,0x7F,0x7F,0x70,0x70,
0x00,0x00,0x0F,0xB0,0x10,0x11,0xA3,0x00,0x70,
0x7F,0x77,0x07,0xA8,0x00,0x6D,0x80,0xA8,0x00,
0x8F,0x80,0xA3,0x00,0x80,0x8F,0xA7,0x00,0x11,
0xA3,0x00,0x07,0xA3,0x88,0xA8,0x00,0x08,0xB8,0xA8,0x00,
0x08,0xB8,0xA3,0x00,0xB8,0x08,0xA7,0x00,0x11,0x11,
0xA5,0x00,0xBB,0xA9,0x00,0x8F,0x80,0xA8,0x00,0x8F,
0x80,0x00,0x80,0x8F,0xA8,0x00,0x11,0x11,0xA5,0x00,
0x08,0x08,0xA0,0x1E,0x00,0x80,0x88,0xA0,0xA3,0x00,0xA1, };
unsigned char homeroom_rle[]={
0x28, /* ysize=40 */
0xA0,0x20,0x00,0x77,0xA6,0x57,0x77,0xA0,0x20,0x00,0x77,0x55,0x55,

View File

@ -38,6 +38,12 @@
#define DIALOG_RACHAEL 24
#define DIALOG_MREE 25
#define DIALOG_NIRE 26
#define DIALOG_AGENT_S 27
#define DIALOG_AGENT_G 28
#define DIALOG_AGENT_AP 29
#define DIALOG_FRAU 30
struct dialog_words {
char *words;
int next;
@ -175,7 +181,6 @@ struct dialog_type dialog[100]={
[DIALOG_FORD]= {
.statement[0].words="557-0868 Utopia BBS is really great!",
.statement[0].next=0,
// AMIGA?
},
#if 0
AP CALCULUS, TEAM I-1
@ -193,13 +198,32 @@ struct dialog_type dialog[100]={
LIZBETH
BLUME
VINCE CON PATILLAS
DEUTSCH
AGENT G
AGENT AP
AGENT S
NIRE
FRAU: DER DIE DAS
#endif
//DEUTSCH
[DIALOG_NIRE]= {
.statement[0].words="Vince, what are you doing!",
.statement[0].next=0,
// Sue you?
},
[DIALOG_AGENT_S]= {
.statement[0].words="...",
.statement[0].next=0,
},
[DIALOG_AGENT_G]= {
.statement[0].words="Cultural experience on Friday!",
.statement[0].next=0,
},
[DIALOG_AGENT_AP]= {
.statement[0].words="...",
.statement[0].next=0,
},
[DIALOG_FRAU]= {
.statement[0].words="Immer mit der Ruhe!",
.statement[0].next=0,
.statement[1].words="Karte Spiel",
.statement[1].next=0,
},
#if 0
HOMEROOM
TRAPANI
WEAVE!

View File

@ -687,6 +687,43 @@ struct map_info_type map_info[34] = {
.scatter=SCATTER_NONE,
.entry_type=ENTRY_CENTER, .entry_x=0, .entry_y=0,
.background_image=deutsch_rle,
.num_locations=5,
.location[0] = {
.name="Nire",
.x0 = 0, .x1 = 6,
.y0 = 25, .y1 = 33,
.destination=DIALOG_NIRE,
.type=LOCATION_CONVERSATION,
},
.location[1] = {
.name="Agent S",
.x0 = 10, .x1 = 18,
.y0 = 25, .y1 = 33,
.destination=DIALOG_AGENT_S,
.type=LOCATION_CONVERSATION,
},
.location[2] = {
.name="Agent G",
.x0 = 19, .x1 = 25,
.y0 = 25, .y1 = 33,
.destination=DIALOG_AGENT_G,
.type=LOCATION_CONVERSATION,
},
.location[3] = {
.name="Agent AP",
.x0 = 26, .x1 = 31,
.y0 = 25, .y1 = 33,
.destination=DIALOG_AGENT_AP,
.type=LOCATION_CONVERSATION,
},
.location[4] = {
.name="Frau",
.x0 = 32, .x1 = 38,
.y0 = 25, .y1 = 33,
.destination=DIALOG_FRAU,
.type=LOCATION_CONVERSATION,
},
},
[HOMEROOM]={ // 29: HOMEROOM
.name="Homeroom 12E",

BIN
split_screen/KATC.BIN Normal file

Binary file not shown.

View File

@ -5,11 +5,12 @@ TOKENIZE = ../asoft_basic-utils/tokenize_asoft
all: split.dsk
split.dsk: BISHOP BISHOP.BAS RAINBOW.BAS RAINBOW KATC.BIN
split.dsk: BISHOP BISHOP.BAS RAINBOW.BAS RAINBOW KATC.BIN CREDITS
$(DOS33) -y split.dsk BSAVE -a 0x0300 BISHOP
$(DOS33) -y split.dsk SAVE A BISHOP.BAS
$(DOS33) -y split.dsk SAVE A RAINBOW.BAS
$(DOS33) -y split.dsk BSAVE -a 0x0c00 RAINBOW
$(DOS33) -y split.dsk BSAVE -a 0x1000 CREDITS
# $(DOS33) -y split.dsk BSAVE -a 0x2000 LENNA.BIN
$(DOS33) -y split.dsk BSAVE -a 0x2000 KATC.BIN
@ -31,8 +32,16 @@ RAINBOW: rainbow.o
RAINBOW.BAS: rainbow.bas
$(TOKENIZE) < rainbow.bas > RAINBOW.BAS
credits.o: credits.s
ca65 -o credits.o credits.s -l credits.lst
CREDITS: credits.o
ld65 -o CREDITS credits.o -C ../linker_scripts/apple2_1000.inc
KATC.BIN: kat.bmp
../bmp2dhr/b2d kat.bmp hgr dither
clean:
rm -f *~ *.o *.lst BISHOP RAINBOW
rm -f *~ *.o *.lst BISHOP RAINBOW CREDITS

212
split_screen/credits.s Normal file
View File

@ -0,0 +1,212 @@
.include "zp.inc"
H2 = $2C
; V2 = $2D
; TEMPY = $FB
HGR = $F3E2
HPLOT0 = $F457
HCOLOR = $F6EC
; HLINE = $F819
; VLINE = $F828
; COLOR = $F864
; TEXT = $FB36
; HOME = $FC58
jsr TEXT
jsr HOME
lda #0
sta DISP_PAGE
lda #0
sta DRAW_PAGE
lda #0
sta CH
sta CV
lda #<line1
sta OUTL
lda #>line1
sta OUTH
jsr move_and_print
inc CV
jsr move_and_print
inc CV
jsr move_and_print
inc CV
jsr move_and_print
inc CV
jsr move_and_print
inc CV
jsr move_and_print
; draw the moon
lda #0
sta CV
lda #3
sta CH
jsr htab_vtab ; vtab(1); htab(4)
lda #32 ; inverse space
ldy #0
sta (BASL),Y
inc CV
dec CH
jsr htab_vtab
lda #32
ldy #0
sta (BASL),Y
inc CV
jsr htab_vtab
lda #32
ldy #0
sta (BASL),Y
inc CV
inc CH
jsr htab_vtab
lda #32
ldy #0
sta (BASL),Y
; Wait
jsr wait_until_keypressed
; GR part
bit LORES
bit SET_GR
bit FULLGR
lda #$44
sta COLOR
lda #39
sta V2
lda #28
line_loop:
pha
ldy #0
jsr hlin_double
pla
clc
adc #2
cmp #48
bne line_loop
; Wait
jsr wait_until_keypressed
bit HIRES
; Wait
jsr wait_until_keypressed
display_loop:
; each scan line 65 cycles
; 1 cycle each byte (40cycles) + 25 for horizontal
; Total of 12480 cycles to draw screen
; Vertical blank = 4550 cycles (70 scan lines)
; Total of 17030 cycles to get back to where was
; 16666 = 17030 x=1021.8
; 1000 x
; TODO: find beginning of scan
; Text mode for 6*8=48 scanlines (3120 cycles)
; hgr for 64 scalines (4160 cycles)
; gr for 80 scalines (5200 cycles)
; vblank = 4550 cycles
; text
bit SET_TEXT ; 4
ldy #15 ; 2
loop2:
; 5*255+2 = 197
ldx #39 ; 2
loop1:
dex ; 2
bne loop1 ; 2nt/3
dey ; 2
bne loop2 ; 2nt/3
; hgr
bit HIRES ; 4
bit SET_GR ; 4
ldy #15 ; 2
loop3:
; 5*255+2 = 197
ldx #39 ; 2
loop4:
dex ; 2
bne loop4 ; 2nt/3
dey ; 2
bne loop3 ; 2nt/3
; gr
bit LORES
ldy #15 ; 2
loop5:
; 5*255+2 = 197
ldx #39 ; 2
loop6:
dex ; 2
bne loop6 ; 2nt/3
dey ; 2
bne loop5 ; 2nt/3
jmp display_loop ; 3
wait_until_keypressed:
lda KEYPRESS ; check if keypressed
bpl wait_until_keypressed ; if not, loop
bit KEYRESET
rts
line1:.asciiz " * . "
line2:.asciiz " * . T A L B O T . "
line3:.asciiz " * F A N T A S Y "
line4:.asciiz " * S E V E N "
line5:.asciiz " . . . "
line6:.asciiz " . "
.include "../asm_routines/gr_offsets.s"
.include "../asm_routines/text_print.s"
.include "../asm_routines/gr_hlin_double.s"
.align $1000
.incbin "KATC.BIN"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB