mirror of
https://github.com/a2stuff/prodos-drivers.git
synced 2024-09-11 08:54:24 +00:00
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:
parent
1a3aa1e8c6
commit
46aef091df
2
Makefile
2
Makefile
@ -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
|
||||
|
||||
|
@ -116,8 +116,8 @@ cricket_not_found:
|
||||
|
||||
not_found:
|
||||
;; Show failure message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Not Found."
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - Not Found."
|
||||
.byte 0
|
||||
rts
|
||||
|
||||
@ -205,8 +205,8 @@ loop: lda driver,y
|
||||
lda ROMIN2
|
||||
|
||||
;; Display success message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Installed "
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - "
|
||||
.byte 0
|
||||
|
||||
;; Display the current date
|
||||
@ -234,7 +234,6 @@ loop: lda driver,y
|
||||
|
||||
pla ; year
|
||||
jsr cout_number
|
||||
jsr CROUT
|
||||
|
||||
rts ; done!
|
||||
.endproc
|
||||
|
@ -75,8 +75,8 @@ DATA := SLOT4IO+3 ; Slinky data byte
|
||||
bcc InstallDriver
|
||||
|
||||
;; Show failure message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Not Found."
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - Not Found."
|
||||
.byte 0
|
||||
|
||||
done: rts
|
||||
@ -125,8 +125,8 @@ loop: lda driver,y
|
||||
lda ROMIN2
|
||||
|
||||
;; Display success message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Installed "
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - "
|
||||
.byte 0
|
||||
|
||||
;; Display the current date
|
||||
@ -154,7 +154,6 @@ loop: lda driver,y
|
||||
|
||||
pla ; year
|
||||
jsr cout_number
|
||||
jsr CROUT
|
||||
|
||||
rts ; done!
|
||||
.endproc
|
||||
|
@ -66,7 +66,7 @@ load: lda src,y ; self-modified
|
||||
;; --------------------------------------------------
|
||||
;; Identify the name of this SYS file, which should be present at
|
||||
;; $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)
|
||||
ldx PATHNAME
|
||||
@ -80,7 +80,7 @@ load: lda src,y ; self-modified
|
||||
dex
|
||||
bne :-
|
||||
|
||||
;; Copy name into |self_name| buffer
|
||||
;; Copy name into `self_name` buffer
|
||||
copy_name:
|
||||
cpy #0
|
||||
beq no_name
|
||||
@ -135,7 +135,6 @@ self_name: .res 16
|
||||
jsr INIT
|
||||
jsr SETVID
|
||||
jsr SETKBD
|
||||
jsr HOME
|
||||
|
||||
;; Update System Bit Map
|
||||
ldx #BITMAP_SIZE-1
|
||||
@ -398,6 +397,15 @@ found_self_flag:
|
||||
;;; 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.
|
||||
;;; String immediately follows the JSR.
|
||||
|
@ -127,8 +127,8 @@ not_found:
|
||||
bpl :-
|
||||
|
||||
;; Show failure message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Not Found."
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - Not Found."
|
||||
.byte 0
|
||||
|
||||
rts
|
||||
@ -181,8 +181,8 @@ loop: lda driver,y
|
||||
lda ROMIN2
|
||||
|
||||
;; Display success message
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Installed "
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - "
|
||||
.byte 0
|
||||
|
||||
;; Display the current date
|
||||
@ -210,7 +210,6 @@ loop: lda driver,y
|
||||
|
||||
pla ; year
|
||||
jsr cout_number
|
||||
jsr CROUT
|
||||
|
||||
rts ; done!
|
||||
.endproc
|
||||
|
@ -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 "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 "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 "selectors/out/bbb.system.SYS" "bbb.system#FF0000" "/$VOLNAME"
|
||||
add_file "selectors/out/buhbye.system.SYS" "buhbye.system#FF0000" "/$VOLNAME"
|
||||
|
38
pause/Makefile
Normal file
38
pause/Makefile
Normal 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
30
pause/pause.system.s
Normal 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"
|
||||
;;; ************************************************************
|
@ -409,9 +409,8 @@ finish: bit ROMIN2
|
||||
install_success:
|
||||
sta ALTZPOFF
|
||||
|
||||
jsr HOME
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - "
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - "
|
||||
.byte 0
|
||||
|
||||
;; Initialize Applesoft zero page locations required by LINPRNT
|
||||
@ -433,9 +432,8 @@ install_success:
|
||||
install_failure:
|
||||
sta ALTZPOFF
|
||||
|
||||
jsr HOME
|
||||
jsr zstrout
|
||||
scrcode "\r\r\r", PRODUCT, " - Not Installed"
|
||||
jsr log_message
|
||||
scrcode PRODUCT, " - Not Found"
|
||||
.byte 0
|
||||
|
||||
rts
|
||||
|
Loading…
Reference in New Issue
Block a user