Author Topic: SIOUX annoyance  (Read 4243 times)

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
SIOUX annoyance
« on: December 28, 2018, 08:06:38 AM »
When I write many lines with cout << c << endl, then suddenly it waits 1 second after every line. Before CW Pro 6 this used to work like expected. What causes this?

Offline Naiw

  • Veteran Member
  • ****
  • Posts: 126
  • new to the forums
Re: SIOUX annoyance
« Reply #1 on: January 02, 2019, 09:10:10 AM »
When I write many lines with cout << c << endl, then suddenly it waits 1 second after every line. Before CW Pro 6 this used to work like expected. What causes this?

Sounds like somethings fishy with the buffering, did you try flush the cout stream manually and see if it does some difference- I believe std::endl is supposed to flush the stream but rarely used cout/cin with sioux. Alternatively you could always use printf...

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: SIOUX annoyance
« Reply #2 on: January 09, 2019, 07:41:28 AM »
Explicitly flushing doesn't make a difference.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: SIOUX annoyance
« Reply #3 on: January 18, 2019, 08:49:17 AM »
It uses GetCaretTime to choose a sleep time for WaitNextEvent. In previous versions of CW Pro the sleep time was 0.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: SIOUX annoyance
« Reply #4 on: January 22, 2019, 06:46:09 AM »
InsertSIOUXBuffer calls UserBreak which uses GetCaretTime instead of 0.
This causes also a problem with missing characters in input.
Change GetCaretTime() to 0 in UserBreak.
Then relink these libraries:
MSL SIOUX.68K.Lib
MSL SIOUX.Carbon.Lib
MSL SIOUX.CFM68K.Lib
MSL SIOUX.PPC.Lib
MSL SIOUX_WASTE.68K.Lib
MSL SIOUX_WASTE.Carbon.Lib
MSL SIOUX_WASTE.CFM68K.Lib
MSL SIOUX_WASTE.PPC.Lib