Thomas Harte 
							
						 
					 
					
						
						
							
						
						929475d31e 
					 
					
						
						
							
							Minor correction: round down, not up.  
						
						
						
						
					 
					
						2019-09-28 23:49:32 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						ee89be6730 
					 
					
						
						
							
							Removes many stray spaces.  
						
						
						
						
					 
					
						2018-11-23 22:32:32 -05:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						9dff13cbbf 
					 
					
						
						
							
							Re-establishes output from the machines with 9918s and derivatives.  
						
						
						
						
					 
					
						2018-11-14 22:25:19 -05:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						f65d80b7d1 
					 
					
						
						
							
							Ensures offset and flags are initialised to 0.  
						
						... 
						
						
						
						This prevents a potential crash at startup. 
						
						
					 
					
						2018-10-29 22:09:32 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						e02aa885d8 
					 
					
						
						
							
							Testing against the ColecoVision suggests this is probably always 7.  
						
						
						
						
					 
					
						2018-10-26 20:59:12 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						bb09762029 
					 
					
						
						
							
							Introduces extra delays to VRAM access.  
						
						
						
						
					 
					
						2018-10-26 20:19:08 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						05a5c7120e 
					 
					
						
						
							
							Shunts CRAM dots into their proper place.  
						
						
						
						
					 
					
						2018-10-26 20:06:51 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						521d603902 
					 
					
						
						
							
							Adds a first attempt at CRAM dot output. With a TODO.  
						
						
						
						
					 
					
						2018-10-26 19:26:46 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						916710353a 
					 
					
						
						
							
							Makes it explicit that I want the reference.  
						
						
						
						
					 
					
						2018-10-25 23:18:34 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						53b00dea3f 
					 
					
						
						
							
							Adds missing include.  
						
						
						
						
					 
					
						2018-10-25 23:12:41 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						0587b9f257 
					 
					
						
						
							
							Edges to within millimetres of CRAM dots.  
						
						... 
						
						
						
						... but all the way up to bedtime. 
						
						
					 
					
						2018-10-25 23:12:03 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						2cdeaa2575 
					 
					
						
						
							
							Moves misplaced bracket.  
						
						
						
						
					 
					
						2018-10-23 22:37:19 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						286783e880 
					 
					
						
						
							
							Accepts GCC's suggestion of extra clarity brackets.  
						
						
						
						
					 
					
						2018-10-23 22:36:23 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						00e7958a97 
					 
					
						
						
							
							Separates request for an SMS2 VDP from current graphics mode.  
						
						... 
						
						
						
						Thereby fixes various minor segments of Codemasters games. 
						
						
					 
					
						2018-10-23 22:19:45 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						2f995eb622 
					 
					
						
						
							
							Adjusts vertical timing for display height.  
						
						
						
						
					 
					
						2018-10-23 21:20:44 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						90fbad0f1c 
					 
					
						
						
							
							Implements SMS2-style addressing if in a 224 or 240-line mode.  
						
						... 
						
						
						
						This isn't quite accurate, but it'll do for development. 
						
						
					 
					
						2018-10-23 20:30:08 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						2cbd28478d 
					 
					
						
						
							
							Allows the sprite terminator to be specified.  
						
						
						
						
					 
					
						2018-10-23 20:01:47 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						883680731a 
					 
					
						
						
							
							Uses explicit state to determine whether a pixel target has been requested.  
						
						
						
						
					 
					
						2018-10-21 21:18:41 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						0822c96ce0 
					 
					
						
						
							
							Implements the proper row counter values for > 192 row modes.  
						
						
						
						
					 
					
						2018-10-19 22:37:56 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						4cd65eab5c 
					 
					
						
						
							
							Seeks to avoid bad macro expansion.  
						
						
						
						
					 
					
						2018-10-18 22:36:25 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						da00c832f5 
					 
					
						
						
							
							Corrects colour fetching for multicolour text mode.  
						
						
						
						
					 
					
						2018-10-18 20:38:00 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						8ff265c3a1 
					 
					
						
						
							
							Corrects multicolour text mode.  
						
						
						
						
					 
					
						2018-10-18 20:25:42 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						1fc88c4eff 
					 
					
						
						
							
							Corrects off-by-one error in line fetching coroutines.  
						
						
						
						
					 
					
						2018-10-16 21:36:31 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						5dfe7d8596 
					 
					
						
						
							
							Corrects most of TMS sprite drawing.  
						
						
						
						
					 
					
						2018-10-16 20:49:04 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						231009b901 
					 
					
						
						
							
							Makes faulty attempt to reintroduce TMS-mode sprites.  
						
						
						
						
					 
					
						2018-10-16 20:00:06 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						1c5f939aea 
					 
					
						
						
							
							Reintroduces tiles and some element of sprites in regular TMS mode.  
						
						
						
						
					 
					
						2018-10-14 21:52:13 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						c1e6406fc9 
					 
					
						
						
							
							Corrects sprite accumulation.  
						
						
						
						
					 
					
						2018-10-14 19:56:09 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d66979c68f 
					 
					
						
						
							
							Switched to a very large number of buffers, and resolved stupid attempt to reassign a reference.  
						
						
						
						
					 
					
						2018-10-14 18:19:11 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						6c09abc6cb 
					 
					
						
						
							
							Makes a flawed attempt to reformulate this exactly as two separate processes on a common clock with an interchange buffer.  
						
						... 
						
						
						
						Specifically because closer inspection of the TMS modes shows it isn't quite valid to model output of one line as having fully completed prior to fetching of the next. So some sort of extra buffer is required. At which point it is most natural to continue with the logic that each fetch routine is oriented around the fetching process for a single line, and each output routine has the same view, suggesting separate read/write addresses.
Something is wrong though, as video data is being output too rapidly (I think) and with occasional sync issues (again: subject to investigation). 
						
						
					 
					
						2018-10-14 16:23:45 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						9e52ead09a 
					 
					
						
						
							
							Ensures sprite scanning doesn't improperly set collision flag; that slot 151 is filled.  
						
						
						
						
					 
					
						2018-10-12 19:50:48 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						f6af6778ab 
					 
					
						
						
							
							Moves scrolling latch to proper position and implements 4-window fetching offset.  
						
						
						
						
					 
					
						2018-10-11 22:36:27 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						52e02db5c8 
					 
					
						
						
							
							Introduces horizontal counter latching and reading.  
						
						... 
						
						
						
						Then makes a new guess at frame IRQ position. But gets it wrong. Hmmm. 
						
						
					 
					
						2018-10-11 19:56:32 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						2e379b0834 
					 
					
						
						
							
							Adds latching of scroll values.  
						
						
						
						
					 
					
						2018-10-10 21:28:18 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						f00f6c8c23 
					 
					
						
						
							
							Allows the frame interrupt to be placed anywhere in the frame.  
						
						
						
						
					 
					
						2018-10-10 21:07:39 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						50e23f4a2e 
					 
					
						
						
							
							Fixes 16px-high sprites.  
						
						
						
						
					 
					
						2018-10-10 20:34:00 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						e410302237 
					 
					
						
						
							
							Switches to real SMS line output composition.  
						
						... 
						
						
						
						Including setting the sprite collision bit. 
						
						
					 
					
						2018-10-08 22:43:10 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						bca2161a05 
					 
					
						
						
							
							Fixes TMS text mode for the new addressing order.  
						
						
						
						
					 
					
						2018-10-07 21:09:01 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						6975ed22c0 
					 
					
						
						
							
							Doubles down on address-storage format, and implements the vertical scrolling lock.  
						
						
						
						
					 
					
						2018-10-07 18:55:35 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						3bead07043 
					 
					
						
						
							
							Introduces proper indirection for sprite patterns.  
						
						... 
						
						
						
						This seems to work, so the onus is now back on the rendering loop. 
						
						
					 
					
						2018-10-07 17:15:42 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						ee20e42372 
					 
					
						
						
							
							Makes initial attempt at collecting sprite contents.  
						
						... 
						
						
						
						With test plotting, indicating some sort of issue. 
						
						
					 
					
						2018-10-07 16:53:25 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						df411b4ede 
					 
					
						
						
							
							Corrects storage of visible sprites.  
						
						
						
						
					 
					
						2018-10-07 16:40:32 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						bfb9d8ccb6 
					 
					
						
						
							
							At least attempts to use proper addressing for sprite info fetches.  
						
						
						
						
					 
					
						2018-10-07 14:32:20 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						338aec2930 
					 
					
						
						
							
							Groups background fetches and experimentally seeks to daub sprites as white.  
						
						
						
						
					 
					
						2018-10-06 22:07:04 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						e6510dc87b 
					 
					
						
						
							
							Attempts to get at least as far as picking visible sprite indices.  
						
						
						
						
					 
					
						2018-10-06 19:27:19 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						7830cda912 
					 
					
						
						
							
							Implements line querying and most of line interrupts.  
						
						
						
						
					 
					
						2018-10-04 22:50:35 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						858721a7a5 
					 
					
						
						
							
							Added left border hiding.  
						
						
						
						
					 
					
						2018-10-04 18:52:23 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						de4e5c40aa 
					 
					
						
						
							
							Implements horizontal scrolling lock.  
						
						
						
						
					 
					
						2018-10-03 23:28:33 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						05248ab990 
					 
					
						
						
							
							Starts to reimplement Master System output.  
						
						
						
						
					 
					
						2018-10-03 23:13:21 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						499fc62187 
					 
					
						
						
							
							Sets things up for implementation of the inner mode-specific logic.  
						
						
						
						
					 
					
						2018-10-02 21:58:09 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						5361120353 
					 
					
						
						
							
							Restores a stable frame.  
						
						
						
						
					 
					
						2018-10-02 21:05:30 -04:00