ZackAttack Posted April 6, 2016 Share Posted April 6, 2016 It was my understanding when I ordered my harmony encore that it would support a 512KB game no problem. I've been experimenting with different sized 3E ROMs and the largest I could get to work was 32KB. I also ran into problems with odd sizes like 30KB. Attached is a zip with the different sizes I tried. They all work in stella and only differ in image size. Is this a hardware limitation of the encore or is there just a problem with the firmware? (I'm using the v1.06 firmware) 3E_tests.zip Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted December 12, 2017 Share Posted December 12, 2017 Just hit the same trap --- I can't get a 512k 3E ROM to run. Does anybody know a solution, or is this a restriction of the Encore? Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 2, 2018 Share Posted March 2, 2018 It was my understanding when I ordered my harmony encore that it would support a 512KB game no problem. I've been experimenting with different sized 3E ROMs and the largest I could get to work was 32KB. I also ran into problems with odd sizes like 30KB. Attached is a zip with the different sizes I tried. They all work in stella and only differ in image size. Is this a hardware limitation of the encore or is there just a problem with the firmware? (I'm using the v1.06 firmware) 3E_tests.zip I tried your 510k rom in Stella and noticed you TIA registers are normal (not offset). I believe with 3E you have to offset them or else you will trigger bankswitches. I looked and found in an old 3E rom I had done this: VSYNC = $00 | $40 ; must use TIA mirror registers at 0x40 for 3E bankscheme VBLANK = $01 | $40 WSYNC = $02 | $40 RSYNC = $03 | $40 NUSIZ0 = $04 | $40 NUSIZ1 = $05 | $40 COLUP0 = $06 | $40 COLUP1 = $07 | $40 COLUPF = $08 | $40 COLUBK = $09 | $40 CTRLPF = $0A | $40 REFP0 = $0B | $40 REFP1 = $0C | $40 PF0 = $0D | $40 PF1 = $0E | $40 PF2 = $0F | $40 RESP0 = $10 | $40 RESP1 = $11 | $40 RESM0 = $12 | $40 RESM1 = $13 | $40 RESBL = $14 | $40 AUDC0 = $15 | $40 AUDC1 = $16 | $40 AUDF0 = $17 | $40 AUDF1 = $18 | $40 AUDV0 = $19 | $40 AUDV1 = $1A | $40 GRP0 = $1B | $40 GRP1 = $1C | $40 ENAM0 = $1D | $40 ENAM1 = $1E | $40 ENABL = $1F | $40 HMP0 = $20 | $40 HMP1 = $21 | $40 HMM0 = $22 | $40 HMM1 = $23 | $40 HMBL = $24 | $40 VDELP0 = $25 | $40 VDELP1 = $26 | $40 VDELBL = $27 | $40 RESMP0 = $28 | $40 RESMP1 = $29 | $40 HMOVE = $2A | $40 HMCLR = $2B | $40 CXCLR = $2C | $40 CXM0P = $00 | $40 CXM1P = $01 | $40 CXP0FB = $02 | $40 CXP1FB = $03 | $40 CXM0FB = $04 | $40 CXM1FB = $05 | $40 CXBLPF = $06 | $40 CXPPMM = $07 | $40 INPT0 = $08 | $40 INPT1 = $09 | $40 INPT2 = $0A | $40 INPT3 = $0B | $40 INPT4 = $0C | $40 INPT5 = $0D | $40 SWCHA = $0280 SWACNT = $0281 SWCHB = $0282 SWBCNT = $0283 INTIM = $0284 TIMINT = $0285 TIM1T = $0294 TIM8T = $0295 TIM64T = $0296 T1024T = $0297 This also more properly done using vcs.h with TIA_BASE_READ_ADDRESS = $40 and TIA_BASE_WRITE_ADDRESS = $40. Also just for clarity my 3E rom was not over 32K. Quote Link to comment Share on other sites More sharing options...
ZackAttack Posted March 2, 2018 Author Share Posted March 2, 2018 I tried your 510k rom in Stella and noticed you TIA registers are normal (not offset). I believe with 3E you have to offset them or else you will trigger bankswitches. I looked and found in an old 3E rom I had done this: VSYNC = $00 | $40 ; must use TIA mirror registers at 0x40 for 3E bankscheme VBLANK = $01 | $40 WSYNC = $02 | $40 RSYNC = $03 | $40 NUSIZ0 = $04 | $40 NUSIZ1 = $05 | $40 COLUP0 = $06 | $40 COLUP1 = $07 | $40 COLUPF = $08 | $40 COLUBK = $09 | $40 CTRLPF = $0A | $40 REFP0 = $0B | $40 REFP1 = $0C | $40 PF0 = $0D | $40 PF1 = $0E | $40 PF2 = $0F | $40 RESP0 = $10 | $40 RESP1 = $11 | $40 RESM0 = $12 | $40 RESM1 = $13 | $40 RESBL = $14 | $40 AUDC0 = $15 | $40 AUDC1 = $16 | $40 AUDF0 = $17 | $40 AUDF1 = $18 | $40 AUDV0 = $19 | $40 AUDV1 = $1A | $40 GRP0 = $1B | $40 GRP1 = $1C | $40 ENAM0 = $1D | $40 ENAM1 = $1E | $40 ENABL = $1F | $40 HMP0 = $20 | $40 HMP1 = $21 | $40 HMM0 = $22 | $40 HMM1 = $23 | $40 HMBL = $24 | $40 VDELP0 = $25 | $40 VDELP1 = $26 | $40 VDELBL = $27 | $40 RESMP0 = $28 | $40 RESMP1 = $29 | $40 HMOVE = $2A | $40 HMCLR = $2B | $40 CXCLR = $2C | $40 CXM0P = $00 | $40 CXM1P = $01 | $40 CXP0FB = $02 | $40 CXP1FB = $03 | $40 CXM0FB = $04 | $40 CXM1FB = $05 | $40 CXBLPF = $06 | $40 CXPPMM = $07 | $40 INPT0 = $08 | $40 INPT1 = $09 | $40 INPT2 = $0A | $40 INPT3 = $0B | $40 INPT4 = $0C | $40 INPT5 = $0D | $40 SWCHA = $0280 SWACNT = $0281 SWCHB = $0282 SWBCNT = $0283 INTIM = $0284 TIMINT = $0285 TIM1T = $0294 TIM8T = $0295 TIM64T = $0296 T1024T = $0297 This also more properly done using vcs.h with TIA_BASE_READ_ADDRESS = $40 and TIA_BASE_WRITE_ADDRESS = $40. Also just for clarity my 3E rom was not over 32K. Thanks for taking a look. According to the kevtris blog using the TIA mirrors is only necessary for 3F. It also doesn't explain why my 32KB test program doesn't crash too. Would it be a valid test to take your 32K rom and concatenate it with itself to create a 64K test ROM? Of course if that works we could continue to double it up to 512K for testing purposes. Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 2, 2018 Share Posted March 2, 2018 I took a look and my old rom was quite incomplete, so I wrote a new test rom. I won't be able to try it on hardware until the weekend at least. I have a feeling the issue might be a ram limit, and maybe that it's 32k. I'm not sure about your roms, but have you tried making a 512K rom only game? Here's the one I just wrote. I haven't tried it on the Encore. I also did switch the TIA addresses to normal, but if it doesn't work I would try changing them back to start at $40. 3E_Test.zip 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 2, 2018 Share Posted March 2, 2018 I forgot to say. If this rom works it will just change background colors and cycle through $00 to $FE. Because the color registers don't use bit 0, the banks only update colors every 2nd bank. Quote Link to comment Share on other sites More sharing options...
ZackAttack Posted March 2, 2018 Author Share Posted March 2, 2018 The test roms that I originally posted use one page of RAM. So I limited it to 510KB of ROM in order to keep the total at 512KB. So I guess really it's a 34KB program that's working since the 32KB bin file is the one that worked on the harmony. I'll try the 512KB bin that you posted sometime this weekend. Btw, stella will auto detect a 3e game if you put HEX 85 3e a9 00 in the image. Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted March 3, 2018 Share Posted March 3, 2018 (edited) I took a look and my old rom was quite incomplete, so I wrote a new test rom. I won't be able to try it on hardware until the weekend at least. I have a feeling the issue might be a ram limit, and maybe that it's 32k. I'm not sure about your roms, but have you tried making a 512K rom only game? Here's the one I just wrote. I haven't tried it on the Encore. I also did switch the TIA addresses to normal, but if it doesn't work I would try changing them back to start at $40. 3E_Test.zip Unfortunately, I don't have time to test your code right now, but I posted a 512k ROM here which does not work either. This ROM does not use RAM and only writes to $3F (no access to $3E), and it only use the TIA mirrors at $40. It doesn't run, even if I set the file suffix. I can't get it to even launch, nothing happens if I select the file in in the menu, so I am pretty sure that at least banking detection and file checks for 3E and 3F are not adapted for the Encore. Edited March 3, 2018 by DirtyHairy Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 I wasn't able to get DirtyHairy's roms working, and most of ZackAttacks. I am trying to nail down the size the Encore is taking. I never tried the rom I posted and instead tweaked it so it compiles to different sizes much easier. Some questions I have ATM: Encore firmware - what is the golden version to use? I'm really not sure if I have updated my Encore in the past and if I have Harmony firmware. This is the first thing to verify, but I could not find clear info on the Encore firmware specifically. I also can not find my disc. Ram allocation: ram would use address space $F000-$F3FF for read and $F400-$FFFF for write. I count that as 1K of ram, but maybe the address space allocates it as 2K of ram? So I'm trying to figure out exactly how much ram is there to be used. Some of things I am trying: - I changed my RORG's to use $Fxxx instead of $1xxx - I went back to using the TIA mirrors at $40 instead of $00 (like DirtyHairy) - I changed my code to always run in the last bank, and just read a byte from each ROM and RAM bank. - I am also trying .3E and .3F extensions Some of the things I learned: - Stella only allows 32 RAM banks to be selected (0-31 writes to $3E) Quote Link to comment Share on other sites More sharing options...
+stephena Posted March 3, 2018 Share Posted March 3, 2018 Some of the things I learned: - Stella only allows 32 RAM banks to be selected (0-31 writes to $3E) This is directly from the description of the scheme. Stella can easily be extended if necessary; I just went with what was described in documentation. Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 This is directly from the description of the scheme. Stella can easily be extended if necessary; I just went with what was described in documentation. That makes sense. Last night I found a link to the Encore appendum, and it describes that it can do (under extensions): 3E (3F with up to 256k RAM) Link to appendum upload: http://atariage.com/forums/topic/156500-latest-harmony-cart-software/page-6?do=findComment&comment=3895566 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 Here is my new rom: 3E_Test_(rev2).zip It will run a test and give a green screen (pass), or red (fail). The number it displays represent: ; 3 rom fail, ram fail ; 2 rom fail, ram pass ; 1 rom pass, ram fail ; 0 rom pass, ram pass I ran the two roms included, and it failed the 3E_Test_(32rom32ram).3e and displayed a "1". That tells me the I can only select 16 ram banks on the Encore, and that the total ram available is 16K. I am now going to keep the ram at 16K and try increasing the rom size. Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 I tried a 64k, 128k, 256k, and 512k rom. All fail to load. I looked at the firmware version on my Encore screen, and it is 1.06. I am now going to search and try uploading the lastest eeprom and bios files to my Encore. If anyone can say for certain they now what should be used on the Encore please say so. Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted March 3, 2018 Share Posted March 3, 2018 Thanks for the systematic testing, Omegamatrix! About the Encore firmware: this is actually an interesting question. I have never seen firmware specifically for the Encore, so I was always under the assumption that both Harmony and Encore use the same firmware and all differences are accounted for at runtime (and my Encore *does* run EF cartridges, which supposedly is a Encore-only feature). However, this is just an assumption, so a definitive statement by someone who knows better wouldn't hurt Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 I tried: Harmony 1.06 BIOS (beta) Same results as before. 32K Rom and 16 Ram maximum for 3E. This version also has garbled characters on the menu screen. Harmony 1.06 BIOS (beta 2) No change for larger size in 3E. Garbled characters is fixed. Harmony 1.06 BIOS (beta 5) No change for larger size in 3E. Harmony 1.06 BIOS No change for larger size in 3E. I'm assuming this is the official release version, but is it the latest? I updated these all with .cu file, and made sure that only the new hbios was on the root of the SD card. I also checked subfolders to make sure no hbios files were in there. One other thing I wondering is if the eeprom file is different for Encore. 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted March 3, 2018 Share Posted March 3, 2018 Link to appendum upload: http://atariage.com/forums/topic/156500-latest-harmony-cart-software/page-6?do=findComment&comment=3895566 Hmm, reading that it looks like 3E was updated to support more RAM, not ROM, and 3F wasn't updated (not listed) so it still supports 32K. Might try experimenting with DF (128K) and BF (256K). Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 3, 2018 Share Posted March 3, 2018 Those other larger bankswitching formats may very well work, but I'm just focusing on 3E at the moment. These are all the 3F games I know of: - Espial - Miner 2049er - Miner 2049er Vol II - Polaris - River Patrol - Springer All are 8K. Going with that I made some new 8k roms with different amounts of ram: - 8k rom, 16 ram - failed (would not load) - 8k rom, 32 ram - failed (would not load) - 8k rom, 64 ram - failed (would not load) - 8k rom, 128 ram - failed (would not load) - 8k rom, 256 ram - failed (would not load) I thought about this and released I had already found that a 32k rom and 16k ram worked, so the 8k rom with 16k ram failure was interesting. I went down a path of thinking that 32K rom plus 16 ram x2 (read/write addressing) = 64K, so maybe the size of both together matered in a way it gets stored in the encore memory. Perhaps the non-loading is due the Encore not starting up in the last bank as defined by the spec, because the size is not what was expected. On that note I experimented next by making a 64k rom with a 32k ram, but it would not load too. So that's where we are. 2 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted March 4, 2018 Share Posted March 4, 2018 I made a test rom and tried BFSC and it works on the Encore. This is sixty four 4k banks with super chip ram. BFSC_Test.zip What is interesting is while loading the Harmony logo disappears and is replaced by an 'e' for Encore. Very nice touch and I haven't seen it before. Must only appear for bankswitching schemes that the Encore can do? In the zip file above is a video of it in action. 6 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.