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
10 PRINT "FUN TIMES"
20 PRINT
22 PRINT "TALBOT FANTASY 7 VERSION 005"
22 PRINT "TALBOT FANTASY 7 VERSION 006"
23 PRINT
24 PRINT "HTTP://WWW.DEATER.NET/WEAVE/VMWPROD/TFV"
25 PRINT : PRINT

Binary file not shown.

View File

@ -127,6 +127,40 @@ title_new_game:
bit SET_GR
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
@ -195,6 +229,7 @@ done_increment_frame:
.include "gr_offsets.s"
.include "wait_keypressed.s"
.include "tfv_textentry.s"
.include "long_wait.s"
.include "keyboard.s"
.include "joystick.s"
@ -205,6 +240,16 @@ done_increment_frame:
; 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:
.byte 16,21,"NEW 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 */
#define VERSION "0.0.1"
#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 */
/* Also handle the newer one */
/* 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 0x14f53c: c=2; break; /* bright green */
case 0xe434fe: 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 0xff6a3c: c=6; break; /* orange */
case 0x1b9afe: 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:
fprintf(stderr,"Unknown color %x\n",color);
break;
@ -274,12 +270,12 @@ static int hgr_offset(int y) {
/* Count both black/white variants */
static int color_high(int color) {
if ((color>2) || (color==0)) return 1;
if (color>3) return 1;
return 0;
}
static int color_low(int color) {
if ((color<4) || (color==7)) return 1;
if (color<4) return 1;
return 0;
}