.org $c000 FrogY: .db 0 FrogX: .db 0 FrogDir: .db 0 FrogFrame: .dw 0 FrameCounter: .db 0 TextRow: .dw 0 TextCol: .dw 0 KeyRepeat: ;stores counter to slow down repeating presses .dw 0 KeyFlag: ;read to get keypresses .db 0 OldKey: ;prevents buttons from being held down .db 0 XIndex: ;current x position for doublesize draw .dw 0 ImageWidth: ;image width .dw 0 DrawRowIndex: ;holds offset in drawrow .dw 0 DrawRowData: ;160 bytes for double size line .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 BackgroundData: .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0,0 Lane1Y: ;y location for lane .db 0 Lane1Timer: ;inc every int, on overflow car X is inc/dec then reset to speed .db 0 Lane2Y: ;y location for lane .db 0 Lane2Timer: ;inc every int, on overflow car X is inc/dec then reset to speed .db 0 Lane3Y: ;y location for lane .db 0 Lane3Timer: ;inc every int, on overflow car X is inc/dec then reset to speed .db 0 Lane1Count: ;5 max number of vehicles per Lane .db 0 Lane1Dir: ;defines Lane left/right direction .db 0 Lane1Speed: ;timer is reset to this value .db 0 Lane1Car1Sprite: ;pointer to car sprite .dw 0 Lane1Car2Sprite: ;pointer to car sprite .dw 0 Lane1Car3Sprite: ;pointer to car sprite .dw 0 Lane1Car4Sprite: ;pointer to car sprite .dw 0 Lane1Car5Sprite: ;pointer to car sprite .dw 0 Lane1Car1X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane1Car2X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane1Car3X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane1Car4X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane1Car5X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane2Count: ;5 max number of vehicles per Lane .db 0 Lane2Dir: ;defines Lane left/right direction .db 0 Lane2Speed: ;timer is reset to this value .db 0 Lane2Car1Sprite: ;pointer to car sprite .dw 0 Lane2Car2Sprite: ;pointer to car sprite .dw 0 Lane2Car3Sprite: ;pointer to car sprite .dw 0 Lane2Car4Sprite: ;pointer to car sprite .dw 0 Lane2Car5Sprite: ;pointer to car sprite .dw 0 Lane2Car1X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane2Car2X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane2Car3X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane2Car4X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane2Car5X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane3Count: ;5 max number of vehicles per Lane .db 0 Lane3Dir: ;defines Lane left/right direction .db 0 Lane3Speed: ;timer is reset to this value .db 0 Lane3Car1Sprite: ;pointer to car sprite .dw 0 Lane3Car2Sprite: ;pointer to car sprite .dw 0 Lane3Car3Sprite: ;pointer to car sprite .dw 0 Lane3Car4Sprite: ;pointer to car sprite .dw 0 Lane3Car5Sprite: ;pointer to car sprite .dw 0 Lane3Car1X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane3Car2X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane3Car3X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane3Car4X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Lane3Car5X: ;inc/dec on timeout, 0-255, car is only drawn when on screen .db 0 Stream1Count: ;6 max number of objects per Stream .db 0 Stream1Y: ;y location for Stream .db 0 Stream1Timer: ;inc every int, on overflow object X is inc/dec then reset to speed .db 0 Stream1Anim: ;animation value for turtles and with $07 to get 0-7 .db 0 Stream1AnimTimer: ;on overflow anim value is inced, changing sprites value .dw 0 Stream2Count: ;6 max number of object per Stream .db 0 Stream2Y: ;y location for Stream .db 0 Stream2Timer: ;inc every int, on overflow object X is inc/dec then reset to speed .db 0 Stream2Anim: ;animation value for turtles and with $07 to get 0-7 .db 0 Stream2AnimTimer: ;on overflow anim value is inced, changing sprites value .dw 0 Stream3Count: ;6 max number of vehicles per Stream .db 0 Stream3Y: ;y location for Stream .db 0 Stream3Timer: ;inc every int, on overflow Object X is inc/dec then reset to speed .db 0 Stream3Anim: ;animation value for turtles and with $07 to get 0-7 .db 0 Stream3AnimTimer: ;on overflow anim value is inced, changing sprites value .dw 0 Stream1Dir: ;defines Stream left/right direction .db 0 Stream1Speed: ;timer is reset to this value .db 0 Stream1AnimSpeed: ;animtimer is reset to this value .dw 0 Stream1Object1Sprite: ;0=log 1=turtle .db 0 Stream1Object2Sprite: ;0=log 1=turtle .db 0 Stream1Object3Sprite: ;0=log 1=turtle .db 0 Stream1Object4Sprite: ;0=log 1=turtle .db 0 Stream1Object5Sprite: ;0=log 1=turtle .db 0 Stream1Object6Sprite: ;0=log 1=turtle .db 0 Stream1Object1X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream1Object2X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream1Object3X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream1Object4X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream1Object5X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream1Object6X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream2Dir: ;defines Stream left/right direction .db 0 Stream2Speed: ;timer is reset to this value .db 0 Stream2AnimSpeed: ;animtimer is reset to this value .dw 0 Stream2Object1Sprite: ;0=log 1=turtle .db 0 Stream2Object2Sprite: ;0=log 1=turtle .db 0 Stream2Object3Sprite: ;0=log 1=turtle .db 0 Stream2Object4Sprite: ;0=log 1=turtle .db 0 Stream2Object5Sprite: ;0=log 1=turtle .db 0 Stream2Object6Sprite: ;0=log 1=turtle .db 0 Stream2Object1X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream2Object2X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream2Object3X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream2Object4X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream2Object5X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream2Object6X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 Stream3Dir: ;defines Stream left/right direction .db 0 Stream3Speed: ;timer is reset to this value .db 0 Stream3AnimSpeed: ;animtimer is reset to this value .dw 0 Stream3Object1Sprite: ;0=log 1=turtle .db 0 Stream3Object2Sprite: ;0=log 1=turtle .db 0 Stream3Object3Sprite: ;0=log 1=turtle .db 0 Stream3Object4Sprite: ;0=log 1=turtle .db 0 Stream3Object5Sprite: ;0=log 1=turtle .db 0 Stream3Object6Sprite: ;0=log 1=turtle .db 0 Stream3Object1X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream3Object2X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream3Object3X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream3Object4X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream3Object5X: ;inc/dec on timeout, 0-255, Object is only drawn when on screen .db 0 Stream3Object6X: ;inc/dec on timeout, 0-255, object is only drawn when on screen .db 0 VehicleX: ;stores vehicle x location for collision purposes .db 0 VehicleDir: ;stores vehicle direction for collision purposes .db 0 CollisionOccured: ;set if collision .db 0 FrogMoving: ;set while frog is moving .db 0 Hole1: ;object located in hole .db 0 Hole2: ;object located in hole .db 0 Hole3: ;object located in hole .db 0 Hole4: ;object located in hole .db 0 Hole5: ;object located in hole .db 0 HighScoreTable: ;holds high score data .dw 0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0 Score: ;3 bytes .db 0,0,0 Level: ;1 byte for level (00-99) .db 0 StringRam: ;10 bytes for creating string + null .db 0,0,0,0,0,0,0,0,0,0,0 WaitKey ;byte to hold key press for wait routine .db 0 CharCursor: ;byte to hold cursor position 0-9 .db 0 ImagePalette: ;word to hold pointer to palette .dw 0 FlyTimer: ;on expiration add fly to random open slot or remove fly .dw 0 AlligatorTimer: ;on expiration add alligator to random open slot or remove alligator .dw 0 Lives: ;keeps track of how many lives are left .db 0 Life1BG: ;saves background for lives .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0 Life2BG: .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0 Life3BG: .dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0,0,0,0,0 RandIndex: ;holds index of random values .dw 0 RandOld: ;holds last rand value in hopes of not repeating a value .db 0 .end