Difference between revisions of "84PCE:Ports:1000"
From WikiTI
(Added need for flash unlock on M+) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 71: | Line 71: | ||
== Serial Controller == | == Serial Controller == | ||
− | Only used in the | + | Only used in HW revisions M and later (NB: all python edition calcs are M+). Flash must be unlocked in order to write to these ports, or the write will be ignored. |
+ | |||
+ | For more information see the [[84PCE:OS:Serial_Flash_Commands|serial commands]]. | ||
{|- | {|- | ||
Line 105: | Line 107: | ||
|- | |- | ||
|1805 | |1805 | ||
− | | | + | |00 |
− | | | + | |00 |
− | |Unknown, something to do with the current flash command, always seems to be $ | + | |Unknown, something to do with the current flash command, always seems to be $00. |
+ | |- | ||
+ | |1806 | ||
+ | |00 | ||
+ | |07 | ||
+ | |Number of dummy bytes after command byte. | ||
+ | |- | ||
+ | |1807 | ||
+ | |00 | ||
+ | |11 | ||
+ | |Unknown, something to do with the current flash command. Bit 0 is always set and bit 4 is rarely set. | ||
|- | |- | ||
|1808 | |1808 | ||
|00000000 | |00000000 | ||
− | | | + | |FFFFFFFF |
|Number of bytes to transfer through port $1900 with the current flash command. | |Number of bytes to transfer through port $1900 with the current flash command. | ||
|- | |- | ||
|180C | |180C | ||
|00 | |00 | ||
− | | | + | |C6 |
− | |Bit 1 might be direction (0 = in, 1 = out). | + | |Bit 1 might be direction (0 = in, 1 = out). Other bits unknown. |
|- | |- | ||
|180D | |180D | ||
|0000 | |0000 | ||
− | | | + | |B000 |
− | |Unknown, | + | |Unknown, something to do with the current flash command, usually $0000, rarely $B000. |
|- | |- | ||
|180F | |180F | ||
Line 131: | Line 143: | ||
|1818 | |1818 | ||
|00 | |00 | ||
− | | | + | |03 |
− | |Bit 1 set when | + | |Bit 0/1 is set when bytes can be written/read through port $1900. |
|- | |- | ||
|1824 | |1824 | ||
Line 138: | Line 150: | ||
|01 | |01 | ||
|Bit 0 set when the command finishes and the busy bit is cleared, write 1 to clear. | |Bit 0 set when the command finishes and the busy bit is cleared, write 1 to clear. | ||
+ | |- | ||
+ | |182C-182F | ||
+ | |FFC00000 | ||
+ | |FFFFFFFF | ||
+ | |Address mask for memory-mapped access to flash. | ||
+ | |- | ||
+ | |1830 | ||
+ | |00000000 | ||
+ | |FFFFFFFF | ||
+ | |Unknown. | ||
|- | |- | ||
|1900 | |1900 |
Latest revision as of 20:38, 21 January 2022
Synopsis
Port Number: 1000-1FFF
Memory-mapped Address: E00000
Function: Flash Controller
Parallel Controller
For more information see the parallel commands.
Port | Default | Bits | Information |
1000 | 01 | 01 | Reset bit 0 to crash. Seems to reduce minimum flash wait states to 2. |
1001 | 00 | ?? | Freeze if write value greater than 3F |
1002 | 06 | 0F | Mapped flash chip address space size. |
1003 | 00 | FF | Latches value written |
1004 | 00 | FF | Latches value written |
1005 | 00 | FF | Added flash wait states over 5. |
1006 | 00 | FF | Latches value written |
1007 | FF | FF | Latches value written |
1008 | 00 | 01 | Latches value written |
1009 | 00 | FF | Ports 1009-100F latch value written |
Serial Controller
Only used in HW revisions M and later (NB: all python edition calcs are M+). Flash must be unlocked in order to write to these ports, or the write will be ignored.
For more information see the serial commands.
Port | Default | Bits | Information |
1005 | 00 | FF | Probably ignored for compatibility with the parallel interface. |
1010 | 00 | 01 | Latches value written |
1011 | 00 | FF | Ports 1011-1017 latch value written |
1800 | 00000000 | FFFFFFFF | Extra data to send after command byte (usually used for a flash address). |
1804 | 00 | 07 | How many bytes from ports $1800-$1803 to send after the command byte. |
1805 | 00 | 00 | Unknown, something to do with the current flash command, always seems to be $00. |
1806 | 00 | 07 | Number of dummy bytes after command byte. |
1807 | 00 | 11 | Unknown, something to do with the current flash command. Bit 0 is always set and bit 4 is rarely set. |
1808 | 00000000 | FFFFFFFF | Number of bytes to transfer through port $1900 with the current flash command. |
180C | 00 | C6 | Bit 1 might be direction (0 = in, 1 = out). Other bits unknown. |
180D | 0000 | B000 | Unknown, something to do with the current flash command, usually $0000, rarely $B000. |
180F | 00 | FF | Current command byte. |
1818 | 00 | 03 | Bit 0/1 is set when bytes can be written/read through port $1900. |
1824 | 00 | 01 | Bit 0 set when the command finishes and the busy bit is cleared, write 1 to clear. |
182C-182F | FFC00000 | FFFFFFFF | Address mask for memory-mapped access to flash. |
1830 | 00000000 | FFFFFFFF | Unknown. |
1900 | 00 | FF | Read or write command data. |