Sprucing up the buy page.

This commit is contained in:
Martin Haye 2017-03-23 08:00:49 -07:00
parent 35c5ee97ef
commit 3f9377088b
4 changed files with 53 additions and 34 deletions

View File

@ -49,6 +49,29 @@
* = fontEngine
;The following control-codes are used.
;CODE__STATE__DESCRIPTION___
;Ctrl-A (1) foreground/character color
;Ctrl-B (2) background color
;Ctrl-E (3) extended character {A..I}
;Ctrl-F (4) font {0,1,2} (not implemented)
;Ctrl-T (5) horizonTal position {000..279} base-10
;Ctrl-V (6) vertical position {000..191}
;Ctrl-R (7) character/ticker rate {00..FF}
;Ctrl-L n/a toggle underLine mode
;Ctrl-M n/a Carriage return w/line feed
;Ctrl-N n/a Normal mode (un-toggle special modes)
;Ctrl-Q n/a Home cursor & clear screen
;Ctrl-\ n/a Ticker Tape scroll Mode 0=off
;Ctrl-] n/a Ticker Tape scroll Mode 1=on
;Ctrl-P n/a toggle between ticker/scroll mode
;Ctrl-U n/a (right arrow) move +1 column
;Ctrl-H n/a (left arrow) move -1 column
;Ctrl-J n/a (down arrow) move +1 row
;Ctrl-K n/a (up arrow) move -1 row
;Ctrl-I n/a Inverse (swap foregnd/bkgnd colors)
;Ctrl-Y n/a center justify
DEBUG = 0 ; 1=some logging, 2=lots of logging
pTmp = $4 ;zero page Temporary variables
@ -1275,29 +1298,7 @@ TestChr LDX #0
WaitPrm JMP GetParm
;This section tests for control characters.
;The following control-codes are used. Those that
;require a paramter to follow will set a wait state
;CODE__STATE__DESCRIPTION___
;Ctrl-A (1) foreground/character color
;Ctrl-B (2) background color
;Ctrl-E (3) extended character {A..I}
;Ctrl-F (4) font {0,1,2} (not implemented)
;Ctrl-T (5) horizonTal position {000..279} base-10
;Ctrl-V (6) vertical position {000..191}
;Ctrl-R (7) character/ticker rate {00..FF}
;Ctrl-L n/a toggle underLine mode
;Ctrl-M n/a Carriage return w/line feed
;Ctrl-N n/a Normal mode (un-toggle special modes)
;Ctrl-Q n/a Home cursor & clear screen
;Ctrl-\ n/a Ticker Tape scroll Mode 0=off
;Ctrl-] n/a Ticker Tape scroll Mode 1=on
;Ctrl-P n/a toggle between ticker/scroll mode
;Ctrl-U n/a (right arrow) move +1 column
;Ctrl-H n/a (left arrow) move -1 column
;Ctrl-J n/a (down arrow) move +1 row
;Ctrl-K n/a (up arrow) move -1 row
;Ctrl-I n/a Inverse (swap foregnd/bkgnd colors)
;Ctrl-Y n/a center justify
;Control-codes that require a paramter to follow will set a wait state
TestCtl TXA ;restore character
CMP #$0D ;Ctrl-M?
BNE TCl_01 ;no - keep testing

View File

@ -8,10 +8,28 @@
; governing permissions and limitations under the License.
;****************************************************************************************
;
; Proportional Font Engine
; by Andrew Hogan
;
;The following control-codes are used.
;CODE__STATE__DESCRIPTION___
;Ctrl-A (1) foreground/character color
;Ctrl-B (2) background color
;Ctrl-E (3) extended character {A..I}
;Ctrl-F (4) font {0,1,2} (not implemented)
;Ctrl-T (5) horizonTal position {000..279} base-10
;Ctrl-V (6) vertical position {000..191}
;Ctrl-R (7) character/ticker rate {00..FF}
;Ctrl-L n/a toggle underLine mode
;Ctrl-M n/a Carriage return w/line feed
;Ctrl-N n/a Normal mode (un-toggle special modes)
;Ctrl-Q n/a Home cursor & clear screen
;Ctrl-\ n/a Ticker Tape scroll Mode 0=off
;Ctrl-] n/a Ticker Tape scroll Mode 1=on
;Ctrl-P n/a toggle between ticker/scroll mode
;Ctrl-U n/a (right arrow) move +1 column
;Ctrl-H n/a (left arrow) move -1 column
;Ctrl-J n/a (down arrow) move +1 row
;Ctrl-K n/a (up arrow) move -1 row
;Ctrl-I n/a Inverse (swap foregnd/bkgnd colors)
;Ctrl-Y n/a center justify
fontEngine = $EC00
fontEngineLen = $F00 ; maximum (allows for some debug code)

View File

@ -410,8 +410,9 @@ export asm finishString
inx ; it's plural, so copy everything within the parens
lda inbuf,x ; copy characters
cpx inbuf ; handle missing trailing paren
beq .store
cmp #")" ; go until we reach ending paren
beq +
bcs .store
+ cmp #")" ; go until we reach ending paren
beq .next
sta inbuf,y
iny
@ -1330,8 +1331,7 @@ export def setOversizeWindow()
hline(getScreenLine(184)+1, $F8, $FF, 36, $8F)
hline(getScreenLine(185)+1, 0, 0, 36, 0)
setWindow(10, 183, 14, 267) // Top, Bottom, Left, Right
clearWindow()
frameLoaded = 0
frameLoaded = 0 // since we destroyed it
end
///////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -14,7 +14,7 @@ include "globalDefs.plh"
include "gen_modules.plh"
include "gen_items.plh"
const PAGE_SIZE = 13
const PAGE_SIZE = 14 // (183-10)/9 - 5
// Exported functions go here. First a predef for each one, then a table with function pointers
// in the same order as the constants are defined in the header.
@ -147,7 +147,7 @@ def displayBuyPage(pItemTbl, markupRatio, pageNum, nPages)
pFunc = pFunc + 2
next
rawDisplayf1("\n\nBrowse item [A-%c], ", itemNum-1+'A')
rawDisplayf1("^V164^T000Browse item [A-%c], ", itemNum-1+'A')
if nPages > 0
rawDisplayf1("page [1-%d], ", nPages)
fin
@ -180,7 +180,7 @@ def _buyFromStore(storeCode, markupRatio)
redisplay = TRUE
while TRUE
if redisplay
nItemsOnPage = displayBuyPage(pItemTbl + ((pageNum*PAGE_SIZE)<<1), markupRatio, pageNum, nPages)
nItemsOnPage = displayBuyPage(pItemTbl, markupRatio, pageNum, nPages)
fin
choice = getUpperKey()
redisplay = TRUE