20 August 2016, 20:18 | #21 | ||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Quote:
Quote:
Quote:
I wish we had faster counters, they would provide better quality. CIAs are damned slow. Wouldn't solve the problem on emulators, though. |
||||
22 August 2016, 00:04 | #22 | ||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
Quote:
Quote:
My biggest problem is the slow read speed. I think reading a byte from a CIA register takes 200+ cycles! Would be great if Tony solved that problem. |
||
22 August 2016, 07:28 | #23 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Because crappy generators are simpler, easier to find, and not everyone is willing to run random quality tests.
That said, now that my generator has been tested ok and is inside my main includes, i don't care anymore Quote:
Then again, random stuff rarely has to be real fast. I'm using a big MUL (long mul routine if assembled for 68000) and never had speed issues. |
|
22 August 2016, 09:04 | #24 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
|
22 August 2016, 21:36 | #25 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
Yeah, it's the fastest CPU mode behavior. It's a pity that the behavior is different, though. Perhaps a simple detection routine can be written for it.
|
23 August 2016, 11:12 | #26 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
In non-jit fastest possible it should be possible to emulate this more accurately but I can't make it the default because it would only mean bug reports ("when I do this and that, new version is much slower.".)
|
23 August 2016, 11:51 | #27 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
What about giving some kind of access to hardware counters of the host ? The routine would then detect it is running on emulation and adapt accordingly.
|
25 August 2016, 01:59 | #28 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
The sulution to the WinUae problem turned out to be very simple. Just poll:
Code:
move.b $bfe601,d0 .loop cmp.b $bfe601,d0 beq .loop Try this with AsmOne or AsmPro, or something like that, under WinUae with the fastest setting, and watch it generate fabulous gibberish ready for mixing: Code:
a lea b,a0 lea $bfe001,a1 lea $bfd000,a2 lea $dff000,a3 move.l #1024,d7 .loopa move.b $bfe601,d0 .loopb cmp.b $bfe601,d0 beq .loopb clr.b d1 move.l a1,a4 move.l a2,a5 move.l a3,a6 moveq #16-1,d6 .loopc move.b (a4),d0 add.w #256,a4 eor.b d0,d1 move.b (a6)+,d0 eor.b d0,d1 move.b (a5),d0 add.w #256,a5 eor.b d0,d1 move.b (a6)+,d0 eor.b d0,d1 dbra d6,.loopc move.b d1,(a0)+ subq.l #1,d7 bne .loopa rts section data,data_f b dcb.b 100*1024 Last edited by Thorham; 25 August 2016 at 02:08. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Important Facts about Floating Point Numbers | Mrs Beanbag | Coders. General | 2 | 13 August 2016 21:14 |
Floating point without FPU | oRBIT | Coders. Asm / Hardware | 13 | 18 March 2015 23:11 |
Help needed!!Random octal numbers generator(asm) | sheryn88 | Coders. General | 6 | 01 August 2010 07:19 |
A nice quick small random numbers routine? | Photon | Coders. General | 2 | 20 December 2004 21:56 |
Floating menus? | Mojo2000 | New to Emulation or Amiga scene | 6 | 30 January 2003 14:35 |
|
|