mirror of
				https://github.com/garrettsworkshop/GWRAM.SYSTEM.git
				synced 2025-10-24 11:50:48 -07:00 
			
		
		
		
	Fix RAM2E saving
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								bin/GWRAM.dbg.po
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/GWRAM.dbg.po
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/GWRAM.po
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/GWRAM.po
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -9,25 +9,34 @@ static void ram2e_max_erase() { ram2e_cmd(0xEE, 0x00); } | |||||||
|  |  | ||||||
| /* ram2e_max_save(...) */ | /* ram2e_max_save(...) */ | ||||||
| static void ram2e_max_save(char mask, char enled) { | static void ram2e_max_save(char mask, char enled) { | ||||||
| 	char i; | 	char wmask; | ||||||
| 	char led; |  | ||||||
| 	if (mask == 0xFF) { mask = 0x80; } // Encode 0xFF mask properly |  | ||||||
|  |  | ||||||
| 	// Shift mask into UFMD  | 	// Encode 0xFF mask properly | ||||||
| 	for (i = 0; i < 8; i++) { | 	if (mask == 0xFF) { wmask = 0x80; } | ||||||
| 		ram2e_max_bitbang(0x80 | ((mask << (i-1)) & 0x40)); | 	else { wmask = mask; } | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	// Shift LED setting into UFMD | 	// Shift mask into UFMD | ||||||
| 	if 	(( enled &&  (mask >> 7)) ||  | 	ram2e_max_bitbang(0x80 | ((wmask >> 1) & 0x40)); | ||||||
| 	     (!enled && !(mask >> 7))) { led = 0x80; } | 	ram2e_max_bitbang(0x80 | ((wmask >> 0) & 0x40)); | ||||||
| 	else { led = 0xC0; } | 	ram2e_max_bitbang(0x80 | ((wmask << 1) & 0x40)); | ||||||
| 	ram2e_max_bitbang(led); | 	ram2e_max_bitbang(0x80 | ((wmask << 2) & 0x40)); | ||||||
|  | 	ram2e_max_bitbang(0x80 | ((wmask << 3) & 0x40)); | ||||||
|  | 	ram2e_max_bitbang(0x80 | ((wmask << 4) & 0x40)); | ||||||
|  | 	ram2e_max_bitbang(0x80 | ((wmask << 5) & 0x40)); | ||||||
|  | 	ram2e_max_bitbang(0x80 | ((wmask << 6) & 0x40)); | ||||||
|  |  | ||||||
| 	// Shift low six bits of mask into UFMD again | 	// Shift mask into UFMD | ||||||
| 	for (i = 1; i < 8; i++) { | 	if 	(( enled &&  (wmask >> 7)) ||  | ||||||
| 		ram2e_max_bitbang(0x80 | ((mask << (i-1)) & 0x40)); | 	     (!enled && !(wmask >> 7))) {  | ||||||
| 	} | 			 ram2e_max_bitbang(0x80); | ||||||
|  | 	} else { ram2e_max_bitbang(0xC0); } | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  | 	ram2e_max_bitbang(0xC0); | ||||||
|  |  | ||||||
| 	// Program UFM | 	// Program UFM | ||||||
| 	ram2e_max_program(); | 	ram2e_max_program(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user