tfv: get the "story" sort of working

This commit is contained in:
Vince Weaver 2021-02-03 00:50:16 -05:00
parent 7b5acbecc0
commit 073ced5cb0
5 changed files with 53 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -2,7 +2,7 @@
5 PRINT 5 PRINT
10 PRINT "FUN TIMES" 10 PRINT "FUN TIMES"
20 PRINT 20 PRINT
22 PRINT "TALBOT FANTASY 7 VERSION 005" 22 PRINT "TALBOT FANTASY 7 VERSION 006"
23 PRINT 23 PRINT
24 PRINT "HTTP://WWW.DEATER.NET/WEAVE/VMWPROD/TFV" 24 PRINT "HTTP://WWW.DEATER.NET/WEAVE/VMWPROD/TFV"
25 PRINT : PRINT 25 PRINT : PRINT

Binary file not shown.

View File

@ -127,6 +127,40 @@ title_new_game:
bit SET_GR bit SET_GR
bit HIRES bit HIRES
lda #0
sta DRAW_PAGE
bit PAGE0
; continue the bottom of the "T"
lda #' '
sta $651 ; 20,1
lda #<story_string1
sta OUTL
lda #>story_string1
sta OUTH
jsr move_and_print
jsr move_and_print
jsr move_and_print
; wait a bit before continuing
ldx #50
jsr long_wait
bit KEYRESET
jsr wait_until_keypressed
jsr move_and_print
jsr move_and_print
; wait a bit before continuing
ldx #50
jsr long_wait
bit KEYRESET
jsr wait_until_keypressed jsr wait_until_keypressed
@ -195,6 +229,7 @@ done_increment_frame:
.include "gr_offsets.s" .include "gr_offsets.s"
.include "wait_keypressed.s" .include "wait_keypressed.s"
.include "tfv_textentry.s" .include "tfv_textentry.s"
.include "long_wait.s"
.include "keyboard.s" .include "keyboard.s"
.include "joystick.s" .include "joystick.s"
@ -205,6 +240,16 @@ done_increment_frame:
; Data ; Data
;=============================================== ;===============================================
story_string1: ; 0123456789012345678901234567890123456789
.byte 2,20, "HE STORY SO FAR...",0
.byte 1,22,"THE EVIL DR. ROBO-KNEE HAS KIDNAPPED",0
.byte 1,23,"YOUR GUINEA PIG COMPANION.",0
story_string2: ; 0123456789012345678901234567890123456789
.byte 1,22,"YOU'VE TRACKED THEM TO THIS LARGE ",0
.byte 1,23,"BLUE PLANET. ",0
title_menu: title_menu:
.byte 16,21,"NEW GAME",0 .byte 16,21,"NEW GAME",0
.byte 16,22,"LOAD GAME",0 .byte 16,22,"LOAD GAME",0

View File

@ -1,12 +1,5 @@
/* Converts 280x192 8-bit PNG file with correct palette to Apple II HGR */ /* Converts 280x192 8-bit PNG file with correct palette to Apple II HGR */
#define VERSION "0.0.1" #define VERSION "0.0.1"
#include <stdio.h> /* For FILE I/O */ #include <stdio.h> /* For FILE I/O */
@ -61,17 +54,20 @@ static int convert_color(int color) {
/* These use the questionable palette my older code used */ /* These use the questionable palette my older code used */
/* Also handle the newer one */ /* Also handle the newer one */
/* Bitflipped because HGR is backwards, woz is crazy */ /* Bitflipped because HGR is backwards, woz is crazy */
case 0x000000: c=0; break; /* black */ case 0x000000: c=0; break; /* black1 */
case 0x1bcb01: c=2; break; /* bright green */ case 0x1bcb01: c=2; break; /* bright green */
case 0x14f53c: c=2; break; /* bright green */ case 0x14f53c: c=2; break; /* bright green */
case 0xe434fe: c=1; break; /* magenta */ case 0xe434fe: c=1; break; /* magenta */
case 0xe31e60: c=1; break; /* magenta */ case 0xe31e60: c=1; break; /* magenta */
case 0xffffff: c=3; break; /* white */ case 0xffffff: c=3; break; /* white1 */
case 0xcd5b01: c=6; break; /* orange */ case 0xcd5b01: c=6; break; /* orange */
case 0xff6a3c: c=6; break; /* orange */ case 0xff6a3c: c=6; break; /* orange */
case 0x1b9afe: c=5; break; /* medium blue */ case 0x1b9afe: c=5; break; /* medium blue */
case 0x14cffd: c=5; break; /* medium blue */ case 0x14cffd: c=5; break; /* medium blue */
case 0x010101: c=4; break; /* black2 */
case 0xfefefe: c=7; break; /* white2 */
default: default:
fprintf(stderr,"Unknown color %x\n",color); fprintf(stderr,"Unknown color %x\n",color);
break; break;
@ -274,12 +270,12 @@ static int hgr_offset(int y) {
/* Count both black/white variants */ /* Count both black/white variants */
static int color_high(int color) { static int color_high(int color) {
if ((color>2) || (color==0)) return 1; if (color>3) return 1;
return 0; return 0;
} }
static int color_low(int color) { static int color_low(int color) {
if ((color<4) || (color==7)) return 1; if (color<4) return 1;
return 0; return 0;
} }