Project

General

Profile

Activity

From 09/19/2018 to 10/18/2018

10/13/2018

FO 08:57 PM Feature #76: Merge down to trunk
Easy part done, merged down.
For now I branched firmware into firmware_eclairexl and firmware_legacy (for other platforms).
However common is probably incompatible with the other core builds to some degree... Probably nothing too maj...
foft
FO 08:32 PM Feature #76 (In Progress): Merge down to trunk
Made an svn copy of existing trunk (branches/releases/trunk_20181013_premerge)
Also made a backup of lots of random local stuff on my trunk checkout!
Going to merge down the entire eclaireXL branch and start working on trunk.
This wil...
foft

10/12/2018

FO 09:45 PM Bug #33 (Closed): Wizard of Wor
I modeled this by adding a 1 cycle delay on sel9bitpoly going high. The game then works! foft
FO 09:04 PM Bug #33: Wizard of Wor
The high bit of audctl is sel9bitpoly. In the original chip is is delayed and then combined with itself. So I need a 1 enable delay + a bunch of nors to do it the original way...
!lfsr_delay_sel9bitpoly.png!
foft
FO 08:44 PM Bug #33: Wizard of Wor
Altirra has two massive poly tables and selects between them with this flag. So, not really much help since here we are using a real lsfr... I'll check the decap. foft
FO 08:34 PM Bug #33: Wizard of Wor
I think the 17/9 bit lsfr is based on the decap schematics, so this is probably down to the number of cycles to delay on writes/reads or suchlike. foft
FO 08:33 PM Bug #33: Wizard of Wor
I set them to nop ... then the game works and no longer crashes! foft
FO 08:19 PM Bug #33: Wizard of Wor
easier to set memory on xex or atx version...
36FD: A9 8F LDA #$8F
36FF: 8D 08 D2 STA AUDCTL
3702: A9 00 LDA #$00
3704: 8D 08 D2 STA AUDCTL
foft
FO 08:10 PM Bug #33: Wizard of Wor
Will try nopping these to see (on cart!!)
A0BB: A9 8F LDA #$8F
A0BD: 8D 08 D2 STA AUDCTL
A0C0: A9 00 LDA #$00
A0C2: 8D 08 D2 STA AUDCTL
foft
FO 08:03 PM Bug #33: Wizard of Wor
With 8f for only ... 6 cycles foft
FO 07:57 PM Bug #33: Wizard of Wor
It writes 8f and 00 often to audctl. This switches the shift register from 17 bit to 9 bit and back. Could there be some freak timing thing where the random ends up giving the same values?
foft
FO 07:45 PM Bug #33: Wizard of Wor
No Pokey IRQs
Reads pots, writes potgo
Reads random
Reads skstat
+ plays some music
Nothing out of the ordinary that I can see...
I wonder if its possible to play with paddles or this is used for something else.
Could rando...
foft

10/11/2018

FO 09:41 PM Bug #33: Wizard of Wor
I put my real pokey back in the 600Xl to confirm. Definitely works properly with real pokey and definitely fails with pokeymax.
So, we have a pokey core bug.
foft
FO 09:34 PM Bug #33: Wizard of Wor
Nope, fails with pokeymax in mono mode too!
So, the issue seems to be with pokey. OK, getting closer! Will check which pokey regs its accessing in Altirra to get some clues...
foft
FO 09:25 PM Bug #33: Wizard of Wor
I'm trying it on my 600XL. I'm getting similar crashes, when running with PokeyMAX. So could be a Pokey bug, or incompatible with stereo pokey? foft
FO 08:10 PM Bug #33: Wizard of Wor
Crashes in the same way with T65, so... I guess its not a cpu bug! foft
FO 08:04 PM Bug #33: Wizard of Wor
I think its a CPU bug, trying to wire up T65 to see if that works. If it does, I'll run the CPUs against each other and highlight the discrepancy! More realistic than it used to be since Wolfgang did a LOT of t65 fixes since I last used it. foft

10/09/2018

FO 08:55 PM Bug #33: Wizard of Wor
Disables them at $a535 then never re-enables... (this address is normal, I see this call on Altirra) foft
FO 08:44 PM Bug #33: Wizard of Wor
One of the common crashes is when it ends up with the character set in the bottom half. In this state there are no NMIs. Going to try to catch that on the logic analyzer with a large history and see how it entered that state. I guess nmi... foft
FO 07:39 PM Bug #33: Wizard of Wor
Tried shifting the dli, seems to then work.
Tried removing my cpu hack, no change.
Updated to latest cpu core, change was just in sensitivity lists (no real change).
Since the following work:
i) Running core 2x faster
ii) Shifting...
foft

10/08/2018

FO 08:01 AM Bug #33: Wizard of Wor
I have a feeling I did a cpu patch that I wasn’t certain about to fix the Irq blocking nmi acid test. I expect that is related. foft

10/07/2018

FO 09:03 PM Bug #33: Wizard of Wor
Planning to shift the dli so it does not overlap, to see if that fixes it. foft
FO 08:29 PM Bug #33: Wizard of Wor
9c0c: pla on 2nd dli is when 3rd dli fires. This could be shifted by a few cycles on 'events', which could be when it crashes. pla takes 4 cycles. foft
FO 08:16 PM Bug #33: Wizard of Wor
First dli, seems to reposition player and missiles - for map?
Second dli, wsync, change charset
Third dli, was entered during pla of second dli! Seems to reposition players then copy stuff in loops. I guess The players are used for the...
foft
FO 08:00 PM Bug #33: Wizard of Wor
So, taking another look in Altirra:
Altirra> .dumpdlist
2110: x3 blank 8
2113: mode D @ 3500
2116: x59 mode D
2151: mode.i D
2152: mode 4
2153: mode.i 4
2154: mode.i D
2155: x3 mod...
foft
FO 07:25 PM Bug #33: Wizard of Wor
Nope, I was just too rubbish and kept dying before it failed :-) foft
FO 07:19 PM Bug #33: Wizard of Wor
Just testing it and ... tried the atx version and the cart version. They both work now! I guess due to a fix in the last year.
Can someone else double check please to check I'm not going mad?
foft
FO 03:32 PM Bug #33: Wizard of Wor
This one annoys me, raising the priority and going to take another look... foft
FO 03:30 PM Feature #76: Merge down to trunk
This will probably break many (other platform) core builds on trunk in the short term... foft
FO 03:30 PM Feature #76: Merge down to trunk
Keen to get this work back on the mainline. foft
FO 03:04 PM Bug #54 (Closed): GTIA issue when Turbo > 4X
There is a signal that tells gtia when to read the memory from the bus, correctly that signal's generation to allow for cpu cycles spanning the end of an original cycle time. foft

10/05/2018

FA 09:36 PM Bug #75: USB keyboard stops functioning after idle period
Frustratingly, I have not been easily able to reproduce the effect with the keyboard it occurred on before. I will spend some more time attempting to reproduce soon but will be traveling for the next week or so. Farb
FO 09:33 PM Bug #75: USB keyboard stops functioning after idle period
How is it going with the other keyboard? foft
FO 09:32 PM Bug #54: GTIA issue when Turbo > 4X
Data is read on the first completed cycle in an 'original cycle'. Remember this is 32x clock. The problem is that if a cycle starts on the 32nd sub-cycle and ends on the 1st cycle, we take that as the pmg data. foft
FO 09:17 PM Feature #76 (Resolved): Merge down to trunk
Several requests to get some of these features back up and running on the mist. foft

10/04/2018

FO 09:41 PM Bug #54 (In Progress): GTIA issue when Turbo > 4X
foft
FO 09:41 PM Bug #54: GTIA issue when Turbo > 4X
Another one that bugs me, will look at this next since I'm sure its trivial... foft
FO 09:30 PM Bug #60 (Closed): Prozac dreams large logo flickers
OK, that worked but broke an acid test. Now have a solution that works without breaking the acid test... Closing:-) foft
FO 08:42 PM Bug #60: Prozac dreams large logo flickers
Nasty edge case around dma disabling for the last few cycles of the scanline and cpu cycle completion timing, combined with the later cpu cycle completion due to pbi. Think its fixed, just checking! foft
FO 08:10 PM Bug #60: Prozac dreams large logo flickers
There is an extra dma fetch at colour clock 0, investigating what is going on... foft
FO 07:03 AM Bug #75: USB keyboard stops functioning after idle period
Well I just received Millionaire on disk so I can give it a go and see if I have the same issue. My keyboard definitely keeps working when idle in basic since I leave it there all the time while debugging the core:-) foft

10/03/2018

FO 09:36 PM Bug #60: Prozac dreams large logo flickers
Wired up the pbi enable/disable to the menu, so I can turn it on/off and see the result on the frozen screen. Enough for now, but getting closer! foft
FO 09:32 PM Bug #60: Prozac dreams large logo flickers
Its a plain antic 4 display. Seems to be a kernel that moves pmgs around and sets colours also changes character set. I guess this is rasta converter stuff?
Anyway seems to be for some hscrol values it ends up reading the wrong chars,...
foft
FA 10:47 AM Bug #75: USB keyboard stops functioning after idle period
Yes, the core is still running because we were hearing music play. The game we were playing didn't use a joystick so we couldn't test that. I can try to reproduce with something that uses both joystick and keyboard. I will also see if I ... Farb

10/02/2018

FO 09:02 PM Bug #60: Prozac dreams large logo flickers
What do I know so far...
pbi disabled -> works
pbi enabled -> breaks
Tried instead by delaying the cpu enable 20 cycles -> breaks
Tried to delay cpu writes to antic alone by 20 cycles -> works...
Surprised by that last result be...
foft
SA 08:42 PM Bug #75: USB keyboard stops functioning after idle period
sadosp wrote:
> Farb wrote:
> ...
sadosp
SA 08:39 PM Bug #75: USB keyboard stops functioning after idle period
Farb wrote:
Could be irrelevant but I haven't replaced a faulty ribbon cable that caused joystick problems. I merely swapped the two cables and joysticks started working properly.
Irrespective of the problem with the keyboard,I am v...
sadosp
FO 07:25 PM Bug #75: USB keyboard stops functioning after idle period
Unlikely to be the ribbon, though if its iffy you should replace it. I say that because while the joysticks are connected via the ribbon, the usb ports are directly connected to the fpga.
Might be worth trying a different keyboard to ...
foft
FA 02:41 PM Bug #75: USB keyboard stops functioning after idle period
I have seen it happen a few times using the same USB keyboard (which was also the same keyboard I used on the MiST and don't recall having a problem):
1. Last night using v28 playing a trivia game ("Millionaire" from the 2018 ABBUC so...
Farb
FO 10:27 AM Bug #75: USB keyboard stops functioning after idle period
Two potential problems:
1) max number of devices was decreased in v28, should have no impact but it was a change.
2) SIO can block usb polling and there have been significant sio changes.
This really seems to be elapsed time? Did yo...
foft

10/01/2018

FA 10:16 PM Bug #75 (Closed): USB keyboard stops functioning after idle period
I have noticed in the last few core builds (up to and including v29) that if the USB keyboard is idle for too long, it stops working. Sometimes unplugging/replugging the USB connector fixes the problem and sometimes it doesn't. Farb

09/29/2018

FO 02:59 PM Bug #60: Prozac dreams large logo flickers
This one annoys me, since the cycle position change should not break anything in antic. Should be easy to make a core with two antics to compare... foft
FO 02:58 PM Feature #32: option to connect the original ATARI XL keyboard to ExclairXL
One from back in the day...
https://www.youtube.com/watch?v=GB3ywcwsoiM
On pokeymax I'm using an i2c to parallel converter for keyboard.
https://www.youtube.com/watch?v=1qKhNJal3V8
foft
FO 02:51 PM Bug #52 (Closed): Atari Control Picture
Fixed by giving gtia modes priority over the high-res mode. This fixes the acp while acid still passes.
Still aware that gtia mode switching timing is a colour clock or so off, but in practical terms this is unlikely to be a problem.
foft

09/28/2018

FO 09:41 PM Bug #52: Atari Control Picture
So this is mode 8 to mode 9. 'clean transition after 4 colour clocks'.
The Eclaire takes 5 colour clocks here and the real hardware seems to take 2-3 colour clocks I think. Though possibly I'm confused:-)
foft
FO 09:38 PM Bug #52: Atari Control Picture
For reference, the relevant passage from the Altirra hardware reference manual:
GTIA mode changes
A change to bits 6-7 of PRIOR takes place between 3-5 color clocks after the write, primarily after 4 color clocks
with a possible cycl...
foft
FO 09:35 PM Bug #52: Atari Control Picture
I fixed this by adjusting the delay on turning off the highres flag when switching into gtia mode. However it broke the Pseudo mode E acid test. So need to investigate some more! It looks like I'd put a 2 cycle delay in here specifically... foft

09/27/2018

FO 10:06 PM Bug #52 (In Progress): Atari Control Picture
Managed to capture in the logic analyzer with lots of info... Now just need to understand it then I can fix! foft
FO 07:15 PM Bug #38 (Closed): Numen crashes on v9
foft
FO 07:12 PM Feature #73 (Closed): Implement ATX disk image support
Closing this, since the core support is present. Of course we can raise new tickets for improvements/fixes or e.g. 1050 support.
Most items on the 110 test disk pass. Sometimes Broderbund test1 fails.
foft

09/26/2018

FO 09:55 PM Bug #74 (Closed): Mounted disks don't always load
Closing as I think this is fixed in v29. Reopen if problems still seen! foft

09/25/2018

FO 10:08 PM Bug #74: Mounted disks don't always load
In the end I chose to use the SIO clock for receiving command packets. I also count the rate. Then I reply using the same rate, creating my own clock.
I also fixed the divisor selection, it was not using the valid from the menu!
Wi...
foft

09/21/2018

FO 11:48 PM Bug #74: Mounted disks don't always load
Except I need to send start bit from zpu to start that clock. Probably a fairly simple state machine change, but getting too late now! foft
FO 10:53 PM Bug #74: Mounted disks don't always load
On second thoughts, why guess when I know. Pokey is already outputting the serial input anyway (even in input mode, since its oe/in/out which is then connected to the pin). Then I can remove all the divisor guessing logic and code. foft

09/20/2018

FO 09:29 PM Bug #74: Mounted disks don't always load
Implemented using sio clock out as the zpu clock input. Should mean it can listen to whatever speed. Though of course there is still the question of what speed to reply at. Of course I do know what the pokey divisor is but it feels like ... foft
 

Also available in: Atom