Have clock/ram drivers print at the bottom of the screen.

Trying this out. Might not stick with it.

Also added a PAUSE.SYSTEM that just waits a bit, if you want a delay
in your startup sequence to watch the log messages.
This commit is contained in:
Joshua Bell 2021-08-25 20:49:41 -07:00
parent 1a3aa1e8c6
commit 46aef091df
9 changed files with 97 additions and 25 deletions

View File

@ -1,4 +1,4 @@
targets := ns.clock cricket dclock selectors ram.drv quit targets := ns.clock cricket dclock selectors ram.drv quit pause
.PHONY: all $(targets) package .PHONY: all $(targets) package

View File

@ -116,8 +116,8 @@ cricket_not_found:
not_found: not_found:
;; Show failure message ;; Show failure message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Not Found." scrcode PRODUCT, " - Not Found."
.byte 0 .byte 0
rts rts
@ -205,8 +205,8 @@ loop: lda driver,y
lda ROMIN2 lda ROMIN2
;; Display success message ;; Display success message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Installed " scrcode PRODUCT, " - "
.byte 0 .byte 0
;; Display the current date ;; Display the current date
@ -234,7 +234,6 @@ loop: lda driver,y
pla ; year pla ; year
jsr cout_number jsr cout_number
jsr CROUT
rts ; done! rts ; done!
.endproc .endproc

View File

@ -75,8 +75,8 @@ DATA := SLOT4IO+3 ; Slinky data byte
bcc InstallDriver bcc InstallDriver
;; Show failure message ;; Show failure message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Not Found." scrcode PRODUCT, " - Not Found."
.byte 0 .byte 0
done: rts done: rts
@ -125,8 +125,8 @@ loop: lda driver,y
lda ROMIN2 lda ROMIN2
;; Display success message ;; Display success message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Installed " scrcode PRODUCT, " - "
.byte 0 .byte 0
;; Display the current date ;; Display the current date
@ -154,7 +154,6 @@ loop: lda driver,y
pla ; year pla ; year
jsr cout_number jsr cout_number
jsr CROUT
rts ; done! rts ; done!
.endproc .endproc

View File

@ -66,7 +66,7 @@ load: lda src,y ; self-modified
;; -------------------------------------------------- ;; --------------------------------------------------
;; Identify the name of this SYS file, which should be present at ;; Identify the name of this SYS file, which should be present at
;; $280 with or without a path prefix. Search pathname buffer ;; $280 with or without a path prefix. Search pathname buffer
;; backwards for '/', then copy name into |self_name|. ;; backwards for '/', then copy name into `self_name`.
;; Find '/' (which may not be present, prefix is optional) ;; Find '/' (which may not be present, prefix is optional)
ldx PATHNAME ldx PATHNAME
@ -80,7 +80,7 @@ load: lda src,y ; self-modified
dex dex
bne :- bne :-
;; Copy name into |self_name| buffer ;; Copy name into `self_name` buffer
copy_name: copy_name:
cpy #0 cpy #0
beq no_name beq no_name
@ -135,7 +135,6 @@ self_name: .res 16
jsr INIT jsr INIT
jsr SETVID jsr SETVID
jsr SETKBD jsr SETKBD
jsr HOME
;; Update System Bit Map ;; Update System Bit Map
ldx #BITMAP_SIZE-1 ldx #BITMAP_SIZE-1
@ -398,6 +397,15 @@ found_self_flag:
;;; Common Routines ;;; Common Routines
;;; ============================================================ ;;; ============================================================
;;; ------------------------------------------------------------
;;; Use this for logging the result of a driver. Uses `zstrout`.
.proc log_message
jsr CROUT
jsr CROUT
;; fall through
.endproc
;;; ------------------------------------------------------------ ;;; ------------------------------------------------------------
;;; Output a high-ascii, null-terminated string. ;;; Output a high-ascii, null-terminated string.
;;; String immediately follows the JSR. ;;; String immediately follows the JSR.

View File

@ -127,8 +127,8 @@ not_found:
bpl :- bpl :-
;; Show failure message ;; Show failure message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Not Found." scrcode PRODUCT, " - Not Found."
.byte 0 .byte 0
rts rts
@ -181,8 +181,8 @@ loop: lda driver,y
lda ROMIN2 lda ROMIN2
;; Display success message ;; Display success message
jsr zstrout jsr log_message
scrcode "\r\r\r", PRODUCT, " - Installed " scrcode PRODUCT, " - "
.byte 0 .byte 0
;; Display the current date ;; Display the current date
@ -210,7 +210,6 @@ loop: lda driver,y
pla ; year pla ; year
jsr cout_number jsr cout_number
jsr CROUT
rts ; done! rts ; done!
.endproc .endproc

View File

@ -26,6 +26,7 @@ add_file "cricket/out/test.BIN" "test#062000" "/$VOLNAME
add_file "dclock/out/dclock.system.SYS" "dclock.system#FF0000" "/$VOLNAME" add_file "dclock/out/dclock.system.SYS" "dclock.system#FF0000" "/$VOLNAME"
add_file "ns.clock/out/ns.clock.system.SYS" "ns.clock.system#FF0000" "/$VOLNAME" add_file "ns.clock/out/ns.clock.system.SYS" "ns.clock.system#FF0000" "/$VOLNAME"
add_file "quit/out/quit.system.SYS" "quit.system#FF0000" "/$VOLNAME" add_file "quit/out/quit.system.SYS" "quit.system#FF0000" "/$VOLNAME"
add_file "pause/out/pause.system.SYS" "pause.system#FF0000" "/$VOLNAME"
add_file "ram.drv/out/ram.drv.system.SYS" "ram.drv.system#FF0000" "/$VOLNAME" add_file "ram.drv/out/ram.drv.system.SYS" "ram.drv.system#FF0000" "/$VOLNAME"
add_file "selectors/out/bbb.system.SYS" "bbb.system#FF0000" "/$VOLNAME" add_file "selectors/out/bbb.system.SYS" "bbb.system#FF0000" "/$VOLNAME"
add_file "selectors/out/buhbye.system.SYS" "buhbye.system#FF0000" "/$VOLNAME" add_file "selectors/out/buhbye.system.SYS" "buhbye.system#FF0000" "/$VOLNAME"

38
pause/Makefile Normal file
View File

@ -0,0 +1,38 @@
CAFLAGS = --target apple2enh --list-bytes 0
LDFLAGS = --config apple2-asm.cfg
OUTDIR = out
HEADERS = $(wildcard *.inc) $(wildcard ../inc/*.inc)
TARGETS = \
$(OUTDIR)/pause.system.SYS
# For timestamps
MM = $(shell date "+%-m")
DD = $(shell date "+%-d")
YY = $(shell date "+%-y")
DEFINES = -D DD=$(DD) -D MM=$(MM) -D YY=$(YY)
XATTR := $(shell command -v xattr 2> /dev/null)
.PHONY: clean all
all: $(OUTDIR) $(TARGETS)
$(OUTDIR):
mkdir -p $(OUTDIR)
clean:
rm -f $(OUTDIR)/*.o
rm -f $(OUTDIR)/*.list
rm -f $(TARGETS)
$(OUTDIR)/%.o: %.s $(HEADERS)
ca65 $(CAFLAGS) $(DEFINES) --listing $(basename $@).list -o $@ $<
$(OUTDIR)/%.SYS: $(OUTDIR)/%.o
ld65 $(LDFLAGS) -o $@ $<
ifdef XATTR
xattr -wx prodos.AuxType '00 20' $@
endif

30
pause/pause.system.s Normal file
View File

@ -0,0 +1,30 @@
.setcpu "6502"
.linecont +
.feature string_escapes
.include "apple2.inc"
.include "apple2.mac"
.include "../inc/apple2.inc"
.include "../inc/macros.inc"
.include "../inc/prodos.inc"
.include "../inc/ascii.inc"
;;; ************************************************************
.include "../inc/driver_preamble.inc"
;;; ************************************************************
.proc maybe_install_driver
ldx #4
: lda #$FF
jsr $FCA8 ; WAIT
dex
bne :-
rts
.endproc
;;; ************************************************************
.include "../inc/driver_postamble.inc"
;;; ************************************************************

View File

@ -409,9 +409,8 @@ finish: bit ROMIN2
install_success: install_success:
sta ALTZPOFF sta ALTZPOFF
jsr HOME jsr log_message
jsr zstrout scrcode PRODUCT, " - "
scrcode "\r\r\r", PRODUCT, " - "
.byte 0 .byte 0
;; Initialize Applesoft zero page locations required by LINPRNT ;; Initialize Applesoft zero page locations required by LINPRNT
@ -433,9 +432,8 @@ install_success:
install_failure: install_failure:
sta ALTZPOFF sta ALTZPOFF
jsr HOME jsr log_message
jsr zstrout scrcode PRODUCT, " - Not Found"
scrcode "\r\r\r", PRODUCT, " - Not Installed"
.byte 0 .byte 0
rts rts