slight tweak..
Code: Select all
assign BERR = CPCS_INT & altrambuserr ? 1'bz : 1'b0;
So at least that problem is figured out... Just need to figure out this odd dram corruption issue next
Code: Select all
assign BERR = CPCS_INT & altrambuserr ? 1'bz : 1'b0;
Top.exxos wrote: ↑Thu Apr 29, 2021 11:32 am @Badwolf
slight tweak..
EMUTOS says 64MB nowCode: Select all
assign BERR = CPCS_INT & altrambuserr ? 1'bz : 1'b0;
So at least that problem is figured out... Just need to figure out this odd dram corruption issue next
Note that -- as already stated on the list -- it is not required to have a bus error (though it certainly helps as you found out). If EmuTOS detected more than 64 MB of Alt-RAM before, there must have been memory that was writeable and readable above the 64 MB mark. For example, some TT-RAM cards for the TT don't generate a bus error, either, and they are still correctly sized by EmuTOS.exxos wrote: ↑Thu Apr 29, 2021 11:32 am @Badwolf
slight tweak..EMUTOS says 64MB nowCode: Select all
assign BERR = CPCS_INT & altrambuserr ? 1'bz : 1'b0;
So at least that problem is figured out... Just need to figure out this odd dram corruption issue next
Isn't there IDE on the TF? Maybe addresses 0x1F00000 etc. are wrongly decoded to IDE...
Code: Select all
error 55 238 $F00000 %111100000000000000000000
error 55 238 $F00400 %111100000000010000000000
error 55 238 $F00800 %111100000000100000000000
error 55 238 $F00C00 %111100000000110000000000
error 55 238 $F01000 %111100000001000000000000
error 55 238 $F01400 %111100000001010000000000
error 55 238 $F01800 %111100000001100000000000
error 55 238 $F01C00 %111100000001110000000000
error 55 238 $F02000 %111100000010000000000000
error 55 238 $F02400 %111100000010010000000000
error 55 238 $F02800 %111100000010100000000000
error 55 238 $F02C00 %111100000010110000000000
error 55 238 $F03000 %111100000011000000000000
error 55 238 $F03400 %111100000011010000000000
error 55 238 $F03800 %111100000011100000000000
error 55 238 $F03C00 %111100000011110000000000
error 55 238 $F04000 %111100000100000000000000
error 55 238 $F04400 %111100000100010000000000
error 55 238 $F04800 %111100000100100000000000
error 55 238 $F04C00 %111100000100110000000000
error 55 238 $F05000 %111100000101000000000000
error 55 238 $F05400 %111100000101010000000000
error 55 238 $F05800 %111100000101100000000000
error 55 238 $F05C00 %111100000101110000000000
error 55 238 $F06000 %111100000110000000000000
error 55 238 $F06400 %111100000110010000000000
error 55 238 $F06800 %111100000110100000000000
error 55 238 $F06C00 %111100000110110000000000
error 55 238 $F07000 %111100000111000000000000
error 55 238 $F07400 %111100000111010000000000
error 55 238 $F07800 %111100000111100000000000
error 55 238 $F07C00 %111100000111110000000000
error 55 238 $F08000 %111100001000000000000000
error 55 238 $F08400 %111100001000010000000000
error 55 238 $F08800 %111100001000100000000000
error 55 238 $F08C00 %111100001000110000000000
error 55 238 $F09000 %111100001001000000000000
error 55 238 $F09400 %111100001001010000000000
error 55 238 $F09800 %111100001001100000000000
error 55 238 $F09C00 %111100001001110000000000
error 55 238 $F0A000 %111100001010000000000000
error 55 238 $F0A400 %111100001010010000000000
error 55 238 $F0A800 %111100001010100000000000
error 55 238 $F0AC00 %111100001010110000000000
error 55 238 $F0B000 %111100001011000000000000
error 55 238 $F0B400 %111100001011010000000000
error 55 238 $F0B800 %111100001011100000000000
error 55 238 $F0BC00 %111100001011110000000000
error 55 238 $F0C000 %111100001100000000000000
error 55 238 $F0C400 %111100001100010000000000
error 55 238 $F0C800 %111100001100100000000000
error 55 238 $F0CC00 %111100001100110000000000
error 55 238 $F0D000 %111100001101000000000000
error 55 238 $F0D400 %111100001101010000000000
error 55 238 $F0D800 %111100001101100000000000
error 55 238 $F0DC00 %111100001101110000000000
error 55 238 $F0E000 %111100001110000000000000
error 55 238 $F0E400 %111100001110010000000000
error 55 238 $F0E800 %111100001110100000000000
error 55 238 $F0EC00 %111100001110110000000000
error 55 238 $F0F000 %111100001111000000000000
error 55 238 $F0F400 %111100001111010000000000
error 55 238 $F0F800 %111100001111100000000000
error 55 238 $F0FC00 %111100001111110000000000
error 55 238 $1F00000 %1111100000000000000000000
error 55 238 $1F00400 %1111100000000010000000000
error 55 238 $1F00800 %1111100000000100000000000
error 55 238 $1F00C00 %1111100000000110000000000
error 55 238 $1F01000 %1111100000001000000000000
error 55 238 $1F01400 %1111100000001010000000000
error 55 238 $1F01800 %1111100000001100000000000
error 55 238 $1F01C00 %1111100000001110000000000
error 55 238 $1F02000 %1111100000010000000000000
error 55 238 $1F02400 %1111100000010010000000000
error 55 238 $1F02800 %1111100000010100000000000
error 55 238 $1F02C00 %1111100000010110000000000
error 55 238 $1F03000 %1111100000011000000000000
error 55 238 $1F03400 %1111100000011010000000000
error 55 238 $1F03800 %1111100000011100000000000
error 55 238 $1F03C00 %1111100000011110000000000
error 55 238 $1F04000 %1111100000100000000000000
error 55 238 $1F04400 %1111100000100010000000000
error 55 238 $1F04800 %1111100000100100000000000
error 55 238 $1F04C00 %1111100000100110000000000
error 55 238 $1F05000 %1111100000101000000000000
error 55 238 $1F05400 %1111100000101010000000000
error 55 238 $1F05800 %1111100000101100000000000
error 55 238 $1F05C00 %1111100000101110000000000
error 55 238 $1F06000 %1111100000110000000000000
error 55 238 $1F06400 %1111100000110010000000000
error 55 238 $1F06800 %1111100000110100000000000
error 55 238 $1F06C00 %1111100000110110000000000
error 55 238 $1F07000 %1111100000111000000000000
error 55 238 $1F07400 %1111100000111010000000000
error 55 238 $1F07800 %1111100000111100000000000
error 55 238 $1F07C00 %1111100000111110000000000
error 55 238 $1F08000 %1111100001000000000000000
error 55 238 $1F08400 %1111100001000010000000000
error 55 238 $1F08800 %1111100001000100000000000
error 55 238 $1F08C00 %1111100001000110000000000
error 55 238 $1F09000 %1111100001001000000000000
error 55 238 $1F09400 %1111100001001010000000000
error 55 238 $1F09800 %1111100001001100000000000
error 55 238 $1F09C00 %1111100001001110000000000
error 55 238 $1F0A000 %1111100001010000000000000
error 55 238 $1F0A400 %1111100001010010000000000
error 55 238 $1F0A800 %1111100001010100000000000
error 55 238 $1F0AC00 %1111100001010110000000000
error 55 238 $1F0B000 %1111100001011000000000000
error 55 238 $1F0B400 %1111100001011010000000000
hmmm yep.. I had a lot of trouble trying to figure out the decoding syntax, eventually I got a line to work.. (but IDE interface isn't yet finished either)
Code: Select all
wire ide_access = ({A[23:16]} != {8'hF0});
Well, that's of course problematic, as it matches all addresses that follow the pattern 0x??F0????, including alt-RAM addresses 0x01F00000, 0x02F00000, and others.
Well there's your problem. It doesn't take into account anything in the altram address range. Great shout, @czietz!
Code: Select all
wire ide_access = A[27:16] != 12'h0F0;
Right, so that came from the TF520.. It was the only line I could get to work to find IDE, but I think the 520 may have only had 4MB of RAM. or none.. can't remember..Badwolf wrote: ↑Thu Apr 29, 2021 12:18 pm Again, should be an easy enough fix:-
Code: Select all
wire ide_access = A[27:16] != 12'h0F0;
A29 will only come into play if you get up to 512MB RAM. A26 is technically enough, but by using A27 it's a nice three-hex-digit number.exxos wrote: ↑Thu Apr 29, 2021 12:39 pmRight, so that came from the TF520.. It was the only line I could get to work to find IDE, but I think the 520 may have only had 4MB of RAM. or none.. can't remember..Code: Select all
wire ide_access = A[27:16] != 12'h0F0;
Though should that be using up to A29 @Badwolf ?