Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 2379

8-bit acorn emulators • Re: MAME: Click (and other large ROMs)

$
0
0
Here's an extract of the Verilog code. I wonder if there's an issue with the '(!nRDS && GenBankSel[10]) || !bbc_nRST' code that is being used to run the logic. I can't remember where that came from. Having said that, the equivalent WEQST & CC64K code seems to be working fine - and WEQST even uses the same 8k switching mechanism as TED, with the ConQuest & QuestPaint ROMS built in a similar manner. Can anyone see anything wrong with my logic, or the way I have built the ROM images?

Thanks!

Code:

    // Combined code for 32k Watford Electronic PALPROM & 64k Computer Concepts PALPROM    // Use Jumper RamPALSel[6] to select PALPROM Type. Logic '0': CC64K, Logic '1': WEQST    // And Jumper RamPALSel[7] to deselect CC64K / WEQST, and select WETED instead    // Both use RAM banks 10 & 22..24    //    wire cc4Clk = (!nRDS && GenBankSel[10]) || !bbc_nRST;    always @(posedge cc4Clk) begin             if  (RamPALSel[2] || !bbc_nRST)                                                    pp4Bank = 4'b0001;  //Disable PALPROM//           if  (RamPALSel[2])                                                                 pp4Bank = 4'b0001;  //Disable PALPROM        else if ((RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1001_0011_010))                         //h9340..h935F (WEQST)             || (!RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1011_1111_100))                         //hBF80..hBF9F (CC64K)             || (!RamPALSel[7]                 && (bbc_ADDRESS[15:5] == 11'b1001_1111_100)))    pp4Bank = 4'b0001;  //h9F80..h9F9F (WETED)        else if ((RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1001_0001_111))                         //h91E0..h91FF (WEQST)             || (!RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1011_1111_101))                         //hBFA0..hBFBF (CC64K)             || (!RamPALSel[7]                 && (bbc_ADDRESS[15:5] == 11'b1001_1111_101)))    pp4Bank = 4'b0010;  //h9FA0..h9FAF (WETED)        else if ((RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1000_1000_001))                         //h8820..h883F (WEQST)             || (!RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1011_1111_110))                         //hBFC0..hBFDF (CC64K)             || (!RamPALSel[7]                 && (bbc_ADDRESS[15:5] == 11'b1001_1111_110)))    pp4Bank = 4'b0100;  //h9FC0..h9FCF (WETED)        else if ((RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1001_0010_110))                         //h92C0..h92DF (WEQST)             || (!RamPALSel[6] && RamPALSel[7] && (bbc_ADDRESS[15:5] == 11'b1011_1111_111))                         //hBFE0..hBFFF (CC64K)             || (!RamPALSel[7]                 && (bbc_ADDRESS[15:5] == 11'b1001_1111_111)))    pp4Bank = 4'b1000;  //h9FF0..h9FFF (WETED)end
Haven't checked the actual equations but your switching zones in the comments are incorrect:
//h9F80..h9F9F (WETED)
//h9FA0..h9FAF (WETED) ... 9FA0-9FBF
//h9FC0..h9FCF (WETED) ... 9FC0-9FDF
//h9FF0..h9FFF (WETED) ... 9FE0-9FFF

Edit: Zones look correct, just mismatched comments, but are you missing RamPALSel[6] in the WETED tests?

Statistics: Posted by Pernod — Fri Aug 09, 2024 12:56 pm



Viewing all articles
Browse latest Browse all 2379

Trending Articles