This commit is contained in:
4am 2018-02-01 15:27:33 -05:00
parent e6f842eada
commit 2d7a95acea
4 changed files with 189 additions and 16 deletions

View File

@ -5,7 +5,6 @@
18 & WINDW(0,0,0,0,79,1,79,1): & SEL(0): & CURSR(0,0)
19 INVERSE : & PRINT ("Pitch Dark "): NORMAL
20 GOSUB 1000: & BUTTN(14,1,2,12,800,B$): & STRW(1): REM Previous
21 & BUTTN(14,1,2,12,800,B$): & STRW(1)
25 GOSUB 1000: & BUTTN(15,65,2,13,900,B$): & STRW(1): REM Next game
40 GOSUB 1000: & BUTTN(1,34,10,13,200,B$): & STRW(1): REM Play game
41 GOSUB 1000: & BUTTN(2,66,7,11,300,B$): & STRW(1): REM Clues

4
src/lcase.a Executable file
View File

@ -0,0 +1,4 @@
!to "lcase.ct", plain
*=0
!for i, 128 {!byte i+127}
!for i, 256-128 {!byte i+127}

1
src/lcase.ct Executable file
View File

@ -0,0 +1 @@
€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<EFBFBD><EFBFBD><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<EFBFBD><EFBFBD><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@ -2,6 +2,7 @@
;(c) 2018 by 4am
!cpu 65c02
!ct "lcase.ct"
!to "../build/PTCHDARK.SYSTEM#FF2000",plain
*=$2000
@ -9,6 +10,9 @@
INVERSE = $FE80
NORMAL = $FE84
; application constants
RAW = 1
jmp Init
!source "WeeGUI_MLI.s"
@ -21,32 +25,75 @@ Init
beq + ; yes, continue
jmp QuitToProDOS
+
jsr LoadFile1Shot
jsr LoadFile1Shot ; load WEEGUI binary at $4000
!word WGFILE
!word $4000
!word $2000
!word $1C00
jsr $4000
ldx #WGClearScreen
jsr $4000 ; initialize WeeGUI
ldx #WGClearScreen ; clear screen
jsr WeeGUI
ldx #WGCreateView
lda #<view0
ldx #WGCreateView ; create title bar on top line
lda #<view_title
sta PARAM0
lda #>view0
lda #>view_title
sta PARAM1
jsr WeeGUI
jsr INVERSE
ldx #WGPrint
lda #<title
lda #<string_title
sta PARAM0
lda #>title
lda #>string_title
sta PARAM1
jsr WeeGUI
jsr NORMAL
jsr _create_button
!word view_previous
jsr _create_button
!word view_next
jsr _create_button
!word view_play
jsr _create_button
!word view_clues
jsr _create_button
!word view_boxart
jsr _create_button
!word view_options
ldx #WGCreateView ; create game info box
lda #<view_info
sta PARAM0
lda #>view_info
sta PARAM1
jsr WeeGUI
ldx #WGSetCursor
stz PARAM0
stz PARAM1
jsr WeeGUI
ldx #WGPrint
lda #<string_info1
sta PARAM0
lda #>string_info1
sta PARAM1
jsr WeeGUI
ldx #WGSetCursor
stz PARAM0
lda #1
sta PARAM1
jsr WeeGUI
ldx #WGPrint
lda #<string_info2
sta PARAM0
lda #>string_info2
sta PARAM1
jsr WeeGUI
bit $c010
- lda $c000
bpl -
@ -54,17 +101,139 @@ Init
jsr WeeGUI
jmp QuitToProDOS
WGFILE !byte wg_e-wg_b
wg_b !text "WEEGUI"
callback_previous
callback_next
callback_play
callback_clues
callback_boxart
callback_options
rts
_create_button
pla
sta $00
pla
sta $01
tax
lda #$02
clc
adc $00
bcc +
inx
+ phx
pha
ldy #$01
lda ($00),y
sta PARAM0
iny
lda ($00),y
sta PARAM1
ldx #WGCreateButton
jsr WeeGUI
ldx #WGViewSetRawTitle
lda #RAW
sta PARAM0
jsr WeeGUI
ldx #WGPaintView
jmp WeeGUI
WGFILE !byte wg_e-wg_b
wg_b !raw "WEEGUI"
wg_e
view0 !byte 0 ; view ID
view_title
!byte 0 ; view ID
!byte 0 ; style
!byte 0 ; left
!byte 0 ; top
!byte 79 ; visible width
!byte 80 ; visible width
!byte 1 ; visible height
!byte 79 ; width
!byte 80 ; width
!byte 1 ; height
string_title
!raw "Pitch Dark ",0
title !text "Pitch Dark ",0
view_previous
!byte 14 ; view ID
!byte 1 ; left
!byte 2 ; top
!byte 12 ; width
!word callback_previous ; callback
!word string_previous ; caption
string_previous
!text "< Pre"
!byte $76 ; 'v' inverse
!text "ious",0
view_next
!byte 15 ; view ID
!byte 65 ; left
!byte 2 ; top
!byte 13 ; width
!word callback_next ; callback
!word string_next ; caption
string_next
!byte $0E ; 'N' inverse
!text "ext game >",0
view_play
!byte 1 ; view ID
!byte 34 ; left
!byte 10 ; top
!byte 13 ; width
!word callback_play ; callback
!word string_play ; caption
string_play
!byte $10 ; 'P' inverse
!text "lay game",0
view_clues
!byte 2 ; view ID
!byte 66 ; left
!byte 7 ; top
!byte 11 ; width
!word callback_clues ; callback
!word string_clues ; caption
string_clues
!byte $03 ; 'C' inverse
!text "lues",0
view_boxart
!byte 3 ; view ID
!byte 66 ; left
!byte 9 ; top
!byte 11 ; width
!word callback_boxart ; callback
!word string_boxart ; caption
string_boxart
!byte $02 ; 'B' inverse
!text "ox art",0
view_options
!byte 4 ; view ID
!byte 66 ; left
!byte 11 ; top
!byte 11 ; width
!word callback_options ; callback
!word string_options ; caption
string_options
!byte $0F ; 'O' inverse
!text "ptions",0
view_info
!byte 12 ; view ID
!byte 0 ; style
!byte 31 ; left
!byte 2 ; top
!byte 18 ; visible width
!byte 7 ; visible height
!byte 18 ; width
!byte 7 ; height
string_info1
!raw "ZORK I: THE GREAT ",0
string_info2
!raw "UNDERGROUND EMPIRE",0
string_info3
!raw "1980 Fantasy",0
string_info4
!raw "Difficulty: ",64,64,64,65,65,0