English Amiga Board


Go Back   English Amiga Board > Requests > request.UAE Wishlist

 
 
Thread Tools
Old 20 February 2019, 23:29   #1
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 9,014
Feature request

Probably not possible and probably dangerous to have external control of WinUAE inside the Amiga side of things, but would be useful.

When assembling lots of code in WinUAE, can take quite a while, certainly much faster to have it not set to cycle-exact when assembling, but obviously when it comes to testing that assembled code, its much better to switch back to cycle exact.

However, gets a bit tedious having to constantly hit F12, change to cycle exact, continue with WinUAE, then F12 and set it off again.

Dearest Toni

Would it be possible to have it so that if a certain string was written to a specific memory address (maybe reserved), we could toggle cycle-exact off and on from within the Amiga environment?

So for instance at the start of assembled code we could move.l #$12345678,reserved_address to activate cycle exact, and then as our code exits, clearing that memory address disables it?

I understand if this can't be done, but if it could, would be a great shortcut to help speedup development.
Galahad/FLT is offline  
Old 21 February 2019, 06:56   #2
Hewitson
Registered User
 
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 41
Posts: 3,773
The only issue I can see with this is it could potentially lead to software which only works with WinUAE.

First it's cycle exact, then we'll end up being able to switch between OCS/ECS and AGA, change CPU speeds, etc. Who knows where this would end?
Hewitson is offline  
Old 21 February 2019, 07:16   #3
ransom1122
Registered User
 
ransom1122's Avatar
 
Join Date: Aug 2011
Location: Omnicorp
Age: 45
Posts: 5,850
Not really. I always use unrealistic non cycle exact config when working with amiga files. Then change to quickstart when testing files.

The speed increase is so much more helpful
ransom1122 is offline  
Old 21 February 2019, 08:56   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
It is already possible. You can use uae-configuration (search this forum for examples) or if you want to do it from your own code, uae-configuration source is also included in "Amiga programs" that comes with official winuae package.

EDIT: Use uae.resource method, store returned pointer. Returned pointer can be used safely in any situation, AmigaOS does not need to be running. (Note that uae.resource and uae boot rom does not exist if mode is plain unexpanded A500 etc.. It is if any enabled UAE expansion is configured)

EDIT2: everyone else: it is good idea to understand the question before replying! Assembling/compiling in CE mode is painfully slow if you also want to use CE mode to run the program!

Last edited by Toni Wilen; 21 February 2019 at 16:14.
Toni Wilen is offline  
Old 21 February 2019, 23:04   #5
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 9,014
Quote:
Originally Posted by Hewitson View Post
The only issue I can see with this is it could potentially lead to software which only works with WinUAE.

First it's cycle exact, then we'll end up being able to switch between OCS/ECS and AGA, change CPU speeds, etc. Who knows where this would end?
No, you don't understand my point at all.

Use WinUAE in non-cycle exact mode, which makes Devpac MUCH faster to assemble, however, if in the code i'm assembling it has a special WinUAE parameter, it can trigger WinUAE to activate cycle exact to accurately replicate an Amiga running the assembled code I just made, and similarly cycle exact could be turned off again within my assembled code.

Something like this:

start: movem.l d0-d7/a0-a6,-(a7)
bsr killamigados
move.l #$12345678,$e00000 ;Tell WinUAE to activate cycle exact
bsr do_intro
bsr restore_amigados
clr.l $e00000 ; Tell WinUAE to disable cycle exact mode
movem.l (a7)+,d0-d7/a0-a6
moveq #0,d0
rts

Address $e00000 can be whatever Toni reserves.

On a real Amiga if that code was accidentally left in (not likely), it wouldn't do anything.

Doing something like this means I wouldn't have to swap config files or anything, it would all be transparent during the emulation and would make for faster development.
Galahad/FLT is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Feature request TenLeftFingers support.FS-UAE 12 08 April 2014 20:41
Feature request Galahad/FLT support.WinUAE 5 12 February 2013 19:38
feature request Mad-Matt support.WinUAE 4 25 January 2007 09:22
Feature Request Npl request.UAE Wishlist 5 02 August 2004 21:43
Feature request Fackamato support.WinUAE 48 26 February 2004 17:23

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:14.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.06922 seconds with 13 queries