RNG Improvement
This commit is contained in:
		
							parent
							
								
									b387bcebc2
								
							
						
					
					
						commit
						32d09d59e0
					
				
							
								
								
									
										
											BIN
										
									
								
								bin/DMGTRIS.GBC
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/DMGTRIS.GBC
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										333
									
								
								bin/DMGTRIS.map
								
								
								
								
							
							
						
						
									
										333
									
								
								bin/DMGTRIS.map
								
								
								
								
							| 
						 | 
					@ -274,172 +274,173 @@ ROM0 bank #0:
 | 
				
			||||||
	         $2394 = SFXPlay.getRegister
 | 
						         $2394 = SFXPlay.getRegister
 | 
				
			||||||
	         $239e = !26
 | 
						         $239e = !26
 | 
				
			||||||
	         $23a8 = SFXPlay.savePlayhead
 | 
						         $23a8 = SFXPlay.savePlayhead
 | 
				
			||||||
	SECTION: $23b1-$25a5 ($01f5 bytes) ["RNG Functions"]
 | 
						SECTION: $23b1-$25cf ($021f bytes) ["RNG Functions"]
 | 
				
			||||||
	         $23b1 = HarvestEntropy
 | 
						         $23b1 = HarvestEntropy
 | 
				
			||||||
	         $23b2 = RNGInit
 | 
						         $23b7 = HarvestEntropy.loop
 | 
				
			||||||
	         $23e8 = !0
 | 
						         $23dc = RNGInit
 | 
				
			||||||
	         $2403 = RNGInit.complexinit
 | 
						         $2412 = !0
 | 
				
			||||||
	         $241a = !1
 | 
						         $242d = RNGInit.complexinit
 | 
				
			||||||
	         $2434 = ShiftHistory
 | 
						         $2444 = !1
 | 
				
			||||||
	         $2451 = GetNextHellPiece
 | 
						         $245e = ShiftHistory
 | 
				
			||||||
	         $2456 = GetNextTGM1Piece
 | 
						         $247b = GetNextHellPiece
 | 
				
			||||||
	         $2459 = !2
 | 
						         $2480 = GetNextTGM1Piece
 | 
				
			||||||
	         $2471 = !3
 | 
						         $2483 = !2
 | 
				
			||||||
	         $2473 = GetNextTGM2Piece
 | 
						         $249b = !3
 | 
				
			||||||
	         $2476 = !4
 | 
						         $249d = GetNextTGM2Piece
 | 
				
			||||||
	         $248e = !5
 | 
						         $24a0 = !4
 | 
				
			||||||
	         $2490 = GetNextNesPiece
 | 
						         $24b8 = !5
 | 
				
			||||||
	         $249e = GetNextTGM3Piece
 | 
						         $24ba = GetNextNesPiece
 | 
				
			||||||
	         $24a1 = !6
 | 
						         $24c8 = GetNextTGM3Piece
 | 
				
			||||||
	         $24c4 = !7
 | 
						         $24cb = !6
 | 
				
			||||||
	         $24c7 = !8
 | 
						         $24ee = !7
 | 
				
			||||||
	         $24d7 = !9
 | 
						         $24f1 = !8
 | 
				
			||||||
	         $24e1 = !10
 | 
						         $2501 = !9
 | 
				
			||||||
	         $24ef = !11
 | 
						         $250b = !10
 | 
				
			||||||
	         $24fe = !12
 | 
						         $2519 = !11
 | 
				
			||||||
	         $250a = !13
 | 
						         $2528 = !12
 | 
				
			||||||
	         $2516 = !14
 | 
						         $2534 = !13
 | 
				
			||||||
	         $2522 = !15
 | 
						         $2540 = !14
 | 
				
			||||||
	         $252e = !16
 | 
						         $254c = !15
 | 
				
			||||||
	         $253a = !17
 | 
						         $2558 = !16
 | 
				
			||||||
	         $2546 = !18
 | 
						         $2564 = !17
 | 
				
			||||||
	         $2555 = GetNextPiece
 | 
						         $2570 = !18
 | 
				
			||||||
	         $2563 = GetNextPiece.nextpiecejumps
 | 
						         $257f = GetNextPiece
 | 
				
			||||||
	         $2572 = Next35Piece
 | 
						         $258d = GetNextPiece.nextpiecejumps
 | 
				
			||||||
	         $2572 = !19
 | 
						         $259c = Next35Piece
 | 
				
			||||||
	         $257c = Next7Piece
 | 
						         $259c = !19
 | 
				
			||||||
	         $257c = !20
 | 
						         $25a6 = Next7Piece
 | 
				
			||||||
	         $2586 = NextByte
 | 
						         $25a6 = !20
 | 
				
			||||||
	SECTION: $25a6-$2748 ($01a3 bytes) ["Level Functions"]
 | 
						         $25b0 = NextByte
 | 
				
			||||||
	         $25a6 = LevelInit
 | 
						SECTION: $25d0-$2772 ($01a3 bytes) ["Level Functions"]
 | 
				
			||||||
	         $25f6 = LevelUp
 | 
						         $25d0 = LevelInit
 | 
				
			||||||
	         $261a = LevelUp.doit
 | 
						         $2620 = LevelUp
 | 
				
			||||||
	         $265e = LevelUp.checknlevel
 | 
						         $2644 = LevelUp.doit
 | 
				
			||||||
	         $268c = !0
 | 
						         $2688 = LevelUp.checknlevel
 | 
				
			||||||
	         $26a4 = !1
 | 
						         $26b6 = !0
 | 
				
			||||||
	         $26ad = LevelUp.bellmaybe
 | 
						         $26ce = !1
 | 
				
			||||||
	         $26bf = LevelUp.leveljinglemaybe
 | 
						         $26d7 = LevelUp.bellmaybe
 | 
				
			||||||
	         $26cc = LevelUp.checkspeedup
 | 
						         $26e9 = LevelUp.leveljinglemaybe
 | 
				
			||||||
	         $26dd = !2
 | 
						         $26f6 = LevelUp.checkspeedup
 | 
				
			||||||
	         $26ea = !3
 | 
						         $2707 = !2
 | 
				
			||||||
	         $26fb = !4
 | 
						         $2714 = !3
 | 
				
			||||||
	         $2708 = DoSpeedUp
 | 
						         $2725 = !4
 | 
				
			||||||
	SECTION: $2749-$2892 ($014a bytes) ["Progress Data"]
 | 
						         $2732 = DoSpeedUp
 | 
				
			||||||
	         $2749 = sProgressData
 | 
						SECTION: $2773-$28bc ($014a bytes) ["Progress Data"]
 | 
				
			||||||
	SECTION: $2893-$2972 ($00e0 bytes) ["Score Functions"]
 | 
						         $2773 = sProgressData
 | 
				
			||||||
	         $2893 = ScoreInit
 | 
						SECTION: $28bd-$299c ($00e0 bytes) ["Score Functions"]
 | 
				
			||||||
	         $28bb = IncreaseScore
 | 
						         $28bd = ScoreInit
 | 
				
			||||||
	         $28f3 = IncreaseScore.doConvert
 | 
						         $28e5 = IncreaseScore
 | 
				
			||||||
	         $28f5 = !0
 | 
						         $291d = IncreaseScore.doConvert
 | 
				
			||||||
	         $290b = IncreaseScore.carry
 | 
						         $291f = !0
 | 
				
			||||||
	         $290d = IncreaseScore.postConvert
 | 
						         $2935 = IncreaseScore.carry
 | 
				
			||||||
	         $291a = !1
 | 
						         $2937 = IncreaseScore.postConvert
 | 
				
			||||||
	         $2921 = IncreaseScore.preAddDigit
 | 
						         $2944 = !1
 | 
				
			||||||
	         $2949 = IncreaseScore.addDigit
 | 
						         $294b = IncreaseScore.preAddDigit
 | 
				
			||||||
	         $295f = IncreaseScore.nextDigit
 | 
						         $2973 = IncreaseScore.addDigit
 | 
				
			||||||
	SECTION: $2973-$2a3f ($00cd bytes) ["Input Functions"]
 | 
						         $2989 = IncreaseScore.nextDigit
 | 
				
			||||||
	         $2973 = InputInit
 | 
						SECTION: $299d-$2a69 ($00cd bytes) ["Input Functions"]
 | 
				
			||||||
	         $2985 = GetInput
 | 
						         $299d = InputInit
 | 
				
			||||||
	         $2985 = GetInput.btns
 | 
						         $29af = GetInput
 | 
				
			||||||
	         $2992 = GetInput.readA
 | 
						         $29af = GetInput.btns
 | 
				
			||||||
	         $2996 = GetInput.setA
 | 
						         $29bc = GetInput.readA
 | 
				
			||||||
	         $29a1 = GetInput.clearA
 | 
						         $29c0 = GetInput.setA
 | 
				
			||||||
	         $29a4 = GetInput.readB
 | 
						         $29cb = GetInput.clearA
 | 
				
			||||||
	         $29a8 = GetInput.setB
 | 
						         $29ce = GetInput.readB
 | 
				
			||||||
	         $29b3 = GetInput.clearB
 | 
						         $29d2 = GetInput.setB
 | 
				
			||||||
	         $29b6 = GetInput.readSelect
 | 
						         $29dd = GetInput.clearB
 | 
				
			||||||
	         $29ba = GetInput.setSelect
 | 
						         $29e0 = GetInput.readSelect
 | 
				
			||||||
	         $29c5 = GetInput.clearSelect
 | 
						         $29e4 = GetInput.setSelect
 | 
				
			||||||
	         $29c8 = GetInput.readStart
 | 
						         $29ef = GetInput.clearSelect
 | 
				
			||||||
	         $29cc = GetInput.setStart
 | 
						         $29f2 = GetInput.readStart
 | 
				
			||||||
	         $29d7 = GetInput.clearStart
 | 
						         $29f6 = GetInput.setStart
 | 
				
			||||||
	         $29da = GetInput.dpad
 | 
						         $2a01 = GetInput.clearStart
 | 
				
			||||||
	         $29e7 = GetInput.readUp
 | 
						         $2a04 = GetInput.dpad
 | 
				
			||||||
	         $29eb = GetInput.setUp
 | 
						         $2a11 = GetInput.readUp
 | 
				
			||||||
	         $29f6 = GetInput.clearUp
 | 
						         $2a15 = GetInput.setUp
 | 
				
			||||||
	         $29f9 = GetInput.readDown
 | 
						         $2a20 = GetInput.clearUp
 | 
				
			||||||
	         $29fd = GetInput.setDown
 | 
						         $2a23 = GetInput.readDown
 | 
				
			||||||
	         $2a08 = GetInput.clearDown
 | 
						         $2a27 = GetInput.setDown
 | 
				
			||||||
	         $2a0b = GetInput.readLeft
 | 
						         $2a32 = GetInput.clearDown
 | 
				
			||||||
	         $2a0f = GetInput.setLeft
 | 
						         $2a35 = GetInput.readLeft
 | 
				
			||||||
	         $2a1a = GetInput.clearLeft
 | 
						         $2a39 = GetInput.setLeft
 | 
				
			||||||
	         $2a1d = GetInput.readRight
 | 
						         $2a44 = GetInput.clearLeft
 | 
				
			||||||
	         $2a21 = GetInput.setRight
 | 
						         $2a47 = GetInput.readRight
 | 
				
			||||||
	         $2a2c = GetInput.clearRight
 | 
						         $2a4b = GetInput.setRight
 | 
				
			||||||
	         $2a2f = GetInput.priorities
 | 
						         $2a56 = GetInput.clearRight
 | 
				
			||||||
	         $2a3a = GetInput.zero
 | 
						         $2a59 = GetInput.priorities
 | 
				
			||||||
	SECTION: $2a40-$2af6 ($00b7 bytes) ["SRAM Functions"]
 | 
						         $2a64 = GetInput.zero
 | 
				
			||||||
	         $2a40 = RestoreSRAM
 | 
						SECTION: $2a6a-$2b20 ($00b7 bytes) ["SRAM Functions"]
 | 
				
			||||||
	         $2a99 = InitializeSRAM
 | 
						         $2a6a = RestoreSRAM
 | 
				
			||||||
	SECTION: $2af7-$2ba8 ($00b2 bytes) ["Progress Functions"]
 | 
						         $2ac3 = InitializeSRAM
 | 
				
			||||||
	         $2af7 = SetProgress
 | 
						SECTION: $2b21-$2bd2 ($00b2 bytes) ["Progress Functions"]
 | 
				
			||||||
	         $2b02 = SetProgress.loop
 | 
						         $2b21 = SetProgress
 | 
				
			||||||
	         $2b06 = SetProgress.correct
 | 
						         $2b2c = SetProgress.loop
 | 
				
			||||||
	         $2b2d = SetProgress.wvr_u1
 | 
						         $2b30 = SetProgress.correct
 | 
				
			||||||
	         $2b39 = SetProgress.wvr_u2
 | 
						         $2b57 = SetProgress.wvr_u1
 | 
				
			||||||
	         $2b47 = SetProgress.wvr_u3
 | 
						         $2b63 = SetProgress.wvr_u2
 | 
				
			||||||
	         $2b53 = SetProgress.wvr_u4
 | 
						         $2b71 = SetProgress.wvr_u3
 | 
				
			||||||
	         $2b61 = SetProgress.wvr_u5
 | 
						         $2b7d = SetProgress.wvr_u4
 | 
				
			||||||
	         $2b6d = SetProgress.wvr_u6
 | 
						         $2b8b = SetProgress.wvr_u5
 | 
				
			||||||
	         $2b7b = SetProgress.wvr_u7
 | 
						         $2b97 = SetProgress.wvr_u6
 | 
				
			||||||
	         $2b87 = SetProgress.wvr_u8
 | 
						         $2ba5 = SetProgress.wvr_u7
 | 
				
			||||||
	         $2b95 = SetProgress.wvr_u9
 | 
						         $2bb1 = SetProgress.wvr_u8
 | 
				
			||||||
	         $2ba1 = SetProgress.wvr_u10
 | 
						         $2bbf = SetProgress.wvr_u9
 | 
				
			||||||
	SECTION: $2ba9-$2c4c ($00a4 bytes) ["Code Entry Point"]
 | 
						         $2bcb = SetProgress.wvr_u10
 | 
				
			||||||
	         $2ba9 = Main
 | 
						SECTION: $2bd3-$2c79 ($00a7 bytes) ["Code Entry Point"]
 | 
				
			||||||
	         $2bbe = Main.wvr_u1
 | 
						         $2bd3 = Main
 | 
				
			||||||
	         $2bc7 = !0
 | 
						         $2bf9 = Main.wvr_u1
 | 
				
			||||||
	         $2bd7 = Main.notgbc
 | 
						         $2c02 = !0
 | 
				
			||||||
	         $2c06 = Main.wvb_u2
 | 
						         $2c12 = Main.notgbc
 | 
				
			||||||
	         $2c0b = !1
 | 
						         $2c33 = Main.wvb_u2
 | 
				
			||||||
	         $2c11 = EventLoop
 | 
						         $2c38 = !1
 | 
				
			||||||
	         $2c27 = EventLoop.eventloopjumps
 | 
						         $2c3e = EventLoop
 | 
				
			||||||
	         $2c30 = EventLoopPostHandler
 | 
						         $2c54 = EventLoop.eventloopjumps
 | 
				
			||||||
	         $2c32 = EventLoopPostHandler.wvb_u3
 | 
						         $2c5d = EventLoopPostHandler
 | 
				
			||||||
	         $2c44 = EventLoopPostHandler.vblankjumps
 | 
						         $2c5f = EventLoopPostHandler.wvb_u3
 | 
				
			||||||
	SECTION: $2c4d-$2cd4 ($0088 bytes) ["Time Functions"]
 | 
						         $2c71 = EventLoopPostHandler.vblankjumps
 | 
				
			||||||
	         $2c4d = TimeInit
 | 
						SECTION: $2c7a-$2d01 ($0088 bytes) ["Time Functions"]
 | 
				
			||||||
	         $2c62 = ResetGameTime
 | 
						         $2c7a = TimeInit
 | 
				
			||||||
	         $2c6d = CheckTorikan
 | 
						         $2c8f = ResetGameTime
 | 
				
			||||||
	         $2c84 = CheckTorikan.failure
 | 
						         $2c9a = CheckTorikan
 | 
				
			||||||
	         $2c86 = CheckTorikan.success
 | 
						         $2cb1 = CheckTorikan.failure
 | 
				
			||||||
	         $2c89 = HandleTimers
 | 
						         $2cb3 = CheckTorikan.success
 | 
				
			||||||
	         $2cb1 = HandleTimers.go
 | 
						         $2cb6 = HandleTimers
 | 
				
			||||||
	SECTION: $2cd5-$2d42 ($006e bytes) ["Title Function Trampolines"]
 | 
						         $2cde = HandleTimers.go
 | 
				
			||||||
	         $2cd5 = SwitchToTitle
 | 
						SECTION: $2d02-$2d6f ($006e bytes) ["Title Function Trampolines"]
 | 
				
			||||||
	         $2cdf = TitleEventLoopHandler
 | 
						         $2d02 = SwitchToTitle
 | 
				
			||||||
	         $2ce9 = TitleVBlankHandler
 | 
						         $2d0c = TitleEventLoopHandler
 | 
				
			||||||
	         $2cf3 = DrawOption6
 | 
						         $2d16 = TitleVBlankHandler
 | 
				
			||||||
	SECTION: $2d43-$2d94 ($0052 bytes) ["Tile Functions"]
 | 
						         $2d20 = DrawOption6
 | 
				
			||||||
	         $2d43 = LoadTitleTiles
 | 
						SECTION: $2d70-$2dc1 ($0052 bytes) ["Tile Functions"]
 | 
				
			||||||
	         $2d61 = LoadGameplayTiles
 | 
						         $2d70 = LoadTitleTiles
 | 
				
			||||||
	         $2d77 = LoadGameplayTiles.gbc
 | 
						         $2d8e = LoadGameplayTiles
 | 
				
			||||||
	         $2d86 = LoadGameplayTiles.dmg
 | 
						         $2da4 = LoadGameplayTiles.gbc
 | 
				
			||||||
	SECTION: $2d95-$2dd0 ($003c bytes) ["Time Data"]
 | 
						         $2db3 = LoadGameplayTiles.dmg
 | 
				
			||||||
	         $2d95 = sFramesToCS
 | 
						SECTION: $2dc2-$2dfd ($003c bytes) ["Time Data"]
 | 
				
			||||||
	SECTION: $2dd1-$2dfe ($002e bytes) ["Memory Functions"]
 | 
						         $2dc2 = sFramesToCS
 | 
				
			||||||
	         $2dd1 = UnsafeMemCopy
 | 
						SECTION: $2dfe-$2e2b ($002e bytes) ["Memory Functions"]
 | 
				
			||||||
	         $2dda = SafeMemCopy.wvr_u1
 | 
						         $2dfe = UnsafeMemCopy
 | 
				
			||||||
	         $2dda = SafeMemCopy
 | 
						         $2e07 = SafeMemCopy.wvr_u1
 | 
				
			||||||
	         $2de9 = UnsafeMemSet
 | 
						         $2e07 = SafeMemCopy
 | 
				
			||||||
	         $2df1 = SafeMemSet
 | 
						         $2e16 = UnsafeMemSet
 | 
				
			||||||
	         $2df1 = SafeMemSet.wvr_u2
 | 
						         $2e1e = SafeMemSet
 | 
				
			||||||
	SECTION: $2dff-$2e26 ($0028 bytes) ["Gameplay Function Trampolines"]
 | 
						         $2e1e = SafeMemSet.wvr_u2
 | 
				
			||||||
	         $2dff = SwitchToGameplay
 | 
						SECTION: $2e2c-$2e53 ($0028 bytes) ["Gameplay Function Trampolines"]
 | 
				
			||||||
	         $2e09 = SwitchToGameplayBig
 | 
						         $2e2c = SwitchToGameplay
 | 
				
			||||||
	         $2e13 = GamePlayEventLoopHandler
 | 
						         $2e36 = SwitchToGameplayBig
 | 
				
			||||||
	         $2e1d = GamePlayBigEventLoopHandler
 | 
						         $2e40 = GamePlayEventLoopHandler
 | 
				
			||||||
	SECTION: $2e27-$2e48 ($0022 bytes) ["OAM Functions"]
 | 
						         $2e4a = GamePlayBigEventLoopHandler
 | 
				
			||||||
	         $2e27 = CopyOAMHandler
 | 
						SECTION: $2e54-$2e75 ($0022 bytes) ["OAM Functions"]
 | 
				
			||||||
	         $2e33 = ClearOAM
 | 
						         $2e54 = CopyOAMHandler
 | 
				
			||||||
	SECTION: $2e49-$2e61 ($0019 bytes) ["Interrupt Initialization Functions"]
 | 
						         $2e60 = ClearOAM
 | 
				
			||||||
	         $2e49 = IntrInit
 | 
						SECTION: $2e76-$2e8e ($0019 bytes) ["Interrupt Initialization Functions"]
 | 
				
			||||||
	         $2e4d = InitializeLCDCInterrupt
 | 
						         $2e76 = IntrInit
 | 
				
			||||||
	SECTION: $2e62-$2e6b ($000a bytes) ["OAM DMA Code"]
 | 
						         $2e7a = InitializeLCDCInterrupt
 | 
				
			||||||
	         $2e62 = OAMDMA
 | 
						SECTION: $2e8f-$2e98 ($000a bytes) ["OAM DMA Code"]
 | 
				
			||||||
	         $2e6c = OAMDMAEnd
 | 
						         $2e8f = OAMDMA
 | 
				
			||||||
	EMPTY: $2e6c-$3fff ($1194 bytes)
 | 
						         $2e99 = OAMDMAEnd
 | 
				
			||||||
	TOTAL EMPTY: $119f bytes
 | 
						EMPTY: $2e99-$3fff ($1167 bytes)
 | 
				
			||||||
 | 
						TOTAL EMPTY: $1172 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ROMX bank #1:
 | 
					ROMX bank #1:
 | 
				
			||||||
	SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
 | 
						SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
 | 
				
			||||||
| 
						 | 
					@ -2464,7 +2465,7 @@ HRAM bank #0:
 | 
				
			||||||
	TOTAL EMPTY: $0003 bytes
 | 
						TOTAL EMPTY: $0003 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SUMMARY:
 | 
					SUMMARY:
 | 
				
			||||||
	ROM0: 11873 bytes used / 4511 free
 | 
						ROM0: 11918 bytes used / 4466 free
 | 
				
			||||||
	ROMX: 56523 bytes used / 41781 free in 6 banks
 | 
						ROMX: 56523 bytes used / 41781 free in 6 banks
 | 
				
			||||||
	SRAM: 14 bytes used / 8178 free in 1 bank
 | 
						SRAM: 14 bytes used / 8178 free in 1 bank
 | 
				
			||||||
	WRAM0: 3515 bytes used / 581 free
 | 
						WRAM0: 3515 bytes used / 581 free
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										233
									
								
								bin/DMGTRIS.sym
								
								
								
								
							
							
						
						
									
										233
									
								
								bin/DMGTRIS.sym
								
								
								
								
							| 
						 | 
					@ -210,122 +210,123 @@
 | 
				
			||||||
00:2394 SFXPlay.getRegister
 | 
					00:2394 SFXPlay.getRegister
 | 
				
			||||||
00:23a8 SFXPlay.savePlayhead
 | 
					00:23a8 SFXPlay.savePlayhead
 | 
				
			||||||
00:23b1 HarvestEntropy
 | 
					00:23b1 HarvestEntropy
 | 
				
			||||||
00:23b2 RNGInit
 | 
					00:23b7 HarvestEntropy.loop
 | 
				
			||||||
00:2403 RNGInit.complexinit
 | 
					00:23dc RNGInit
 | 
				
			||||||
00:2434 ShiftHistory
 | 
					00:242d RNGInit.complexinit
 | 
				
			||||||
00:2451 GetNextHellPiece
 | 
					00:245e ShiftHistory
 | 
				
			||||||
00:2456 GetNextTGM1Piece
 | 
					00:247b GetNextHellPiece
 | 
				
			||||||
00:2473 GetNextTGM2Piece
 | 
					00:2480 GetNextTGM1Piece
 | 
				
			||||||
00:2490 GetNextNesPiece
 | 
					00:249d GetNextTGM2Piece
 | 
				
			||||||
00:249e GetNextTGM3Piece
 | 
					00:24ba GetNextNesPiece
 | 
				
			||||||
00:2555 GetNextPiece
 | 
					00:24c8 GetNextTGM3Piece
 | 
				
			||||||
00:2563 GetNextPiece.nextpiecejumps
 | 
					00:257f GetNextPiece
 | 
				
			||||||
00:2572 Next35Piece
 | 
					00:258d GetNextPiece.nextpiecejumps
 | 
				
			||||||
00:257c Next7Piece
 | 
					00:259c Next35Piece
 | 
				
			||||||
00:2586 NextByte
 | 
					00:25a6 Next7Piece
 | 
				
			||||||
00:25a6 LevelInit
 | 
					00:25b0 NextByte
 | 
				
			||||||
00:25f6 LevelUp
 | 
					00:25d0 LevelInit
 | 
				
			||||||
00:261a LevelUp.doit
 | 
					00:2620 LevelUp
 | 
				
			||||||
00:265e LevelUp.checknlevel
 | 
					00:2644 LevelUp.doit
 | 
				
			||||||
00:26ad LevelUp.bellmaybe
 | 
					00:2688 LevelUp.checknlevel
 | 
				
			||||||
00:26bf LevelUp.leveljinglemaybe
 | 
					00:26d7 LevelUp.bellmaybe
 | 
				
			||||||
00:26cc LevelUp.checkspeedup
 | 
					00:26e9 LevelUp.leveljinglemaybe
 | 
				
			||||||
00:2708 DoSpeedUp
 | 
					00:26f6 LevelUp.checkspeedup
 | 
				
			||||||
00:2749 sProgressData
 | 
					00:2732 DoSpeedUp
 | 
				
			||||||
00:2893 ScoreInit
 | 
					00:2773 sProgressData
 | 
				
			||||||
00:28bb IncreaseScore
 | 
					00:28bd ScoreInit
 | 
				
			||||||
00:28f3 IncreaseScore.doConvert
 | 
					00:28e5 IncreaseScore
 | 
				
			||||||
00:290b IncreaseScore.carry
 | 
					00:291d IncreaseScore.doConvert
 | 
				
			||||||
00:290d IncreaseScore.postConvert
 | 
					00:2935 IncreaseScore.carry
 | 
				
			||||||
00:2921 IncreaseScore.preAddDigit
 | 
					00:2937 IncreaseScore.postConvert
 | 
				
			||||||
00:2949 IncreaseScore.addDigit
 | 
					00:294b IncreaseScore.preAddDigit
 | 
				
			||||||
00:295f IncreaseScore.nextDigit
 | 
					00:2973 IncreaseScore.addDigit
 | 
				
			||||||
00:2973 InputInit
 | 
					00:2989 IncreaseScore.nextDigit
 | 
				
			||||||
00:2985 GetInput
 | 
					00:299d InputInit
 | 
				
			||||||
00:2985 GetInput.btns
 | 
					00:29af GetInput
 | 
				
			||||||
00:2992 GetInput.readA
 | 
					00:29af GetInput.btns
 | 
				
			||||||
00:2996 GetInput.setA
 | 
					00:29bc GetInput.readA
 | 
				
			||||||
00:29a1 GetInput.clearA
 | 
					00:29c0 GetInput.setA
 | 
				
			||||||
00:29a4 GetInput.readB
 | 
					00:29cb GetInput.clearA
 | 
				
			||||||
00:29a8 GetInput.setB
 | 
					00:29ce GetInput.readB
 | 
				
			||||||
00:29b3 GetInput.clearB
 | 
					00:29d2 GetInput.setB
 | 
				
			||||||
00:29b6 GetInput.readSelect
 | 
					00:29dd GetInput.clearB
 | 
				
			||||||
00:29ba GetInput.setSelect
 | 
					00:29e0 GetInput.readSelect
 | 
				
			||||||
00:29c5 GetInput.clearSelect
 | 
					00:29e4 GetInput.setSelect
 | 
				
			||||||
00:29c8 GetInput.readStart
 | 
					00:29ef GetInput.clearSelect
 | 
				
			||||||
00:29cc GetInput.setStart
 | 
					00:29f2 GetInput.readStart
 | 
				
			||||||
00:29d7 GetInput.clearStart
 | 
					00:29f6 GetInput.setStart
 | 
				
			||||||
00:29da GetInput.dpad
 | 
					00:2a01 GetInput.clearStart
 | 
				
			||||||
00:29e7 GetInput.readUp
 | 
					00:2a04 GetInput.dpad
 | 
				
			||||||
00:29eb GetInput.setUp
 | 
					00:2a11 GetInput.readUp
 | 
				
			||||||
00:29f6 GetInput.clearUp
 | 
					00:2a15 GetInput.setUp
 | 
				
			||||||
00:29f9 GetInput.readDown
 | 
					00:2a20 GetInput.clearUp
 | 
				
			||||||
00:29fd GetInput.setDown
 | 
					00:2a23 GetInput.readDown
 | 
				
			||||||
00:2a08 GetInput.clearDown
 | 
					00:2a27 GetInput.setDown
 | 
				
			||||||
00:2a0b GetInput.readLeft
 | 
					00:2a32 GetInput.clearDown
 | 
				
			||||||
00:2a0f GetInput.setLeft
 | 
					00:2a35 GetInput.readLeft
 | 
				
			||||||
00:2a1a GetInput.clearLeft
 | 
					00:2a39 GetInput.setLeft
 | 
				
			||||||
00:2a1d GetInput.readRight
 | 
					00:2a44 GetInput.clearLeft
 | 
				
			||||||
00:2a21 GetInput.setRight
 | 
					00:2a47 GetInput.readRight
 | 
				
			||||||
00:2a2c GetInput.clearRight
 | 
					00:2a4b GetInput.setRight
 | 
				
			||||||
00:2a2f GetInput.priorities
 | 
					00:2a56 GetInput.clearRight
 | 
				
			||||||
00:2a3a GetInput.zero
 | 
					00:2a59 GetInput.priorities
 | 
				
			||||||
00:2a40 RestoreSRAM
 | 
					00:2a64 GetInput.zero
 | 
				
			||||||
00:2a99 InitializeSRAM
 | 
					00:2a6a RestoreSRAM
 | 
				
			||||||
00:2af7 SetProgress
 | 
					00:2ac3 InitializeSRAM
 | 
				
			||||||
00:2b02 SetProgress.loop
 | 
					00:2b21 SetProgress
 | 
				
			||||||
00:2b06 SetProgress.correct
 | 
					00:2b2c SetProgress.loop
 | 
				
			||||||
00:2b2d SetProgress.wvr_u1
 | 
					00:2b30 SetProgress.correct
 | 
				
			||||||
00:2b39 SetProgress.wvr_u2
 | 
					00:2b57 SetProgress.wvr_u1
 | 
				
			||||||
00:2b47 SetProgress.wvr_u3
 | 
					00:2b63 SetProgress.wvr_u2
 | 
				
			||||||
00:2b53 SetProgress.wvr_u4
 | 
					00:2b71 SetProgress.wvr_u3
 | 
				
			||||||
00:2b61 SetProgress.wvr_u5
 | 
					00:2b7d SetProgress.wvr_u4
 | 
				
			||||||
00:2b6d SetProgress.wvr_u6
 | 
					00:2b8b SetProgress.wvr_u5
 | 
				
			||||||
00:2b7b SetProgress.wvr_u7
 | 
					00:2b97 SetProgress.wvr_u6
 | 
				
			||||||
00:2b87 SetProgress.wvr_u8
 | 
					00:2ba5 SetProgress.wvr_u7
 | 
				
			||||||
00:2b95 SetProgress.wvr_u9
 | 
					00:2bb1 SetProgress.wvr_u8
 | 
				
			||||||
00:2ba1 SetProgress.wvr_u10
 | 
					00:2bbf SetProgress.wvr_u9
 | 
				
			||||||
00:2ba9 Main
 | 
					00:2bcb SetProgress.wvr_u10
 | 
				
			||||||
00:2bbe Main.wvr_u1
 | 
					00:2bd3 Main
 | 
				
			||||||
00:2bd7 Main.notgbc
 | 
					00:2bf9 Main.wvr_u1
 | 
				
			||||||
00:2c06 Main.wvb_u2
 | 
					00:2c12 Main.notgbc
 | 
				
			||||||
00:2c11 EventLoop
 | 
					00:2c33 Main.wvb_u2
 | 
				
			||||||
00:2c27 EventLoop.eventloopjumps
 | 
					00:2c3e EventLoop
 | 
				
			||||||
00:2c30 EventLoopPostHandler
 | 
					00:2c54 EventLoop.eventloopjumps
 | 
				
			||||||
00:2c32 EventLoopPostHandler.wvb_u3
 | 
					00:2c5d EventLoopPostHandler
 | 
				
			||||||
00:2c44 EventLoopPostHandler.vblankjumps
 | 
					00:2c5f EventLoopPostHandler.wvb_u3
 | 
				
			||||||
00:2c4d TimeInit
 | 
					00:2c71 EventLoopPostHandler.vblankjumps
 | 
				
			||||||
00:2c62 ResetGameTime
 | 
					00:2c7a TimeInit
 | 
				
			||||||
00:2c6d CheckTorikan
 | 
					00:2c8f ResetGameTime
 | 
				
			||||||
00:2c84 CheckTorikan.failure
 | 
					00:2c9a CheckTorikan
 | 
				
			||||||
00:2c86 CheckTorikan.success
 | 
					00:2cb1 CheckTorikan.failure
 | 
				
			||||||
00:2c89 HandleTimers
 | 
					00:2cb3 CheckTorikan.success
 | 
				
			||||||
00:2cb1 HandleTimers.go
 | 
					00:2cb6 HandleTimers
 | 
				
			||||||
00:2cd5 SwitchToTitle
 | 
					00:2cde HandleTimers.go
 | 
				
			||||||
00:2cdf TitleEventLoopHandler
 | 
					00:2d02 SwitchToTitle
 | 
				
			||||||
00:2ce9 TitleVBlankHandler
 | 
					00:2d0c TitleEventLoopHandler
 | 
				
			||||||
00:2cf3 DrawOption6
 | 
					00:2d16 TitleVBlankHandler
 | 
				
			||||||
00:2d43 LoadTitleTiles
 | 
					00:2d20 DrawOption6
 | 
				
			||||||
00:2d61 LoadGameplayTiles
 | 
					00:2d70 LoadTitleTiles
 | 
				
			||||||
00:2d77 LoadGameplayTiles.gbc
 | 
					00:2d8e LoadGameplayTiles
 | 
				
			||||||
00:2d86 LoadGameplayTiles.dmg
 | 
					00:2da4 LoadGameplayTiles.gbc
 | 
				
			||||||
00:2d95 sFramesToCS
 | 
					00:2db3 LoadGameplayTiles.dmg
 | 
				
			||||||
00:2dd1 UnsafeMemCopy
 | 
					00:2dc2 sFramesToCS
 | 
				
			||||||
00:2dda SafeMemCopy.wvr_u1
 | 
					00:2dfe UnsafeMemCopy
 | 
				
			||||||
00:2dda SafeMemCopy
 | 
					00:2e07 SafeMemCopy.wvr_u1
 | 
				
			||||||
00:2de9 UnsafeMemSet
 | 
					00:2e07 SafeMemCopy
 | 
				
			||||||
00:2df1 SafeMemSet
 | 
					00:2e16 UnsafeMemSet
 | 
				
			||||||
00:2df1 SafeMemSet.wvr_u2
 | 
					00:2e1e SafeMemSet
 | 
				
			||||||
00:2dff SwitchToGameplay
 | 
					00:2e1e SafeMemSet.wvr_u2
 | 
				
			||||||
00:2e09 SwitchToGameplayBig
 | 
					00:2e2c SwitchToGameplay
 | 
				
			||||||
00:2e13 GamePlayEventLoopHandler
 | 
					00:2e36 SwitchToGameplayBig
 | 
				
			||||||
00:2e1d GamePlayBigEventLoopHandler
 | 
					00:2e40 GamePlayEventLoopHandler
 | 
				
			||||||
00:2e27 CopyOAMHandler
 | 
					00:2e4a GamePlayBigEventLoopHandler
 | 
				
			||||||
00:2e33 ClearOAM
 | 
					00:2e54 CopyOAMHandler
 | 
				
			||||||
00:2e49 IntrInit
 | 
					00:2e60 ClearOAM
 | 
				
			||||||
00:2e4d InitializeLCDCInterrupt
 | 
					00:2e76 IntrInit
 | 
				
			||||||
00:2e62 OAMDMA
 | 
					00:2e7a InitializeLCDCInterrupt
 | 
				
			||||||
00:2e6c OAMDMAEnd
 | 
					00:2e8f OAMDMA
 | 
				
			||||||
 | 
					00:2e99 OAMDMAEnd
 | 
				
			||||||
01:4008 sDMGTSpeedCurve
 | 
					01:4008 sDMGTSpeedCurve
 | 
				
			||||||
01:4210 sDMGTSpeedCurveEnd
 | 
					01:4210 sDMGTSpeedCurveEnd
 | 
				
			||||||
01:4212 sTGM1SpeedCurve
 | 
					01:4212 sTGM1SpeedCurve
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								src/main.asm
								
								
								
								
							
							
						
						
									
										18
									
								
								src/main.asm
								
								
								
								
							| 
						 | 
					@ -55,6 +55,17 @@ Main::
 | 
				
			||||||
    ld a, c
 | 
					    ld a, c
 | 
				
			||||||
    ld [wInitialC], a
 | 
					    ld [wInitialC], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ; Initialize the mapper.
 | 
				
			||||||
 | 
					    ld a, CART_SRAM_ENABLE
 | 
				
			||||||
 | 
					    ld [rRAMG], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ld [rRAMB], a
 | 
				
			||||||
 | 
					    ld a, BANK_OTHER
 | 
				
			||||||
 | 
					    ld [rROMB0], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ; Harvest entropy
 | 
				
			||||||
 | 
					    call HarvestEntropy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Let the DMG have some fun with the initial screen.
 | 
					    ; Let the DMG have some fun with the initial screen.
 | 
				
			||||||
    call DoDMGEffect
 | 
					    call DoDMGEffect
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,13 +89,6 @@ Main::
 | 
				
			||||||
    ldh [rKEY1], a
 | 
					    ldh [rKEY1], a
 | 
				
			||||||
    stop
 | 
					    stop
 | 
				
			||||||
.notgbc
 | 
					.notgbc
 | 
				
			||||||
    ; Initialize the mapper.
 | 
					 | 
				
			||||||
    ld a, CART_SRAM_ENABLE
 | 
					 | 
				
			||||||
    ld [rRAMG], a
 | 
					 | 
				
			||||||
    xor a, a
 | 
					 | 
				
			||||||
    ld [rRAMB], a
 | 
					 | 
				
			||||||
    ld a, BANK_OTHER
 | 
					 | 
				
			||||||
    ld [rROMB0], a
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Clear OAM.
 | 
					    ; Clear OAM.
 | 
				
			||||||
    call ClearOAM
 | 
					    call ClearOAM
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										35
									
								
								src/rng.asm
								
								
								
								
							
							
						
						
									
										35
									
								
								src/rng.asm
								
								
								
								
							| 
						 | 
					@ -39,6 +39,41 @@ wTGM3WorstDroughtIdx: ds 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
section "RNG Functions", ROM0
 | 
					section "RNG Functions", ROM0
 | 
				
			||||||
HarvestEntropy::
 | 
					HarvestEntropy::
 | 
				
			||||||
 | 
					    ld hl, $D000
 | 
				
			||||||
 | 
					    ld de, $E000
 | 
				
			||||||
 | 
					.loop
 | 
				
			||||||
 | 
					    ldh a, [hRNGSeed]
 | 
				
			||||||
 | 
					    xor a, [hl]
 | 
				
			||||||
 | 
					    ldh [hRNGSeed], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ld [hl+], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ldh a, [hRNGSeed+1]
 | 
				
			||||||
 | 
					    xor a, [hl]
 | 
				
			||||||
 | 
					    ldh [hRNGSeed+1], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ld [hl+], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ldh a, [hRNGSeed+2]
 | 
				
			||||||
 | 
					    xor a, [hl]
 | 
				
			||||||
 | 
					    ldh [hRNGSeed+2], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ld [hl+], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ldh a, [hRNGSeed+3]
 | 
				
			||||||
 | 
					    xor a, [hl]
 | 
				
			||||||
 | 
					    ldh [hRNGSeed+3], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ld [hl+], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ld a, h
 | 
				
			||||||
 | 
					    cp a, d
 | 
				
			||||||
 | 
					    jr nz, .loop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ld a, l
 | 
				
			||||||
 | 
					    cp a, e
 | 
				
			||||||
 | 
					    jr nz, .loop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Snapshots the initial seed for a game, then initializes the history and piece queue.
 | 
					    ; Snapshots the initial seed for a game, then initializes the history and piece queue.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue