src/mess/machine/at29040a.c
| r11074 | r11075 | |
| 116 | 116 | |
| 117 | 117 | case s_pgm_3: |
| 118 | 118 | /* programming cycle end */ |
| 119 | | memcpy(feeprom->memptr + (feeprom->programming_last_offset & ~0xff), feeprom->programming_buffer, SECTOR_SIZE); |
| 119 | memcpy(feeprom->memptr + 2 + (feeprom->programming_last_offset & ~0xff), feeprom->programming_buffer, SECTOR_SIZE); |
| 120 | 120 | |
| 121 | 121 | if (feeprom->s_enabling_sdb) |
| 122 | 122 | feeprom->s_sdp = TRUE; |
| r11074 | r11075 | |
| 224 | 224 | reply |= 0x01; |
| 225 | 225 | } |
| 226 | 226 | else |
| 227 | | reply = feeprom->memptr[offset]; |
| 228 | | |
| 227 | reply = feeprom->memptr[offset+2]; |
| 229 | 228 | return reply; |
| 230 | 229 | } |
| 231 | 230 | |
| r11074 | r11075 | |
| 304 | 303 | logerror("If the boot block lockout feature has been enabled, the 6-byte software chip erase algorithm will not function.\n"); |
| 305 | 304 | else |
| 306 | 305 | { |
| 307 | | memset(feeprom->memptr, 0xff, 524288); |
| 306 | memset(feeprom->memptr+2, 0xff, 524288); |
| 308 | 307 | feeprom->s_dirty = TRUE; |
| 309 | 308 | } |
| 310 | 309 | } |
| r11074 | r11075 | |
| 423 | 422 | feeprom->s_higher_bbl = (feeprom->memptr[1] >> 1) & 1; |
| 424 | 423 | feeprom->s_sdp = feeprom->memptr[1] & 1; |
| 425 | 424 | feeprom->s_dirty = FALSE; |
| 426 | | |
| 427 | | feeprom->memptr += 2; |
| 428 | 425 | } |
| 429 | 426 | |
| 430 | 427 | static const char DEVTEMPLATE_SOURCE[] = __FILE__; |