News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Executioner

WinAPE 2.0 Beta 1

Started by Executioner, 05:28, 26 November 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

When does it happen?

I tested current wip of arnold and it works fine.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

#101
Ok it works in CPC mode, but not Plus mode.

The code reads a byte from the lower rom, it then determines if its running on 6128 or 464 I think.

It then initialises some basic stuff and jumps direct into the upper rom to do something with basic. I think displaying the text about track 39..

But it gets it wrong, it seems to have one of the burning rubber roms active.. and it calls the wrong thing and crashes.

Looks like a bad intro. It really needs to select the rom and do better sanity checking.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Wanderer

Hey! A new WinApe version! :) :) :)

Great news. Many thanks for it.
- Wanderer -

Docent

Any plans to support 'dump' option? I'd like to save somehow the list of variables and their addresses to use with my profiler.

AugustoRuiz

#104
I just wanted to thank you so much for this new version. It's very very useful!!!
One thing I would like to propose, about showing symbols in ASM debugger: The NOI support is great, and I think it could be taken one step further for C developers: Supporting .lst files as well.
Loading the .NOI first, and then the .lst, you could show the C code at the memory address it is loaded, because the .lst file has the relative address of every single line of code (and symbols). Loading the .NOI you would have the absolute addresses for symbols, and loading the .LST after, the absolute address of the lines of code could be calculated.
An example:
In .NOI file we have:

DEF _run 0xC81
DEF _main 0xCF7

In .LST file, we have:

                            59 ;src/main.c:21: void run() {
                             60 ;   ---------------------------------
                             61 ; Function run
                             62 ; ---------------------------------
   0000                      63 _run::
   0000 DD E5         [15]   64    push   ix
   0002 DD 21 00 00   [14]   65    ld   ix,#0
   0006 DD 39         [15]   66    add   ix,sp
   0008 21 F9 FF      [10]   67    ld   hl,#-7
   000B 39            [11]   68    add   hl,sp
   000C F9            [ 6]   69    ld   sp,hl
                             70 ;src/main.c:24: fdc_drive = fdc_getCurrentDrive();
   000D CDr00r00      [17]   71    call   _fdc_getCurrentDrive
   0010 FD 21r00r00   [14]   72    ld   iy,#_fdc_drive
   0014 FD 75 00      [19]   73    ld   0 (iy),l
                             74 ;src/main.c:26: setDiskType(System);
   0017 AF            [ 4]   75    xor   a, a
   0018 F5            [11]   76    push   af
   0019 33            [ 6]   77    inc   sp
   001A CDr00r00      [17]   78    call   _setDiskType
   001D 33            [ 6]   79    inc   sp
                             80 ;src/main.c:27: readDirectory();
   001E CDr00r00      [17]   81    call   _readDirectory
                             82 ;src/main.c:29: initVideo();
   0021 CDr00r00      [17]   83    call   _initVideo
                             84 ;src/main.c:31: drawScore();
   0024 CDr00r00      [17]   85    call   _drawScore

Each line of code absolute address could be calculated as: (line in the rel file - line for the current reference symbol) + absolute address for reference symbol.
In the previous example, the reference symbol could be "_run", which is in absolute address 0x0C81 (in NOI file). So the lines of code would be at addresses:

      59 ;src/main.c:21: void run() {
           60 ;   ---------------------------------
           61 ; Function run
           62 ; ---------------------------------
0000  63 _run::


Address = 0000, so the abolsute address is 0x0C81 + (0000 - 0000) = 0x0C81.
                             70 ;src/main.c:24: fdc_drive = fdc_getCurrentDrive();
  000D CDr00r00      [17]   71    call   _fdc_getCurrentDrive

[/size]Address = 000D, so the absolute address is 0x0C81 + (000D - 0000) = 0x0C8E
[/size]And so on...
[/size]What do you think? This would be invaluable for C development debugging!
[/size]And... as there will be multiple .lst files, it would be nice to be able to select a directory that holds both the .noi AND the .lst files...

TFM

Hi! Just saw the the new WinApe also does emulate the Dobbertin RTC. That's really great, but please do add the ROM number: &72 (114)
That's important for the clock clone made by dxs which uses &72 (114) when clock is switched to EXT.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

David Warry

how to get joystick working in Winape? 2.0 Beta 1

i cant get joystick to work at all tried everything ... joystick works fine in windows


help


David Warry

can anyone  comfurm  joystick working in winape on windows 10 64 bit  thank you

AMSDOS

Quote from: David Warry on 00:06, 06 February 16
can anyone  comfurm  joystick working in winape on windows 10 64 bit  thank you


Sorry, I don't know the answer to your problem, perhaps a PM to @Executioner might help, though I'm unsure how quick a reply might come back. Someone else might have a better idea.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Executioner

Joystick in the latest version is the same code as before. I haven't tried it on Windows 10 yet as I'm too scared to upgrade my computer. I am looking at making some improvements in the next release.

TFM

Better stay with Win7.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

EgoTrip

I have just come across a bug again in WinAPE 2.0 Beta 2 I thought I should make you aware of, where if I switch to it on the task bar it sometimes triggers a key input - I've had it happen with Enter (Return) mostly, which can be quite annoying at times. I don't know exactly how it happens, it doesn't happen all the time. If I figure it out I will let you know.

Just to add I am using Windows 8.1

SRS

Quote from: David Warry on 00:06, 06 February 16
can anyone  comfurm  joystick working in winape on windows 10 64 bit  thank you

On Version 2.0 Beta 2 it works like charm win 10 64bit pro with Logitech Attack3.

-> WINAPE -> SETTINGS -> INPUT -> "Enable Joystick"

Now my triggerfinger hurts after 20 minutes of 1943 - ho do I get autofire ?

dragon

Winape have a problem with the sound of super swkeek?, i play it with the original dsk and not have sound when you paint a square. I f i remember o.k the game, skweek made a sound when you paint.

Or is cause of the copy protection?.

Carnivius

I've had this issue with WinApe for months now and been umable to figure out what's wrong.   I can get it started fine and play for a bit but a minute after loading it, it slows down to a crawl and the CPU usage goes right up.  I've tried running it as Administrator and also with various Compatibility options (windows 7, xp, vista).  I tried using an older Winape but that too ended up with the same issues so I really don't know what's happening with it.

Attached are DXdiag pc specs, and process explorer showing after loading Winape the CPU is 10.65 and Winape's FPS is 50 but then the CPU goes up to 25, and the FPS down to 1 (even shows 0 a lot too) and the game becomes a slideshow.   





This is the only software I run on my computer that seems to have this issue.
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Executioner

Hi Carnivac,

What happens if you pause it and un-pause it when it's using high CPU? WinAPE uses the sound card for timing, have you tried changing the sound settings/does this happen with no sound (Sound Output: None)?

Carnivius

Quote from: Executioner on 01:25, 20 April 16
Hi Carnivac,

What happens if you pause it and un-pause it when it's using high CPU? WinAPE uses the sound card for timing, have you tried changing the sound settings/does this happen with no sound (Sound Output: None)?

Turning off sound doesn't seem to make a difference.   

Pausing (via Debug menu?) makes the CPU usage drop to 0% and then unpausing makes it rush right back up again.   Also I left it running for a bit and the memory kept getting higher until it stayed around 262MB.  Is that normal?


Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

TFM

Go back to Win7  :)  Seriously!  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Executioner

Quote from: Carnivac on 10:59, 20 April 16
Turning off sound doesn't seem to make a difference.

It's somewhat unlikely to be a timing issue with your sound card then. 

QuotePausing (via Debug menu?) makes the CPU usage drop to 0%

As it should, so it's not stuck in a loop in the emulation then, but something in that thread or the synchronisation methods is causing trouble.

Quoteand then unpausing makes it rush right back up again.

If it only has low CPU usage at first, one possibility would have been that the synchronisation methods were filling up the event queue, but then it would be okay again after pausing for a short while.

Another thing to try, before CPU goes mad is just how fast it will run (eg. How many FPS at 1000%). Given your CPU, it should be fairly fast.

QuoteAlso I left it running for a bit and the memory kept getting higher until it stayed around 262MB.  Is that normal?

Normal memory usage is about 40MB, that seems somewhat high. Any large files open as IDE drives or the editor etc? Not trying to write AVI files or other recordings?

Carnivius

Quote from: Executioner on 09:18, 21 April 16
Another thing to try, before CPU goes mad is just how fast it will run (eg. How many FPS at 1000%). Given your CPU, it should be fairly fast.

Uh.  I set the 1000% thing on when I loaded up WinApe and the FPS dropped down to 3 and display was slow as heck, setting it back to 100% regained some of the initial speed again before it dropped again as per usual.  Makes no sense does it. :P

Quote
Normal memory usage is about 40MB, that seems somewhat high. Any large files open as IDE drives or the editor etc? Not trying to write AVI files or other recordings?

Nope nothing.  I've even run it on a freshly boot up fo my PC and deleted the Winape.ini so it would revert to default sittings but still same result. 
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Rhino

Hi,
I noticed an issue which can be annoying for development.
When you run a program from the assembler, 2 bytes are written in the memory address of the stack (usually BFXX) overwriting anything you have assembled there.
This happens before your program take the control because it occurs even with "di" as first instruction.
Regards

Executioner

Quote from: Rhino on 14:54, 28 April 16
I noticed an issue which can be annoying for development.
When you run a program from the assembler, 2 bytes are written in the memory address of the stack (usually BFXX) overwriting anything you have assembled there.

Hi Rhino,

There's an option to turn that off in the Assembler Options menu (Assemble -> Options).

Rhino

Quote from: Executioner on 01:58, 29 April 16
Hi Rhino,

There's an option to turn that off in the Assembler Options menu (Assemble -> Options).

Great!
Thanks

Carnivius

My issue appears to be fixed somehow.  I was testing it earlier (after a lil chat with Gryzor stating his Win 10 laptop runs Winape fine) and mine was still running super slow and then I had the random idea of switching my dual monitor mode setting back to single monitor... and then Winape ran perfectly!  I switched back to dual monitor to see if it still slowed down and nope, it's still running smoothly.  Have quit the program and restarted several times since and left it going when I went out and came back and it's still a smooth 50fps.   I have no idea why this appears to have sorted it but it's so nice to have Winape running properly again.   Now if I could just have an option in it to use POV d-pad instead the analog stick of my Dual Shock 4 it'll be the best. :)
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Carnivius

#124
Has anyone had success getting gamepad mappers like  JoytoKey or AntiMicro working with Winape?  They seem to work fine with JavaCPC Desktop but when I try with Winape there is no response at all. 

Winape uses DirectInput doesn't it?  And newer things are Xinput?
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Powered by SMFPacks Menu Editor Mod