more comments on LC2 usage, rename hw.accel, update comments about lineage

This commit is contained in:
4am 2019-10-09 13:15:33 -04:00
parent 196798c278
commit 2260b5df52
7 changed files with 57 additions and 18 deletions

View File

@ -156,6 +156,7 @@ LastMover
!source "src/prodos.impl.lc2.a"
!source "src/glue.prorwts2.lc2.a"
!source "src/glue.launch.lc2.a"
!source "src/hw.accel.lc2.a"
LCRAM2_END = *
!if * > $E000 {
!error "code is too large: ends at ", *
@ -172,6 +173,7 @@ EvenLasterMover
!source "src/ui.font.lc2.a"
!source "src/glue.prorwts2.lc2.a"
!source "src/glue.launch.lc2.a"
!source "src/hw.accel.lc2.a"
STACKBASE = *
LCRAM2_END = STACKBASE + 16
FONTDST = (LCRAM2_END + 255) and -256

View File

@ -186,7 +186,7 @@ Loader128KAndJoystick
!byte 15
!text "joystick + 128K"
!source "src/hw.normfast.a"
!source "src/hw.accel.a"
!source "src/parse.games.a"
OneTimeSetup

View File

@ -1,3 +1,12 @@
;license:MIT
;(c) 2018-9 by 4am & qkumba
;
; ProRWTS2 glue functions
;
; /!\ These live in LC RAM 2 and rely on the ProRWTS code which is also in LC RAM 2. /!\
; Code in LC RAM 1 (which is most program code) should call the functions in glue.launch
; which handle bank switching for you.
LaunchInternal
jsr SaveOrRestoreScreenHoles ; save screen hole contents
ldy #$F1

View File

@ -1,3 +1,12 @@
;license:MIT
;(c) 2018-9 by 4am & qkumba
;
; ProRWTS2 glue functions
;
; /!\ These live in LC RAM 2 and rely on the ProRWTS code which is also in LC RAM 2. /!\
; Code in LC RAM 1 (which is most program code) should call the functions in glue.prorwts2
; and parse.prefs which handle bank switching for you.
LoadFileInternal
+LDADDR gPathname
+STAY namlo ; set filename

View File

@ -1,11 +1,24 @@
;;; NORMFAST Disable/enable Apple II compatible accelerator
;license:MIT
;(c) 2019 by 4am & qkumba
;
; Release 7 2019-10-04 No functional changes to the
; acceleration routines, but for Total Replay, we split the
; machine identification code from the (de)acceleration code,
; because we can do the ID part once at program startup (when
; ROM is easily available), then (de)accelerate repeatedly
; from the language card.
; Functions to enable and disable acceleration on various
; Apple II models, cards, and environments
;
; Forked from NORMFAST Release 6 (see changelog below)
;
; No functional changes to the acceleration routines, but for
; Total Replay, we split the machine identification code from
; the (de)acceleration code, because we can do the ID part once
; at program startup (when ROM is easily available), then
; (de)accelerate repeatedly from the language card (when ROM
; is switched out).
;
; --------------------------------------------------------------
;
; Original changelog and documentation:
;
;;; NORMFAST Disable/enable Apple II compatible accelerator
; (no copyright info given)
;
; Release 6 2017-10-05 Fix Mac IIe card check
;
@ -57,8 +70,6 @@
; addresses are lowercase, constant values are in CAPS
RELEASE = 7 ; our version
romid = $FBB3
; $38=][, $EA=][+, $06=//e compatible
ROMID_IIECOMPAT = 6

15
src/hw.accel.lc2.a Normal file
View File

@ -0,0 +1,15 @@
;license:MIT
;(c) 2019 by 4am & qkumba
;
; Functions to enable and disable acceleration on various
; Apple II models, cards, and environments
;
; /!\ These live in LC RAM 2 and rely on the code which is also in LC RAM 2. /!\
EnableAcceleratorAndSwitchToBank1
jsr EnableAccelerator
jmp SwitchToBank1
DisableAcceleratorAndSwitchToBank1
jsr DisableAccelerator
jmp SwitchToBank1

View File

@ -3,6 +3,7 @@
;
; Pseudo-ProDOS environment
;
; /!\ These live in LC RAM 2 and rely on the ProRWTS code which is also in LC RAM 2. /!\
;------------------------------------------------------------------------------
; ProDOS_enter
@ -567,11 +568,3 @@ holepatch ;sta->lda
rts
holey_stuff
!fill 64
EnableAcceleratorAndSwitchToBank1
jsr EnableAccelerator
jmp SwitchToBank1
DisableAcceleratorAndSwitchToBank1
jsr DisableAccelerator
jmp SwitchToBank1