mirror of
https://github.com/dougg3/mac-rom-simm-programmer.git
synced 2024-09-29 15:57:04 +00:00
Removed old dead code from external_mem.c
This commit is contained in:
parent
f41d8f193a
commit
d0b50e15c9
@ -45,9 +45,6 @@ void ExternalMem_Init(void)
|
|||||||
Ports_SetWEDDR(1);
|
Ports_SetWEDDR(1);
|
||||||
|
|
||||||
// Default all control lines to high (de-asserted)
|
// Default all control lines to high (de-asserted)
|
||||||
/*ExternalMem_DeassertCS();
|
|
||||||
ExternalMem_DeassertOE();
|
|
||||||
ExternalMem_DeassertWE();*/
|
|
||||||
ExternalMem_Deassert(SIMM_CS | SIMM_OE | SIMM_WE);
|
ExternalMem_Deassert(SIMM_CS | SIMM_OE | SIMM_WE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,10 +57,6 @@ void ExternalMem_SetData(uint32_t data)
|
|||||||
{
|
{
|
||||||
Ports_SetDataDDR(0xFFFFFFFFUL);
|
Ports_SetDataDDR(0xFFFFFFFFUL);
|
||||||
Ports_SetDataOut(data);
|
Ports_SetDataOut(data);
|
||||||
/*DDRE = 0xFF;
|
|
||||||
DDRF = 0xFF;
|
|
||||||
PORTE = (data & 0xFF);
|
|
||||||
PORTF = ((data >> 8) & 0xFF);*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExternalMem_SetAddressAndData(uint32_t address, uint32_t data)
|
void ExternalMem_SetAddressAndData(uint32_t address, uint32_t data)
|
||||||
@ -75,54 +68,18 @@ void ExternalMem_SetAddressAndData(uint32_t address, uint32_t data)
|
|||||||
void ExternalMem_SetDataAsInput(void)
|
void ExternalMem_SetDataAsInput(void)
|
||||||
{
|
{
|
||||||
Ports_SetDataDDR(0);
|
Ports_SetDataDDR(0);
|
||||||
//DDRE = 0;
|
|
||||||
//DDRF = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ExternalMem_ReadData(void)
|
uint32_t ExternalMem_ReadData(void)
|
||||||
{
|
{
|
||||||
return Ports_ReadData();
|
return Ports_ReadData();
|
||||||
//return (uint32_t)PINE | (((uint32_t)PINF) << 8);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void ExternalMem_AssertCS(void)
|
|
||||||
{
|
|
||||||
Ports_SetCSOut(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalMem_DeassertCS(void)
|
|
||||||
{
|
|
||||||
Ports_SetCSOut(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalMem_AssertWE(void)
|
|
||||||
{
|
|
||||||
Ports_SetWEOut(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalMem_DeassertWE(void)
|
|
||||||
{
|
|
||||||
Ports_SetWEOut(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalMem_AssertOE(void)
|
|
||||||
{
|
|
||||||
Ports_SetOEOut(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalMem_DeassertOE(void)
|
|
||||||
{
|
|
||||||
Ports_SetOEOut(1);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
void ExternalMem_Read(uint32_t startAddress, uint32_t *buf, uint32_t len)
|
void ExternalMem_Read(uint32_t startAddress, uint32_t *buf, uint32_t len)
|
||||||
{
|
{
|
||||||
// This is just a time saver if we know we will
|
// This is just a time saver if we know we will
|
||||||
// be reading a complete block -- doesn't bother
|
// be reading a complete block -- doesn't bother
|
||||||
// playing with the control lines between each byte
|
// playing with the control lines between each byte
|
||||||
//ExternalMem_DeassertWE();
|
|
||||||
//ExternalMem_AssertCS();
|
|
||||||
//ExternalMem_AssertOE();
|
|
||||||
ExternalMem_Deassert(SIMM_WE);
|
ExternalMem_Deassert(SIMM_WE);
|
||||||
ExternalMem_SetDataAsInput();
|
ExternalMem_SetDataAsInput();
|
||||||
ExternalMem_Assert(SIMM_CS | SIMM_OE);
|
ExternalMem_Assert(SIMM_CS | SIMM_OE);
|
||||||
@ -139,32 +96,20 @@ void ExternalMem_Read(uint32_t startAddress, uint32_t *buf, uint32_t len)
|
|||||||
|
|
||||||
void ExternalMem_WriteCycle(uint32_t address, uint32_t data)
|
void ExternalMem_WriteCycle(uint32_t address, uint32_t data)
|
||||||
{
|
{
|
||||||
/*ExternalMem_AssertCS();
|
|
||||||
ExternalMem_DeassertOE();*/
|
|
||||||
ExternalMem_Assert(SIMM_CS);
|
ExternalMem_Assert(SIMM_CS);
|
||||||
ExternalMem_Deassert(SIMM_OE | SIMM_WE);
|
ExternalMem_Deassert(SIMM_OE | SIMM_WE);
|
||||||
ExternalMem_SetAddressAndData(address, data);
|
ExternalMem_SetAddressAndData(address, data);
|
||||||
ExternalMem_Assert(SIMM_WE);
|
ExternalMem_Assert(SIMM_WE);
|
||||||
//ExternalMem_AssertWE();
|
|
||||||
//_delay_us(1); // Give it a small amount of time needed? Could I do this with some NOP instructions instead of waiting 1us?
|
|
||||||
// The minimum pulse time is 50 ns or so, and since one clock cycle is
|
|
||||||
// 62.5 ns, this should be fine to assert and deassert immediately
|
|
||||||
//ExternalMem_DeassertWE();
|
|
||||||
ExternalMem_Deassert(SIMM_WE);
|
ExternalMem_Deassert(SIMM_WE);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ExternalMem_ReadCycle(uint32_t address)
|
uint32_t ExternalMem_ReadCycle(uint32_t address)
|
||||||
{
|
{
|
||||||
//ExternalMem_DeassertWE();
|
|
||||||
//ExternalMem_AssertCS();
|
|
||||||
//ExternalMem_AssertOE();
|
|
||||||
|
|
||||||
ExternalMem_Deassert(SIMM_WE);
|
ExternalMem_Deassert(SIMM_WE);
|
||||||
ExternalMem_SetDataAsInput();
|
ExternalMem_SetDataAsInput();
|
||||||
ExternalMem_Assert(SIMM_CS | SIMM_OE);
|
ExternalMem_Assert(SIMM_CS | SIMM_OE);
|
||||||
ExternalMem_SetAddress(address);
|
ExternalMem_SetAddress(address);
|
||||||
uint32_t tmp = ExternalMem_ReadData();
|
uint32_t tmp = ExternalMem_ReadData();
|
||||||
//ExternalMem_DeassertOE();
|
|
||||||
ExternalMem_Deassert(SIMM_OE);
|
ExternalMem_Deassert(SIMM_OE);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
@ -251,9 +196,6 @@ void ExternalMem_EraseChips(uint8_t chipsMask)
|
|||||||
|
|
||||||
void ExternalMem_WaitCompletion(uint8_t chipsMask)
|
void ExternalMem_WaitCompletion(uint8_t chipsMask)
|
||||||
{
|
{
|
||||||
//_delay_us(18);
|
|
||||||
|
|
||||||
//#if 0
|
|
||||||
// Mark the chips not requested as already completed,
|
// Mark the chips not requested as already completed,
|
||||||
// so we don't end up waiting for them...
|
// so we don't end up waiting for them...
|
||||||
// (We probably wouldn't anyway, but this is just
|
// (We probably wouldn't anyway, but this is just
|
||||||
@ -266,9 +208,6 @@ void ExternalMem_WaitCompletion(uint8_t chipsMask)
|
|||||||
uint32_t word;
|
uint32_t word;
|
||||||
uint8_t bytes[4];
|
uint8_t bytes[4];
|
||||||
} lastBits, tmp;
|
} lastBits, tmp;
|
||||||
|
|
||||||
//uint32_t lastBits = ExternalMem_ReadCycle(0);
|
|
||||||
|
|
||||||
lastBits.word = ExternalMem_ReadCycle(0);
|
lastBits.word = ExternalMem_ReadCycle(0);
|
||||||
while (doneChipsMask != 0x0F)
|
while (doneChipsMask != 0x0F)
|
||||||
{
|
{
|
||||||
@ -317,27 +256,7 @@ void ExternalMem_WaitCompletion(uint8_t chipsMask)
|
|||||||
}
|
}
|
||||||
|
|
||||||
lastBits.word = tmp.word;
|
lastBits.word = tmp.word;
|
||||||
|
|
||||||
/*// Compare the toggle bit to see if it didn't toggle
|
|
||||||
uint32_t tmp = ExternalMem_ReadCycle(0);
|
|
||||||
uint32_t mask = 0x00000040UL;
|
|
||||||
uint8_t x;
|
|
||||||
for (x = 0; x < 4; x++, mask <<= 8)
|
|
||||||
{
|
|
||||||
// No toggle means erase completed
|
|
||||||
if ((tmp & mask) == (lastBits & mask))
|
|
||||||
{
|
|
||||||
doneChipsMask |= (1 << x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save last bits to check for toggle again
|
|
||||||
lastBits = tmp;
|
|
||||||
|
|
||||||
// Keep going until all four chips have gone
|
|
||||||
// without toggling*/
|
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExternalMem_WriteByteToChips(uint32_t address, uint32_t data, uint8_t chipsMask)
|
void ExternalMem_WriteByteToChips(uint32_t address, uint32_t data, uint8_t chipsMask)
|
||||||
|
Loading…
Reference in New Issue
Block a user