Steem SSE 3.6 bug reports

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

User avatar
Cyprian
Atari God
Atari God
Posts: 1292
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: Steem SSE 3.6 bug reports

Postby Cyprian » Tue Apr 29, 2014 8:54 pm

Steven Seagal wrote:You may receive that message if loading the snapshot would crash Steem (C++ try/catch).
It doesn't happen all the time I hope, also when you delete that file. Steem v3.6.2 is usable for you?

Today I re-checked that on a clean setup. I removed old Steem folder, I downloaded the latest Steem from your page and I extracted it to a newly created folder. Unfortunately that issue still happens every time, except when I remove file "auto.sts".
I don't know if it matters but OS is Win7 64bit.

Steven Seagal wrote:Thx, I'll check that.
About Microwire, in Steem 3.2 there was no real emulation, in current version there's emu of volumes & bass, not treble because of big dsp issues (crash), it's for later. You must check SSE option 'Microwire'.
It's one of the (very) rare areas where I admit Hatari does better.

That case touches only LMC mixer. In STe, YM sound is only audible when Input1 is selected (this is default TOS setting). In case of Steem, whether you choose Input1/2/3/4 or Open YM is always audible.
Jaugar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Aranym / Steem / Saint
http://260ste.appspot.com/

User avatar
npomarede
Atari God
Atari God
Posts: 1062
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Steem SSE 3.6 bug reports

Postby npomarede » Wed Apr 30, 2014 7:49 am

Steven Seagal wrote:It was OK in v3.2, I copied something from Hatari where they were wrong apparently, it does the same (blue).
Thx for the report and the tester, it clarifies things.

Better use the dev version of Hatari, it was fixed in july 2013 :)

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Wed Apr 30, 2014 6:06 pm

Cyprian wrote:Today I re-checked that on a clean setup. I removed old Steem folder, I downloaded the latest Steem from your page and I extracted it to a newly created folder. Unfortunately that issue still happens every time, except when I remove file "auto.sts".
I don't know if it matters but OS is Win7 64bit.


I saw a potential bug that would cause the exception that ends up getting you the message.
Could you please try with this build:

http://ataristeven.t15.org/Files/Steem_SSE_Beta.zip

That case touches only LMC mixer. In STe, YM sound is only audible when Input1 is selected (this is default TOS setting). In case of Steem, whether you choose Input1/2/3/4 or Open YM is always audible.


The corresponding variable was updated at IO stage, but not used in sound rendering for some reason.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Wed Apr 30, 2014 6:07 pm

npomarede wrote:Better use the dev version of Hatari, it was fixed in july 2013 :)


Is it possible to download the source without a Mercurial client?
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

Hippy Dave
Atari Super Hero
Atari Super Hero
Posts: 515
Joined: Sat Jan 10, 2009 5:40 am

Re: Steem SSE 3.6 bug reports

Postby Hippy Dave » Wed Apr 30, 2014 6:20 pm

Steven Seagal wrote:
npomarede wrote:Better use the dev version of Hatari, it was fixed in july 2013 :)


Is it possible to download the source without a Mercurial client?

I don't think so.
here is a home made tarball.
You do not have the required permissions to view the files attached to this post.

User avatar
Cyprian
Atari God
Atari God
Posts: 1292
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: Steem SSE 3.6 bug reports

Postby Cyprian » Wed Apr 30, 2014 8:00 pm

Steven Seagal wrote:I saw a potential bug that would cause the exception that ends up getting you the message.
Could you please try with this build:

http://ataristeven.t15.org/Files/Steem_SSE_Beta.zip
the problem has gone

Steven Seagal wrote:The corresponding variable was updated at IO stage, but not used in sound rendering for some reason.
that works fine now

thanks

there is another small issue. DMA sound is crackling, you can hear it in that YM_LMC1 test.
If I remember correctly you mentioned about issue with small DMA buffer. In my case it is 12 bytes buffer.
Jaugar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Aranym / Steem / Saint
http://260ste.appspot.com/

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Thu May 01, 2014 7:50 am

Cyprian wrote:
Steven Seagal wrote:I saw a potential bug that would cause the exception that ends up getting you the message.
Could you please try with this build:

http://ataristeven.t15.org/Files/Steem_SSE_Beta.zip
the problem has gone

Apparently Steem couldn't init capsimg.dll, but it should work with or without.
At least the exception was caught.
Because of this bug, v3.6.3 will be released very soon. Thx for the report.
Steven Seagal wrote:The corresponding variable was updated at IO stage, but not used in sound rendering for some reason.
that works fine now

thanks

there is another small issue. DMA sound is crackling, you can hear it in that YM_LMC1 test.
If I remember correctly you mentioned about issue with small DMA buffer. In my case it is 12 bytes buffer.


This is harder to fix, I already reviewed dma sound emu once, without success.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
lotek_style
Mod(ul)erator
Mod(ul)erator
Posts: 2311
Joined: Sat May 11, 2002 2:39 pm
Location: germany
Contact:

Re: Steem SSE 3.6 bug reports

Postby lotek_style » Thu May 01, 2014 4:00 pm

Hey Steven... can you please check this:

http://demozoo.org/productions/77848/

mainmenu works fine in Saint... emulator issue?
lotek style / the sirius cybernetics corporation
- musician - ascii-artist - swapper - archivist -

.tSCc. - low-tech atari cyberpunks since 1990
http://www.tscc.de/ | http://demozoo.org/ | http://www.lotekstyle.de/ | http://ymrockerz.atari.org/

mOdmate
Atari freak
Atari freak
Posts: 65
Joined: Sun Apr 10, 2005 12:56 pm
Contact:

Re: Steem SSE 3.6 bug reports

Postby mOdmate » Thu May 01, 2014 4:18 pm


User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Thu May 01, 2014 5:52 pm

Yes normally this one runs but you must select wake-up option WS1 in current version.
Note that file 'SpecificHints.txt' gives such info:

- Hackabounds Demo: STF WS1
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
Avanze
Captain Atari
Captain Atari
Posts: 170
Joined: Tue Sep 16, 2003 1:49 am
Location: State College, PA

Steem SSE 3.6.4 bug reports

Postby Avanze » Sun Jun 15, 2014 2:22 pm

Kick Off 2 (Ver.1.4e) ipf crc 4CC10F6D crashes during the loading screen with two bombs.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6.4 bug reports

Postby Steven Seagal » Sun Jun 15, 2014 3:19 pm

Avanze wrote:Kick Off 2 (Ver.1.4e) ipf crc 4CC10F6D crashes during the loading screen with two bombs.


Thx for the report, nice case.
It will be fixed in next version.

Technical: Steem wouldn't execute the 'DRQ' (data request) of the floppy disk controller if bit 7 of DMA control register wasn't set. It made sense because when that bit is 0, the 'DRQ' is for hard disk controller, not floppy.
But the DMA should transfer random (?) data instead of doing nothing.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
npomarede
Atari God
Atari God
Posts: 1062
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Steem SSE 3.6.4 bug reports

Postby npomarede » Sun Jun 15, 2014 9:32 pm

Steven Seagal wrote:
Avanze wrote:Kick Off 2 (Ver.1.4e) ipf crc 4CC10F6D crashes during the loading screen with two bombs.


Thx for the report, nice case.
It will be fixed in next version.

Technical: Steem wouldn't execute the 'DRQ' (data request) of the floppy disk controller if bit 7 of DMA control register wasn't set. It made sense because when that bit is 0, the 'DRQ' is for hard disk controller, not floppy.
But the DMA should transfer random (?) data instead of doing nothing.

IIRC, bit 6 enable/disable DMA is in fact useless (at least in FDC). Most programs will write 0x90, 0x190, 0x90 to flush the dma and put it in read mode and you can see that bit6=0, yet transfer will work. What matters to read/write data on disk is to have dma sector count > 0

Nicolas

EDIT : misread, in fact you're talking about bit 7 ; does it mean Kick Off doesn't use 0x90 / 0x190 to set dma control ?

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6.4 bug reports

Postby Steven Seagal » Mon Jun 16, 2014 5:25 am

npomarede wrote:IIRC, bit 6 enable/disable DMA is in fact useless (at least in FDC). Most programs will write 0x90, 0x190, 0x90 to flush the dma and put it in read mode and you can see that bit6=0, yet transfer will work. What matters to read/write data on disk is to have dma sector count > 0

Nicolas

EDIT : misread, in fact you're talking about bit 7 ; does it mean Kick Off doesn't use 0x90 / 0x190 to set dma control ?


DMA control register is $50 and FDC command is $80 at that time.
There's also a CRC error on the sector "16", track 2.

Code: Select all

Assert failed: MCR&CR_DRQ_FDC_OR_HDC
caps FDC IRQ CR 80 STR 88 ( MO CRC ) TR 2 SR 16 DR 128 ($80) HBL 470250 A0: T 2/0 DMA CR 50 $260A2 SR 5 #0 PC 19EFE
Last edited by Steven Seagal on Mon Jun 16, 2014 6:43 pm, edited 1 time in total.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

IFW
Captain Atari
Captain Atari
Posts: 181
Joined: Fri Jul 22, 2011 4:53 pm

Re: Steem SSE 3.6 bug reports

Postby IFW » Mon Jun 16, 2014 8:49 am

As far as I remember DRQ is always serviced by the DMAC automatically, see below.
Notice, how read first reads the data (causing DRQ to negate), then fails if there is anything wrong.

Code: Select all

// drq set callback
void __cdecl FdcCBDrq(PCAPSFDC pfdc, UDWORD state)
{
   if (!state) {
      // clear drq mirror
      dmcinf.status&=~DMADST_DRQ;
      return;
   }

   // HDC access, dma error
   if (!(dmcinf.modecontrol & DMADMC_FH)) {
      dmcinf.status&=~DMADST_ESD;
      return;
   }

   // set drq mirror
   dmcinf.status|=DMADST_DRQ;

   // process dma
   if (dmcinf.modecontrol & DMADMC_WR) {
      // transfer limit reached/disabled dma, dma error
      if (!dmcinf.sectorcount && !dmcinf.fifofill) {
         dmcinf.status&=~DMADST_ESD;
         return;
      }

      // write to fdc: fifo buffer to fdc data until fifo is empty
      if (dmcinf.fifofill) {
         CAPSFdcWrite(&dmcinf.fdc, 3, dmcinf.fifo[DMADISK_FIFOSIZE-dmcinf.fifofill--]);
         return;
      }

      // get dma base
      UDWORD bcnt=FdcGetBcnt();

      // copy dma area to fifo
      memcpy(dmcinf.fifo, STRam+bcnt, DMADISK_FIFOSIZE);

      // set new dma base
      FdcSetBcnt(bcnt+DMADISK_FIFOSIZE);

      // fifo full (minus the data just to be written)
      dmcinf.fifofill=DMADISK_FIFOSIZE-1;

      // write data to fdc data register
      CAPSFdcWrite(&dmcinf.fdc, 3, dmcinf.fifo[0]);
   } else {
      // get fdc data register
      UDWORD data=CAPSFdcRead(&dmcinf.fdc, 3);

      // transfer limit reached/disabled dma, dma error
      if (!dmcinf.sectorcount && !dmcinf.fifofill) {
         dmcinf.status&=~DMADST_ESD;
         return;
      }

      // data to fifo buffer until fifo is full
      dmcinf.fifo[dmcinf.fifofill++]=data;
      if (dmcinf.fifofill < DMADISK_FIFOSIZE)
         return;

      // get dma base
      UDWORD bcnt=FdcGetBcnt();
      // copy fifo to dma area
      memcpy(STRam+bcnt, dmcinf.fifo, DMADISK_FIFOSIZE);

      // set new dma base
      FdcSetBcnt(bcnt+DMADISK_FIFOSIZE);

      // reset fifo (empty)
      dmcinf.fifofill=0;
   }

   // process dma counters
   dmcinf.fifoaccess+=DMADISK_FIFOSIZE;
   if (dmcinf.fifoaccess >= DMADISK_SECSIZE) {
      dmcinf.fifoaccess=0;
      FdcSetSectorCount(dmcinf.sectorcount-1);
   }
}


User avatar
npomarede
Atari God
Atari God
Posts: 1062
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Steem SSE 3.6 bug reports

Postby npomarede » Mon Jun 16, 2014 9:18 am

IFW wrote:As far as I remember DRQ is always serviced by the DMAC automatically, see below.
Notice, how read first reads the data (causing DRQ to negate), then fails if there is anything wrong.

Yes, only DMA sector count matters to transfer data. It should be high enough to read all the sectors or track.
As already tested on my STF, the following mode values are working :
- $90 / $190 : bit7=1 fdc acces + bit6=0 DMA ON + bit4=1 dma sector count ; that's the most common values used
- $D0 / $1D0 : same as $90 / $190 but with bit6=1 (DMA OFF) -> transfer works
- $50 / $150 : bit7=0 hdc access + bit6=0 DMA ON + bit4=1 dma sector count -> transfer works

So, bit 6 is useless, DMA is always ON. As for bit7, it doesn't seem to be used too. Maybe bit 6/7 were supposed to do something, but it was not implemented by Atari ?

In all 3 cases, if you read a sector from disk, it is correctly transfered (you get the sector's content, not some random or null bytes)

Nicolas

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Mon Jun 16, 2014 6:42 pm

Thx for the clarification.
It's pretty odd, though. Why did Atari so poorly design/document its own chip?
I suppose it's bit 3 making the difference between HDC/FDC for the DRQ:

Code: Select all

    ff 8606   W       |-------xxxxxxxx-|   DMA Mode Control (Word Access)
                              ||||||||     0  Reserved (0)
                              ||||||| -----1  A0 lines of FDC/HDC
                              |||||| ------2  A1 ................
                              ||||| -------3  HDC (1) / FDC (0) Register Select
                              |||| --------4  Sector Count Register Select
                              |||0         5  Reserved (0)
                              || ----------6  Disable (1) / Enable (0) DMA
                              | -----------7  FDC DRQ (1) / HDC DRQ (0)
                               ------------8  Write (1) / Read (0)


Other funny thing is the game seems to start with random data, maybe that data isn't important and the game just wants CRC error when reading the protection sector.
The STX version works, so this aspect is well done in pasti fortunately.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
npomarede
Atari God
Atari God
Posts: 1062
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Steem SSE 3.6 bug reports

Postby npomarede » Mon Jun 16, 2014 7:05 pm

Steven Seagal wrote:Other funny thing is the game seems to start with random data, maybe that data isn't important and the game just wants CRC error when reading the protection sector.
The STX version works, so this aspect is well done in pasti fortunately.

Kick Off 2's protection uses some fuzzy 1024 byte sectors on track 4,6,8,... (often on sector 16). That's something widely used in Rob Northen protection and pasti has no problem to image this.

IFW
Captain Atari
Captain Atari
Posts: 181
Joined: Fri Jul 22, 2011 4:53 pm

Re: Steem SSE 3.6 bug reports

Postby IFW » Tue Jun 17, 2014 12:24 pm

Actually, it uses NFA.

User avatar
Marcer
Atarilegend
Atarilegend
Posts: 4073
Joined: Wed Mar 10, 2004 6:21 pm
Location: sweden
Contact:

Re: Steem SSE 3.6 bug reports

Postby Marcer » Wed Jun 25, 2014 1:17 pm

I havent managed to get treasure trap to work, crk by superior. But works in old 3.2..

Skickat från min C6903 via Tapatalk
- Atari ST/FM/E - Mega sTe - Portfolio - Falcon 030 FX 3 in 1 -- Atari 7800/Lynx/Jaguar -
- FTP... Ask for info
- Atari Legend (Games all-a-round)
- Paradize (Chip Music)
- Elite (Atari Softs)
- The Legion (Demos)
- Alive Maggie Team
_/|\_YM-RockerZ_/|\_

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Wed Jun 25, 2014 5:39 pm

Marcer wrote:I havent managed to get treasure trap to work, crk by superior. But works in old 3.2..


Yes, it's a bug in "STEP IRQ", will be fixed.
Meanwhile it sill works in fast, non "accurate" mode (he he).
Thx for the report.
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
Marcer
Atarilegend
Atarilegend
Posts: 4073
Joined: Wed Mar 10, 2004 6:21 pm
Location: sweden
Contact:

Re: Steem SSE 3.6 bug reports

Postby Marcer » Fri Jun 27, 2014 2:43 pm

Ah okay :)

Next trouble...

Wipe Out (replicants file version).

Cant get it to work in any Steem versions. after reps intro it loads depacks and freezes.
- Atari ST/FM/E - Mega sTe - Portfolio - Falcon 030 FX 3 in 1 -- Atari 7800/Lynx/Jaguar -
- FTP... Ask for info
- Atari Legend (Games all-a-round)
- Paradize (Chip Music)
- Elite (Atari Softs)
- The Legion (Demos)
- Alive Maggie Team
_/|\_YM-RockerZ_/|\_

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Fri Jun 27, 2014 7:50 pm

Yes, it's a bug too but this one was already in v3.2 as you noticed.
Again the drive, this time management of command $D0 (interrupt).
I'm surprised it didn't surface before.
Will be fixed too, thx for the report, especially as I may add this game to my hit list!
By the way the .ST image is 2x80x6x512 and pasti.dll can't load it (read scroller).
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1629
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Steem SSE 3.6 bug reports

Postby Steven Seagal » Mon Nov 10, 2014 9:20 pm

Cyprian wrote:That case touches only LMC mixer. In STe, YM sound is only audible when Input1 is selected (this is default TOS setting). In case of Steem, whether you choose Input1/2/3/4 or Open YM is always audible.


Coming back to this, it seems demo Pacemaker writes '0' in that register then plays some PSG tune.
There's no sound in v3.6.4 if Microwire is checked, so should it be -12 DB instead?
In the CIA we learned that ST ruled
Steem SSE: http://ataristeven.exxoshost.co.uk/Steem.htm

Hippy Dave
Atari Super Hero
Atari Super Hero
Posts: 515
Joined: Sat Jan 10, 2009 5:40 am

Re: Steem SSE 3.6 bug reports

Postby Hippy Dave » Tue Nov 11, 2014 8:03 pm

Steven Seagal wrote:
Cyprian wrote:That case touches only LMC mixer. In STe, YM sound is only audible when Input1 is selected (this is default TOS setting). In case of Steem, whether you choose Input1/2/3/4 or Open YM is always audible.


Coming back to this, it seems demo Pacemaker writes '0' in that register then plays some PSG tune.
There's no sound in v3.6.4 if Microwire is checked, so should it be -12 DB instead?

The Pacemaker demo has a bug. -12 DB does not exist (YM2149 should be silent). The Pacemaker demo has sound because it incorrectly uses the Microwire register (and gets ignored on a real STE). Thus Steem must only have YM sound when input 1 is selected, and must emulate Microwire accurately enough to ignore the Pacemaker demo. Nicolas fixed this in Hatari (June 2014).


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 2 guests