From 3776f3377f13b490b5dec28256f062c8d51f305e Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Tue, 15 Aug 2017 19:20:47 -0700 Subject: [PATCH] Some cleanup --- GSCats.xcodeproj/project.pbxproj | 2 + gamemanager.s | 71 +---------------------------- gscats.2mg | Bin 819264 -> 819264 bytes gscats.s | 2 + input.s | 74 +++++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 69 deletions(-) create mode 100644 input.s diff --git a/GSCats.xcodeproj/project.pbxproj b/GSCats.xcodeproj/project.pbxproj index 8908783..4f954b3 100644 --- a/GSCats.xcodeproj/project.pbxproj +++ b/GSCats.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXFileReference section */ 700C39C51F2E5CA800C24F9C /* tables.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = tables.s; sourceTree = ""; }; + 700F21DE1F43E31300D7007D /* input.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = input.s; sourceTree = ""; }; 700FFAFB1F40F3BF00A442DE /* font.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font.s; sourceTree = ""; }; 7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateVRAMTable.py; sourceTree = ""; }; 706DF1641F2D39F700AA6680 /* loader.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = loader.s; sourceTree = ""; }; @@ -30,6 +31,7 @@ isa = PBXGroup; children = ( 70E9D85F1F2BD95400555C19 /* equates.s */, + 700F21DE1F43E31300D7007D /* input.s */, 70E9D8601F2BD95400555C19 /* graphics.s */, 70E9D8621F2BD95400555C19 /* macros.s */, 7099E3841F41022100182A82 /* gameobject.s */, diff --git a/gamemanager.s b/gamemanager.s index 74b4b87..a996cf5 100644 --- a/gamemanager.s +++ b/gamemanager.s @@ -103,75 +103,6 @@ changeAngle: rts -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; kbdScan -; Processes keyboard input -; -; Trashes A -; - -kbdScan: - EMULATION - -kbdScanLoop: - lda KBD - bpl kbdScanDone - sta KBDSTROBE - - cmp #(8 + $80) - beq kbdScanLeftArrow - cmp #(21 + $80) - beq kbdScanRightArrow - cmp #(' ' + $80) - beq kbdScanSpace - cmp #('a' + $80) - beq kbdScanA - cmp #('z' + $80) - beq kbdScanZ - -kbdScanDone: - NATIVE - rts - -kbdScanRightArrow: - NATIVE - lda mapScrollPos - cmp #VISIBLETERRAINWIDTH-VISIBLETERRAINWINDOW - beq kbdScanDone - inc - inc - sta mapScrollRequested - rts - -kbdScanLeftArrow: - NATIVE - lda mapScrollPos - beq kbdScanDone - dec - dec - sta mapScrollRequested - rts - -kbdScanSpace: - NATIVE - lda #1 - sta quitRequested - rts - -kbdScanA: - NATIVE - lda #1 - sta angleDeltaRequested - rts - -kbdScanZ: - NATIVE - lda #-1 - sta angleDeltaRequested - rts - - - basePalette: .word $0000,$0080,$0000,$000F,$0FFF,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF quitRequested: @@ -182,6 +113,8 @@ angleDeltaRequested: .word $0000 terrainDirty: .word 1 +activePlayer: + .word 0 ; Position of map viewing window. Can be visualized in two ways: ; a) Word-distance from right edge of terrain data (which is in memory right-to-left) to left edge of visible screen diff --git a/gscats.2mg b/gscats.2mg index 7128a34944b72a3c648643915aeaf65c5ac18bcc..69fce4f5ba84c5bd2cf2816ab77d4e087d248906 100644 GIT binary patch delta 310 zcmX@mV056tXhRmO;Fe$peq|A128P2793TeMWJji>n;qE1>KGd~hqsh-Glot+-){~i z*(W$MhHmzp;N#2~zIoc^cveR3$=_}$1qMcc;8chgoD&$W@Fr9tGJ36Vv;ngML-bnz z=nu>aQqgO@qd#2t3E@y+5b6z$=IRZPR@f)F^8f!{-{_T$484KT2@4n)Rw*101yTxM zL+AKUzHrkZ>XE^Eh64`-B>DvoJUH3$LHXp=5Bw(=e9$=g@PqEjUmuJP86+GsSQ{FB zGJxU3XDKP5VG#a@XI54a4#;qCkSK`Z4`u)@^^cxBF;{-G!o=U=&Agx5c|S1%F%u9o c12GE_vjQ<25VHd@2M}`tG1qq9Pu#|R0AI9yQUCw| delta 319 zcmX@mV056tXhRmO;J#o6eq}2m28P2793TeMWJji>n;qE1>KMB=hqsh-GwzyvzTX^3 zvQKbi+_l+rf{!!fp3T!P$Fnj{n*8mCQvHtT51b0|f^&96E4&F+(2icaCE9>lfgyVB zw&)Mc3R2N)H${KA?i0eHz#!DSE1Ii!Pqe~5!Il62_il+^$;i;VBRXLL1H&qXrF9%m&2lK+FNeoIuRAo%a*BaUTGO?21$X diff --git a/gscats.s b/gscats.s index 58af01b..54a1ad2 100644 --- a/gscats.s +++ b/gscats.s @@ -36,6 +36,8 @@ quitGame: .include "utility.s" .include "tables.s" .include "gamemanager.s" +.include "input.s" + endMainBank2: diff --git a/input.s b/input.s new file mode 100644 index 0000000..520599b --- /dev/null +++ b/input.s @@ -0,0 +1,74 @@ +; +; input +; Code related to handling input +; +; Created by Quinn Dunki on 8/15/17 +; + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; kbdScan +; Processes keyboard input +; +; Trashes A +; + +kbdScan: + BITS8 + lda KBD + bpl kbdScanDone + sta KBDSTROBE + + cmp #(8 + $80) + beq kbdScanLeftArrow + cmp #(21 + $80) + beq kbdScanRightArrow + cmp #(' ' + $80) + beq kbdScanSpace + cmp #('a' + $80) + beq kbdScanA + cmp #('z' + $80) + beq kbdScanZ + +kbdScanDone: + BITS16 + rts + +kbdScanRightArrow: + BITS16 + lda mapScrollPos + cmp #VISIBLETERRAINWIDTH-VISIBLETERRAINWINDOW + beq kbdScanDone + inc + inc + sta mapScrollRequested + rts + +kbdScanLeftArrow: + BITS16 + + lda mapScrollPos + beq kbdScanDone + dec + dec + sta mapScrollRequested + rts + +kbdScanSpace: + BITS16 + + lda #1 + sta quitRequested + rts + +kbdScanA: + BITS16 + lda #1 + sta angleDeltaRequested + rts + +kbdScanZ: + BITS16 + lda #-1 + sta angleDeltaRequested + rts +