phaeron Posted March 31, 2017 Author Share Posted March 31, 2017 There is a bug in Altirra with ANTIC palette emulation. Real hardware is ignoring the least significant bit when interpreting color indices in color map (leads to 128 palette entries being used effectively), whereas the emulation software takes it into account (complete set of 256 entries is used). Notice the top panel colors. Altirra: Real HW: Huh? Altirra does mask off the LSB in the color registers, and in any case that's the LSB0 of luminance, which wouldn't cause a difference between brown and white...? Quote Link to comment Share on other sites More sharing options...
Marek Konopka Posted March 31, 2017 Share Posted March 31, 2017 (edited) Huh? Altirra does mask off the LSB in the color registers, and in any case that's the LSB0 of luminance, which wouldn't cause a difference between brown and white...? If I set VBXE color palette (#1) like this: #0 black #1 yellow #2 white #3 brown #4 green and reference its entries through color map like this (#1,#2,#3,#4) for PF1, Altirra will show these color accordingly (yellow, white, brown, green), whereas it should not, according to your statement. It should show black (masked off from #1), white, white (masked off from #3), green. Real HW is indeed doing the masking. Altirra does not. Everythings gets corrected when I set up an extended palette and index colors with even numbers: #2, #4, #6, # 8. #0 black #1 black (not used, due to masking off) #2 yelow #3 yellow (not used) #4 white #5 white (not used) #6 brown #7 brown (not used) #8 green #9 green (not used) Edited March 31, 2017 by Marek Konopka Quote Link to comment Share on other sites More sharing options...
lemiel Posted March 31, 2017 Share Posted March 31, 2017 Marek - is it only VBXE related? Could you also check if it is OK with Simius Sophia? Quote Link to comment Share on other sites More sharing options...
ijor Posted March 31, 2017 Share Posted March 31, 2017 If I set VBXE color palette (#1) like this: ... May be you should elaborate and specify the exact condition. For starters, I think none of us understood you were talking about something related to VBXE. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 (edited) For starters, I think none of us understood you were talking about something related to VBXE. Really? I thought it was more than obvious. Edited March 31, 2017 by MrFish Quote Link to comment Share on other sites More sharing options...
ijor Posted March 31, 2017 Share Posted March 31, 2017 Really? I thought it was more than obvious. Why it would be obvious he was talking about VBXE at all? He said specifically it was a bug in the ANTIC emulation. And even if the OP (or you) initially thought it was obvious, it should have been very clear after Phaeron's reply that it is really not so. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 Why it would be obvious he was talking about VBXE at all? He said specifically it was a bug in the ANTIC emulation. And even if the OP (or you) initially thought it was obvious, it should have been very clear after Phaeron's reply that it is really not so. It was obvious because of the screenshots from a game that's been talked about on these forums for years now. Does that look like something from a stock machine? And I'll guarantee I'm not alone in knowing it was VBXE. Quote Link to comment Share on other sites More sharing options...
ijor Posted March 31, 2017 Share Posted March 31, 2017 It was obvious because of the screenshots from a game that's been talked about on these forums for years now. Does that look like something from a stock machine? And I'll guarantee I'm not alone in knowing it was VBXE. I have no idea about that game. And I can guarantee I'm not the only one. Just look at the replies to the OP. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 (edited) I have no idea about that game. I can see that, but surely the 8-color background over the majority of the screen should at least raise an eyebrow. And I can guarantee I'm not the only one. Just look at the replies to the OP. I never said or implied that you're the only one. You said, "I think none of us understood you were talking about something related to VBXE." Your assumption is false. Edited March 31, 2017 by MrFish Quote Link to comment Share on other sites More sharing options...
Marek Konopka Posted March 31, 2017 Share Posted March 31, 2017 (edited) I meant ANTIC palette emulation with regards to VBXE color map. Should have stated that explicitly, Though mentioned implicitly by saying "color map". Edited March 31, 2017 by Marek Konopka 1 Quote Link to comment Share on other sites More sharing options...
ijor Posted March 31, 2017 Share Posted March 31, 2017 (edited) You said, "I think none of us understood you were talking about something related to VBXE."Your assumption is false. Man, you like to beat things to death. I stand corrected. I should have used a different term. So? It doesn't change the main point that the OP should elaborate and describe exactly the situation. I'm sure the OP didn't mean bad. But reporting bugs without providing all the details is somewhat selfish towards the developer. It is in a way, asking the developer to make the work that you should do. Again, I'm not saying the OP did that intentionally. Edit: Sorry, I posted together with last Marek's post. Edited March 31, 2017 by ijor Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 Man, you like to beat things to death. I stand corrected. I should have used a different term. So? It doesn't change the main point that the OP should elaborate and describe exactly the situation. "Beat things to death", because I justify my statements to your replies? This is a selfish attitude when you've made just as many posts in justifying your own position. I'm sure the OP didn't mean bad. But reporting bugs without providing all the details is somewhat selfish towards the developer. It is in a way, asking the developer to make the work that you should do. Again, I'm not saying the OP did that intentionally. I think this was answered in Marek's last post. I agree about bug reporting. I'm just saying his initial post wasn't so unclear as you seemed to make it. Quote Link to comment Share on other sites More sharing options...
bfollett Posted March 31, 2017 Share Posted March 31, 2017 Hmmm Why Can't We Be Friends.mp3 3 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 (edited) Hmmm [Why Can't We Be Friends.mp3] Nice sentiment. But being friends provides no immunity from pointed discussions, debates, or disagreements. In fact, their probability often becomes higher. Edited March 31, 2017 by MrFish Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 31, 2017 Share Posted March 31, 2017 I didn't realise he was talking about VBXE. Quote Link to comment Share on other sites More sharing options...
fujidude Posted March 31, 2017 Share Posted March 31, 2017 I didn't realise he was talking about VBXE. Neither did I. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted March 31, 2017 Share Posted March 31, 2017 I think only him and MrFish knew, its a conspiracy folks! But to be more on topic, that Rick D game looks really nice...Coming along well... Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 31, 2017 Share Posted March 31, 2017 I think only him and MrFish knew, its a conspiracy folks! VBXE is the conspiracy! Quote Link to comment Share on other sites More sharing options...
Keatah Posted April 1, 2017 Share Posted April 1, 2017 May be you should elaborate and specify the exact condition. For starters, I think none of us understood you were talking about something related to VBXE. I certainly did not. Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 1, 2017 Share Posted April 1, 2017 I think he's referring to VBXE colour maps when being used as cell-based override for PF colours. Normally PFx registers will only index to even palette entries if the xcolor control bit isn't set, this allows 128 colours. So possibly this setting is incorrectly restricting colour maps by masking off the lsb of the index supplied by it? Quote Link to comment Share on other sites More sharing options...
Marek Konopka Posted April 1, 2017 Share Posted April 1, 2017 (edited) I think he's referring to VBXE colour maps when being used as cell-based override for PF colours. Normally PFx registers will only index to even palette entries if the xcolor control bit isn't set, this allows 128 colours. So possibly this setting is incorrectly restricting colour maps by masking off the lsb of the index supplied by it? Can not say VBXE is doing something wrong. It simply masks off the LSB bit. Altirra is not following it. Part of XDL List: dta b(vbxe.EXdlc.RPTL + vbxe.EXdlc.MAP_ON, vbxe.EXdlc.MAPADR + vbxe.EXdlc.MAPPAR + vbxe.EXdlc.ATT) // enable properties dta b(CHAR_HEIGHT - 1) // number of repetitions dta t(VbxePanelColorMapAdr) // attribute map address dta a(0) // attribute map step dta b(0, 0, PANEL_VBXE_COLOR_MAP_ENTRY_WIDTH - 1, PANEL_VBXE_COLOR_MAP_ENTRY_HEIGHT - 1) // hscroll, vscroll, cm width, cp height dta b(vbxe.EXdl.OV_WIDTH_NARROW, 0) // narrow ov/am, main priority = 0 StatisticsPanelVbxeColorMap: StatisticsPanelVbxeColorMapBegin: .rept 2 dta b(0, 2, 0, %01000000) // even entries are fine .endr .rept 2 dta b(0, 4, 0, %01000000) // even entries are fine .endr .rept 2 dta b(0, 6, 0, %01000000) // even entries are fine .endr .rept 2 dta b(0, 8, 0, %01000000) // even entries are fine .endr StatisticsPanelVbxeColorMapEnd: If I use indices from 0..4 Real HW will mask-off the LSB and show wrong colors. Had to use even entries (0, 2, 4, 6, 8 ) I haven't touched the xcolor bit in VIDEO_CONTROL register. Wasn't aware of its existence. Thanks for the tip - I will use this one. Anyway, it's worth fixing the issue on the emulation side. Edited April 1, 2017 by Marek Konopka 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted April 1, 2017 Share Posted April 1, 2017 VBXE is the conspiracy! Might as well be with the limited number of uses of it, at least this RickD game seems to use it.....Such a shame as its a lovely piece of hardware... 1 Quote Link to comment Share on other sites More sharing options...
fujidude Posted April 1, 2017 Share Posted April 1, 2017 Might as well be with the limited number of uses of it, at least this RickD game seems to use it.....Such a shame as its a lovely piece of hardware... Agreed. If I still had real hardware I would consider it a mandatory purchase. As it is, I use it in Altirra and love it. Quote Link to comment Share on other sites More sharing options...
phaeron Posted April 3, 2017 Author Share Posted April 3, 2017 Update: http://www.virtualdub.org/beta/Altirra-2.90-test30.zip http://www.virtualdub.org/beta/Altirra-2.90-test30-src.zip Adds emulation support for the Percom RFD-40S1 drive, of the series that introduced the famous Percom configuration block. This is a 6809-based drive, so it was a bit interesting getting a new 6809 core up and running. The 6809 has a clean and powerful instruction set, but many instructions take a few too many clocks than they should... the most egregious being TFR A,B taking 6 cycles. The Percom firmware is written straightforwardly, though I suspect they could have saved quite a few clock cycles and bytes -- everything from unnecessarily long branches, LBSR+RTS pairs, PC-relative everywhere, etc. Some odds and ends about this drive: Like the ATR8000, the hardware appears to support for 2MHz FDC clock for 8" drives, but the firmware doesn't use it. Also like the ATR8000, the RFD-40S1 takes too long to initialize if turned on at the same time as the computer due to recalibrating four drives. Soft-reset the computer in order to work around this. Unlike the ATR8000, the RFD-40S1 can have its drive IDs changed, and it can go as high as D8: with the internal jumper. The drive does support automatic density switching, but only for sector 1 on D1:. First drive won't even work if it's above D1:, it literally has to be drive ID $31. Not sure why it wasn't allowed on any other drive IDs.... This is the only drive I've seen that physically can't do high-speed operation even with custom firmware. It uses a UART instead of bit-banged SIO and the clock is hardwired to 19,200 baud. The drive firmware doesn't use interrupts for anything other than FDC interrupt and timeout and polls for SIO anyway, so I'm not sure why they didn't just bit-bang like everyone else and save a chip. The NMI has an unusual one-shot on it for read/write timeout instead of a fake-index-pulse based timeout that the RIOT-based drives use. I couldn't determine the time constant for this one-shot circuit, so I guessed. The jsobola schematic has several apparent errors in it: IRQ wired to UART chip select, UART clock lines tied together, FDC clock control lines seem crossed.... Other changes: Fixed disk rotational position not being reset properly on a cold reset, causing the disk position to be randomized. It is now deterministic. Fixed the heat-map based uninitialized effective address trap being active whenever the heat map was enabled, even if the EA trap was disabled. Added .logopen and .logclose commands to the debugger. Fixed crash when examining memory in the debugger in 800 mode with separate I/O bus mode enabled. Fixed xcolor bit in VBXE not affecting colors in the attribute map. Added option for keys double-mapped between the keyboard and input maps to be received by both, instead of only by the input map. I meant ANTIC palette emulation with regards to VBXE color map. Should have stated that explicitly, Though mentioned implicitly by saying "color map". Sorry, yeah, this wasn't clear to me either -- please note if you're talking about VBXE specific issues. Also, ANTIC isn't involved with palettes -- that's GTIA/VBXE's job -- and color map is typically synonymous with palette. The map you're talking about in VBXE is typically called the attribute map. I did find and fix a bug where the VBXE emulation was not masking off the LSB in the attribute map colors if xcolor=0. 8 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted April 3, 2017 Share Posted April 3, 2017 (edited) Can I request you bolt the kitchen sink on to Altirra, it seems to do every thing else Thanks Avery, the force is strong in you... Actually there's one totally ear candy thing, all these wonderful drives, could at some point if people provide decent samples get their own individual mech sounds ? That is IF they sound any different, I personally only had Atari modified drives so apart from the step being faster they sounded all the same? And IF they do have sounds would the inclusion of the sounds make the exe bigger than you want? Again, this is all pure 'what if' and not an actual request, emulation / compatibility completeness always trump trivial stuff and of course whatever spare time you have trumps all this. Oh and here's a link kindly found by Timothy Kline to what seems the eprom needed for the Percom emulation, to save you looking. http://blog.3b2.sk/igi/post/ATARI-floppy-disk-drive-PERCOM-RFD-40S1.aspx Edited April 3, 2017 by Mclaneinc 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.