CPCWiki forum

General Category => Emulators => Topic started by: Executioner on 05:28, 26 November 15

Title: WinAPE 2.0 Beta 1
Post by: Executioner on 05:28, 26 November 15
Almost 12 months after my initial planned release date as I had to finish ParaDOS 1.2 also, but I finally released the new version today. You can either download it from the WinAPE Web Site (http://www.winape.net) or it should update automagically if you've got that turned on :)

What's new:

Emulation
-.Improved palette change emulation.
- Z80 MEMPTR emulation.
- Correct Z80 Flags emulation.
- Fixed Z80 DAA instruction.
- Re-mapped AY output volumes (again!).
- Changed volume percentage of B channel to 75%.
- Doubled the period for noise register.
- Digiblaster and AmDrum emulation.
- Allow read of AY register 15.
- Fixed small residual volume on tape input when read bit was zero.
- Fixed full residual volume on tape input when motor is turned off (and last bit read was high), previously caused disable of AY channel A.
- Allowed for up to 32 Upper ROMs.
- Allowed disc images to use up to 162 tracks (81 cylinders).
- Fixed a keyboard bug with certain keyboard drivers returning key 0 as pressed (which was used for the (None) value). This caused multiple keys to be always pressed at the same time in the emulation.
- Forced at least one tape read per frame to ensure tape progresses while playing even if the PPI is not read.
- Reduced Tape Stall period when Tape Motor is turned off.
- Changed CDT/TZX T-State conversion to 3470000 rather than 3500000 to allow some (badly created?) CDTs to work.
- Fixed CDT/TZX Direct Recording block support.
- Fixed CDT/TZX bit state transition (stays high for 1ms if that was the last state).
- Changed CDT/TZX Standard block timing to match specification.
- Fixed error on load of empty tape image.
- Emulation of Dobbertin SmartWatch (Read Only), not currently available with SNR recording.

Configuration
-.Split Display configuration for Windowed and Full Screen separate values for various options.
- Added Digiblaster option to Printer port configuration.
- Added the ability to select (None) for any unmapped key.
- Added FIRE 3 to keyboard/joystick configuration.
- Forced ROM remapping after configuration changes so the ROMs are changed immediately.

Tape Monitor
- Added hints for details on various blocks.
- Improved display of tape motor status.

Debugger
- New Memory Read/Write and Input/Output Breakpoints.
- Disassembler display now shows in colours similar to assembler.
- Added Pass Count to all Breakpoints to allow the number of passes before breaking to be defined.
- Added the ability to Load and Save breakpoints from the Breakpoints window.
- Fixed Follow PC and Break Instructions checkboxes.
- Improved position checking for windows, allowing for multiple displays.
- Improved row and column highlight and removal especially in full screen mode.
- Breakpoint Window Condition editor resized with window.
- Breakpoint Condition form now validates the condition when Ok is clicked.
- GoTo no longer requires full 4 digit hex number to be entered. (eg. 38 can be entered rather than 0038).
- Added Timers and associated window. These are controlled using breakpoint condition functions timer_start and timer_stop.
- Added a number of variables to breakpoint conditions (eg. MODE, palette_select).
- Ensured all breakpoints evaluate even on single-step and/or if another breakpoint triggered first.
- Improved breakpoint condition function parameter count checks.
- Add a hint to the Soft-Scroll register showing X and Y scrolls and blanking value.
- Added the ability to load NOI symbol files using the Assembler Symbols window.

Assembler
- Editor support for Undo and Redo.
- Display and move to correct column when TAB characters are used.
- Display a * in the tab to indicate when a file has been modified but not saved.
- Added a Save All menu item in the File menu.
- Added SLL undocumented Z80 instruction.
- Fixed OTDR instruction to output ED BB.
- Fixed INCBIN access violation with empty include path when file not found.
- Added an extra parameter (offset_high) to INCBIN to allow 32 bit offsets within the file.
- Added an optional word parameter for RST instructions (eg. RST #18,label).
- Added MEMORY function to read emulator memory during assembly.
- Added CHECKSUM function and directive to produce a checksum or CRC for a region of memory or assembler output.
- Added SAVE directive to save emulator memory to a file or direct to disc image.
- Option to conditionally push PC to stack on run.
- Option to automatically hide the output window on successful assemble.

Snapshots
- Added VerticalHold (Offset #99) and MemEnable (Offset #9A). (See CPCWiki Version 3 SNA document for details).

AVI Writing
- Forced writing of AVI frames on every frame refresh.
- Forced emulator to full size if full size AVI is required.

User Interface
- Stopped F8 key from entering debug mode while currently stepping over an instruction.
- Patched VCL to fix ALT key causing controls to disappear.
- Improved ALT, ESC and F10 key handling (You can now press CTRL-SHIFT-ESC without launching Windows Task Manager).
- Added Normal Speed (100%) (SHIFT-F3) and High Speed (1000%) (SHIFT-F4) options.
- Fixed a lot of form and font scaling issues.
- Fixed Rename menu in disc editor.
- Fixed Overwrite prompts and default extensions on file dialogs.

Other
- Support for HTML Help in newer versions of Windows.
- Added /SHUTDOWN and /SHUTDOWN:FORCE command line parameters to shut down Windows when emulator is closed.
- Added /SN:filename command line parameter to load a snapshot or recorded session.
- Fixed a bug with SNR time calculation.
- Force Vertical Hold to zero for session recording.
- Added PCW and VORTEX formats.
- Fixed a bug retrieving and writing blocks to/from CP/M format discs (ROMDOS formats with incorrect DPB extent mask entries D80/D40 etc).
- Improved detection of double-stepped disc images.
- Allow IMG files to be used as IDE drives.
- Support for LBA-48 read and write commands (#24, #34) supporting up to 2TB (32-bit sector address).
- Improved IDE status handling and handling of IDNF errors.
- IDE CHS translation.
- Some support for Get Drive Parameters command (#EC).

Title: Re: WinAPE 2.0 Beta 1
Post by: SOS on 06:53, 26 November 15
You receive my big "Thank you" :-)
Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 07:08, 26 November 15
Well done!
Title: Re: WinAPE 2.0 Beta 1
Post by: ervin on 07:14, 26 November 15
Awesome, can't wait to give it a try!
Thanks Richard!
Title: Re: WinAPE 2.0 Beta 1
Post by: alex76gr on 08:11, 26 November 15
Thank you very much! :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Singaja on 10:43, 26 November 15
My favourite emulator gets even better. Made my day  :o
Big respect Richard
Title: Re: WinAPE 2.0 Beta 1
Post by: Kris on 10:45, 26 November 15
Thank you so much for this new update !

Title: Re: WinAPE 2.0 Beta 1
Post by: Phi2x on 10:50, 26 November 15
.
Title: Re: WinAPE 2.0 Beta 1
Post by: ||C|-|E|| on 11:00, 26 November 15
Excellent news!!! Thank you very much!!! Winape is my main development tool and it is awesome to have an improved version. I will not upgrade until I finish the current text adventure but it is truly great that this new version is here!!  :-* :-*
Title: Re: WinAPE 2.0 Beta 1
Post by: EgoTrip on 11:11, 26 November 15
I cant remember if I reported this, but in the old version there is a really nasty bug that results in this error: It keeps displaying the error box when you click OK so the only way to kill WinAPE is via task monitor. It happens when some other software is opened, and requires admin access, such as updates.
(http://i.imgur.com/PncCPbT.png)

This is the message that pops up infinitely afterwards:
(http://i.imgur.com/NdurISA.png)
Has this been fixed?
Title: Re: WinAPE 2.0 Beta 1
Post by: Joseman on 11:46, 26 November 15
Quote from: EgoTrip on 11:11, 26 November 15

Has this been fixed?

I've recreated this (nasty) bug and is still there BUT now windows (7) change to a basic color combination and winape is still working!!!!!
Title: Re: WinAPE 2.0 Beta 1
Post by: EgoTrip on 12:43, 26 November 15
I was recording an AVI to test it, and while playing the game the keyboard became unresponsive and I had to go into the Assembler and exit it to get keyboard functionality back. I do remember reporting this bug as it also exists in the old version.
Title: Re: WinAPE 2.0 Beta 1
Post by: reidrac on 15:53, 26 November 15
I'm a Linux user, but I still benefit from WinAPE via WINE.

Thanks (donated some bucks).
Title: Re: WinAPE 2.0 Beta 1
Post by: Devilmarkus on 16:03, 26 November 15
Great news!
Thanks for your effort and hard work!
Title: Re: WinAPE 2.0 Beta 1
Post by: TotO on 16:08, 26 November 15
Quote from: EgoTrip on 11:11, 26 November 15
(http://i.imgur.com/PncCPbT.png)
I think, the problem is using 0xFF00FF for the window's surface colour.  :o ;D
Title: Re: WinAPE 2.0 Beta 1
Post by: Token on 16:17, 26 November 15
Thank you a lot!  :-*
;D
Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 16:43, 26 November 15
it seems there is a little problem using Windows 10. Winape doesn't start!
Have you any idea to solve the problem ?
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 17:13, 26 November 15
Quote from: Ast on 16:43, 26 November 15
it seems there is a little problem using Windows 10. Winape doesn't start!
Have you any idea to solve the problem ?

I think you need to install DirectPlay first, seems that was required for Markus to get it working.
Title: Re: WinAPE 2.0 Beta 1
Post by: McKlain on 17:19, 26 November 15
It should ask you if you want to install it the first time you run Winape.
Title: Re: WinAPE 2.0 Beta 1
Post by: Phi2x on 17:19, 26 November 15
.

Title: Re: WinAPE 2.0 Beta 1
Post by: Devilmarkus on 17:28, 26 November 15
Quote from: McKlain on 17:19, 26 November 15
It should ask you if you want to install it the first time you run Winape.

It asked me...
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 19:33, 26 November 15
Great achievement! Lot's of work. Also ParaDOS 1.2+ looks nice, has Vortex format. That's great.
One thing I realized: X-DDOS 2.10 still does crash the system. Would be nice if this bug can be cured.

Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 19:41, 26 November 15
Quote from: Executioner on 17:13, 26 November 15
I think you need to install DirectPlay first, seems that was required for Markus to get it working.
What is DirectPlay and where to get it ?
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 19:44, 26 November 15
At the ACME Shop, it's that new 2-extra-joystick device from TotO.  :P :) :) :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Devilmarkus on 20:14, 26 November 15
Quote from: Ast on 19:41, 26 November 15
What is DirectPlay and where to get it ?

When you start WinApe on Windows 10, you are asked to install DirectDraw.
The info dialog should lead you to the download.
Title: Re: WinAPE 2.0 Beta 1
Post by: fgbrain on 20:24, 26 November 15
Great news and well done again Richard !

WinAPE is my main development tool for well... something


but my main old bug with double sided DSKs still exists...  >:(

when you flip side,  you either get "Disk missing" error or a previously opened different disk image!!!


ATB




Title: Re: WinAPE 2.0 Beta 1
Post by: SRS on 20:50, 26 November 15
Great Job. Just logged into my PayPal and send you some $$$ for having that great tool developed.

Now something stupid: how to I debug (like "single step" from Breakpoint ? ) Can't find a "That KEy does that in debugger mode" *sniff*


Title: Re: WinAPE 2.0 Beta 1
Post by: Fessor on 21:04, 26 November 15
For Linux (Kubuntu 14.04) under Wine:
German Keyboard is not recognized and redefining the keyboard is not possible as the Umlauts are not in the list.
Redraw Problems in the Editor
Statusline of the Main Window with the Icons is only drawn if Direct-X stretch is switched on.


Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 21:29, 26 November 15
Quote from: Devilmarkus on 20:14, 26 November 15
When you start WinApe on Windows 10, you are asked to install DirectDraw.
The info dialog should lead you to the download.
I'ven't had any info dialog opened during the installation...
Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 21:30, 26 November 15
Quote from: TFM on 19:44, 26 November 15
At the ACME Shop, it's that new 2-extra-joystick device from TotO.  :P :) :) :)
You're so funny tonight. Did you eat some clown in this good night ?  ;D
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 22:06, 26 November 15
Quote from: reidrac on 15:53, 26 November 15
Thanks (donated some bucks).

Quote from: SRS on 20:50, 26 November 15
Great Job. Just logged into my PayPal and send you some $$$ for having that great tool developed.

Thank you very much for your donations guys, press F7 for the debugger.

There is now a full CHM help file and generated legacy WinHelp file containing all the information, including all assembler directives and usage.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 22:08, 26 November 15
Quote from: phi2x on 17:19, 26 November 15
As you can see, the demo named "From Scratch" by the demogroup Vanity isn't working properly in WinAPE.
The scroll effect is broken (see screenshot), and the Tetris transition effect isn't displayed either. :(

I've never seen the demo, does it work in other emulators? Your emulator? Any idea what's wrong with it?
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 22:47, 26 November 15
Gentleman, we need to ship a SF2 to Australia for Executioner! I put 25 Bucks in, who is supporting too? (And where do we get one? Maybe @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) knows?).
Title: Re: WinAPE 2.0 Beta 1
Post by: SRS on 22:50, 26 November 15
Wouldn't a "Kangaroo" be more helpful ?  :doh:
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 22:52, 26 November 15
That would be 299 Euros....

h ttp://ww w.spielquader.de/Symbiface-II-by-Dr-Zed-Symbiosis-fuer-Schneider-Amstrad-CPC

Dr. Zed sold em for 120 Euros.

So yes....  :picard2:
Title: Re: WinAPE 2.0 Beta 1
Post by: Phi2x on 22:59, 26 November 15
.
Title: Re: WinAPE 2.0 Beta 1
Post by: Gryzor on 10:01, 27 November 15
Not too much for the casual user, but an impressive changelog nonetheless!


Thanks so much for your work, man...


(and thanks to those pointing out the donations; I just sent some mysefl).
Title: Re: WinAPE 2.0 Beta 1
Post by: Joseman on 10:31, 27 November 15
Quote from: Gryzor on 10:01, 27 November 15
Not too much for the casual user, but an impressive changelog nonetheless!

The best for me in winape are the debugger & the assembler, and in this areas there are a lot of changes and things improved!
Title: Re: WinAPE 2.0 Beta 1
Post by: Gryzor on 10:35, 27 November 15
Quote from: Joseman on 10:31, 27 November 15
The best for me in winape are the debugger & the assembler, and in this areas there are a lot of changes and things improved!


Indeed. The average, casual user/gamer will see indirect benefits :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 11:42, 27 November 15
Quote from: Gryzor on 10:01, 27 November 15
Not too much for the casual user, but an impressive changelog nonetheless!

Thanks for the donation Gryzor...

There's actually quite a bit improved for the casual user: better emulation including palette changes, sound, most CDTs now work, improved video recording, separate controls for full-screen/windowed... but, yes most of the improvements are in the debugger/assembler area.
Title: Re: WinAPE 2.0 Beta 1
Post by: SRS on 11:56, 27 November 15
The Help seems not to work with  WIN10 ?

I can open it via F1 but can't read the "articles".

(http://www.cpcwiki.eu/forum/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAy0AAAG3CAIAAAA2EC1dAAAgAElEQVR4nO3dS4/l1nnucU4OzvkIPcww86AKMEeZZ6hZBnIBATjLB9DIG6clNeBBzA4QBELQSAdJ0PGp+R7YglyaJBZcLkuy45K8LbV1sa2o1a1uO77KMc+Am4vvunDxusmXu/4/bJRZ3LwslmTowbsW10oKAAAAtLl1+/r6+vr999//6KOPPvnkk88+++zJkyeff/75s2fPfvGLX/z3f//3r3/969/85je//e1vf//733/xxRd/+MMf/vCHP/zP//zPH//4xz/+8Y/BayYzPwMAAMAa3bp9/YMf/ODHP/7xhx9++LOf/ezTTz/97LPPPv/886dPnz579uyXv/zlr371q1//+te//e1vf/e735koRg4DAAAY69bt67fffvtHP/rRT37yk48//viTTz559OjR48eP/ZIYOQwAAGBKt25fv/nmm++8807ZNfnzn/+8LIk9efLk6dOnv/jFL8qSmNM1OWUO22wS+ZnioQAAAFbg1u3r733vez/84Q9N16RTEnO6Jk0OK6NY8Jo9stRmkxRF/bm4uCCKAQCAG+LW7evvfve7//mf/7nb7cquSb8kVnZNmiFik+UwJ4SJKLaZ7gEBAACUunX7+vLy8vvf//6777778OHDjz766Gc/+9l//dd/PXr0yMlh3YeIdcphMoRVPZL7T5JQEgMAAEVRxoJmM7fk8vLS3395eTm4JbduX3/nO995++23yyFiH3744U9/+tNg1+TYHLaxJYlVANtsNhcXF5Ec9toLf/rCa/K35+49tL97eO85ubPBay/8qbxQuaNiTpc77cOdW4f3dPkKAAC0i0ScmXPY5eXl//rf/8eJYsGd3d26ff3GG2+89dZb19fX77333gcffGC6Jv0c1nGofmMOM9sXFxcmyW42iYxljfUwGcQe3ntOhKaH957rGnYe3nvuuRdesA6vo5IIcr2iFTkMAIBD0ZPDCi91jQxhRVHcun397W9/+8033yyH6vtDxA6Sw6yjEyuElREtcJxIWw/vPffCvXvP7WNZzxh276F9goxKZpscBgCACqpyWCGy1/gQVhTFrdvX//Ef//G9733PDNU3Q8SCQ/WnzGFlGUyODGsMYUUh8la5YepjckOkqHsvOH2N9RWsIDZpDnt47zmrM9O+4Gv7b4lm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)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 12:49, 27 November 15
Quote from: SRS on 11:56, 27 November 15
The Help seems not to work with  WIN10 ?

I can open it via F1 but can't read the "articles".

Is that the same for everyone using Windows 10? I haven't installed Win 10 yet since I have too much stuff on my PC that may not work as expected, but I do have access to my wife's Surface Pro which has Win 10 on it.
Title: Re: WinAPE 2.0 Beta 1
Post by: Axelay on 13:25, 27 November 15
Quote from: SRS on 11:56, 27 November 15
The Help seems not to work with  WIN10 ?

I can open it via F1 but can't read the "articles".



On Win 8.1, I had to go to the html help file, right click on it, select properties and click 'unblock' to get it to display.  Maybe the same problem for you?

Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 16:57, 27 November 15
Quote from: Executioner on 12:49, 27 November 15
Is that the same for everyone using Windows 10? I haven't installed Win 10 yet since I have too much stuff on my PC that may not work as expected, but I do have access to my wife's Surface Pro which has Win 10 on it.
The help works fine on my Windows 10. I can confirm it!
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 22:48, 27 November 15
Quote from: Ast on 16:57, 27 November 15
The help works fine on my Windows 10. I can confirm it!

But did you get WinAPE working in the end?

Microsoft are clearly anal about security to block downloaded CHM files by default instead of just disabling script in them (though I'm not sure how it determines it's downloaded, and why it only happened to a couple of people).
Title: Re: WinAPE 2.0 Beta 1
Post by: Grim on 12:53, 28 November 15
Nice update! Haven't tested everything yet, but already have two feature requests for whenever you feel bored :)
Title: Re: WinAPE 2.0 Beta 1
Post by: pelrun on 15:25, 28 November 15
Quote from: Executioner on 22:48, 27 November 15
(though I'm not sure how it determines it's downloaded, and why it only happened to a couple of people).


Usually by throwing a bit of extra data into an alternate data stream on the file, which is a rather obscure NTFS feature. It'll depend on which browser was used to download the file, and what filesystem it's been written to (FAT doesn't support ADSes).
Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 00:32, 29 November 15
Quote from: Executioner on 22:48, 27 November 15
But did you get WinAPE working in the end?

Microsoft are clearly anal about security to block downloaded CHM files by default instead of just disabling script in them (though I'm not sure how it determines it's downloaded, and why it only happened to a couple of people).
Yeaahhh, i did it and use it too. Impressive. I like your amstrad plus split rasters' correction. Thanks....
I did some test with vertical splitscreen and it's very strange because it seems you don't have to modify crtc register2 to have some right screens.... Trying to execute the same code on my Amstrad plus will give me a crashed screen (diagonal  display of course).
Title: Re: WinAPE 2.0 Beta 1
Post by: Axelay on 07:02, 29 November 15
Thanks for the update!  I havent had much time to look at it yet, but one of the things I have looked at is the palette changes against a photo I had taken previously of a test image from my real CPC's screen and WinAPE is now looking spot on compared to the CPC image, so that's awesome.
Title: Re: WinAPE 2.0 Beta 1
Post by: EgoTrip on 10:02, 29 November 15
I've used the new version quite a bit in developing my new game, and the audio sounds like it should now. Also the annoying clicking and audio desync has gone from the avi recordings. Now I can make more CPC videos. Thanks for your hard work.
Title: Re: WinAPE 2.0 Beta 1
Post by: HAL6128 on 10:33, 29 November 15
Great enhancement!!

(Full screen doesn't work on my Windows10 system, but that not a big deal.)

Now Image-IDE-files are possible to load and it is possible to mount FAT32/FAT16 or other file-systems for testing and programming. And it works great!
I like it.
Title: Re: WinAPE 2.0 Beta 1
Post by: seanb on 14:53, 29 November 15

Thanks for the nice update.

Fullscreen doesn't work for me either in Win 10.
Has anybody been able to record footage?
I can only use Microsoft video codec which works, does not offer the sharpest of pictures and none of the rest will record video or cause an address violation.


High speed mode when playing games is a blast. :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 09:07, 30 November 15
Quote from: Ast on 00:32, 29 November 15
I did some test with vertical splitscreen and it's very strange because it seems you don't have to modify crtc register2 to have some right screens.... Trying to execute the same code on my Amstrad plus will give me a crashed screen (diagonal  display of course).

Is that different to 2a18 because I didn't think I really modified the CRTC emulation code?
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 09:13, 30 November 15
Quote from: seanb on 14:53, 29 November 15
Fullscreen doesn't work for me either in Win 10.

Support for other display modes (other than 800x600) is on the TODO list for full-screen, I'm aware some modern graphics cards/drivers can't handle these modes.

Quote
Has anybody been able to record footage?
I can only use Microsoft video codec which works, does not offer the sharpest of pictures and none of the rest will record video or cause an address violation.

I've found the only reliable codec is full-frames (uncompressed) as others consume too much CPU even on my i7 laptop. The best way I've found is to record an SNR first, then replay it with no frame skipping (Display every 1 frame(s)) while recording the AVI, this way the emulation can't skip frames because the AVI writing and/or processor is too slow.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 09:16, 30 November 15
Quote from: Grim on 12:53, 28 November 15
Option to keep a 4/3 display ratio when in fullscreen on a wide display.

That's dependent on how your monitor/graphics card/driver handles 800x600 mode. I'm looking at adding full-screen support for other modes with DX Stretch, which will maintain aspect ratio.

QuoteOption to disable the splash-screen (or make it so that any open menu ie. File, Settings, Debug, etc is not automatically closed when the splash-screen disappears).

Yeah, I find it annoying too sometimes. Maybe there is a way to create a window and bring it to the front without ever giving it focus.
Title: Re: WinAPE 2.0 Beta 1
Post by: seanb on 12:46, 30 November 15
Full frames uncompressed drops lots of frames and stutters too much and that's in my i7.
I'll look into the snr technique.
I'll have to Google what snr is first :)


Edit: found it. I'll give it a go later
Title: Re: WinAPE 2.0 Beta 1
Post by: GOB on 14:45, 30 November 15
Sorry but i don't speak english very well...

CPC+ is not correctly emulated.
Test with my preview: delirium tremens mainpart preview [cpc+] &copy hard'os (2001) (http://www.cpc-power.com/index.php?page=detail&num=7530)

And this is a vidéo i made on a real cpc+:


Thanks ;)

I got other suggestion but it's to difficult for me to speak other than french language...
Title: Re: WinAPE 2.0 Beta 1
Post by: seanb on 15:31, 30 November 15
It's still dropping frames.
I'm sure I have it set to no frame skip when playing snr but not sure as if I set it to display every 1 frame in general it runs at 700fps and at 1100%.
I'm doing something wrong :)
Though the picture is perfect now.


Edit: I stand corrected.
It works perfectly doing that when you play it back.
Fantastic  :D
Title: Re: WinAPE 2.0 Beta 1
Post by: Ast on 21:01, 30 November 15
Quote from: Executioner on 09:07, 30 November 15
Is that different to 2a18 because I didn't think I really modified the CRTC emulation code?
Yes it does the same thing...
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 21:07, 30 November 15
Quote from: seanb on 15:31, 30 November 15
I'm sure I have it set to no frame skip when playing snr but not sure as if I set it to display every 1 frame in general it runs at 700fps and at 1100%.

Your PC is fast enough to do 700fps and 1100% with no frame skipping, that's good.

Quote
Edit: I stand corrected.
It works perfectly doing that when you play it back.
Fantastic  :D

Because it doesn't skip any frames, every frame of the video is written into the AVI file with no repeated frames (except for the 50Hz timing adjustment frames since the CPC does about 50.0801 frames per second with standard screen size (19968 microseconds per frame, not 20000)).
Title: Re: WinAPE 2.0 Beta 1
Post by: SRS on 22:39, 30 November 15
Quote from: Axelay on 13:25, 27 November 15

On Win 8.1, I had to go to the html help file, right click on it, select properties and click 'unblock' to get it to display.  Maybe the same problem for you?

THAT WORKED. MS is ... well ... weired ... :picard2:

Title: Re: WinAPE 2.0 Beta 1
Post by: Apollo on 23:27, 04 December 15
Hey, cool, tried for about 30 minutes with some games and demos and runs fine. And I donated some bucks to you as well... thank you for your work!
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 04:01, 05 December 15
Hi,
Thanks for the update!
I checked it briefly and it seems that the following issue still exists:
- a colon in the comment triggers an error during assembling, looks like the text after ";" is parsed and interpreted. Try the following for an example:
org #2000 ; this : triggers error

thanks,
P.
Title: Re: WinAPE 2.0 Beta 1
Post by: Nich on 14:44, 05 December 15
Quote from: Docent on 04:01, 05 December 15
I checked it briefly and it seems that the following issue still exists:
- a colon in the comment triggers an error during assembling, looks like the text after ";" is parsed and interpreted. Try the following for an example:
org #2000 ; this : triggers error

I believe this is because the assembler uses the same syntax as Maxam on the CPC, and Maxam doesn't ignore colons within comments. If it sees one, it will try to process the rest of the line - and "triggers error" isn't a valid Z80 instruction.

I've found one of my own posts (http://www.cpcwiki.eu/forum/programming/dumb-question-15839-bitbuster-1-2/msg32282/#msg32282) on this forum from several years ago which discusses this bug/feature (delete according to your personal choice ;)).
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 23:50, 05 December 15
Quote from: Docent on 04:01, 05 December 15
I checked it briefly and it seems that the following issue still exists:
- a colon in the comment triggers an error during assembling, looks like the text after ";" is parsed and interpreted. Try the following for an example:
org #2000 ; this : triggers error

Yes, this is a Maxam issue. It annoys me too, but I'm not really sure how to fix it without breaking compatibility.

I was thinking of maybe adding a couple of comment directives to turn some options on/off. eg.

; wd cc=1,op=1

wd = winape directive

(cc = colon in comments, op = operator precedence)
Title: Re: WinAPE 2.0 Beta 1
Post by: AMSDOS on 05:14, 06 December 15
The Hash tag "#" is typical for Hisoft's Devpac Assembler.


Maxam uses "&" when dealing with Hexidecimal values, don't think it likes the Hash Tag, though the Winape Assembler may accept it (don't know though).
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 10:20, 06 December 15
Quote from: AMSDOS on 05:14, 06 December 15
Maxam uses "&" when dealing with Hexidecimal values, don't think it likes the Hash Tag.

maxam supports both # and &.
Title: Re: WinAPE 2.0 Beta 1
Post by: andycadley on 10:45, 06 December 15
Quote from: Executioner on 23:50, 05 December 15
Yes, this is a Maxam issue. It annoys me too, but I'm not really sure how to fix it without breaking compatibility.

I was thinking of maybe adding a couple of comment directives to turn some options on/off. eg.

; wd cc=1,op=1

wd = winape directive

(cc = colon in comments, op = operator precedence)
Personally I'd be inclined to just break compatibility in this case, I suspect there isn't much maxam code around that actually relies upon it and going the other way it should be easy enough to just delete a comment if you really have to compile in maxam for some reason.

If you're going down the comment directive route though, I'd just go with something like:

;winape

To enable all new assembler features, rather than creating a mix and match. I'm not sure there is significant enough benefit to making every option switchable (and debugging or merging code using different settings becomes a nightmare quickly)
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 00:59, 07 December 15
Quote from: Executioner on 23:50, 05 December 15
Yes, this is a Maxam issue. It annoys me too, but I'm not really sure how to fix it without breaking compatibility.

I was thinking of maybe adding a couple of comment directives to turn some options on/off. eg.


Admitted, it can be annoying, but it's very useful in other cases. It's not bug, it's a valuable feature.  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Fessor on 01:47, 07 December 15
Maybe the Syntax-Highlightning of a Comment-line needs a fix so that it ends at a colon.

Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 02:36, 07 December 15
Quote from: Fessor on 01:47, 07 December 15
Maybe the Syntax-Highlightning of a Comment-line needs a fix so that it ends at a colon.

The syntax highlighting already does that, unless you use double semi-colon. Double semi-colon disables the
colon problem.

Try typing a line with a colon and then toggle the comment, eg.

ld a,(hl)  ; Comment:ld b,a

-->

ld a,(hl)  ;; Comment:ld b,a
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 18:30, 07 December 15
Good hint! Just tried it in MAXAM and it works. Nice!  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 01:26, 08 December 15
Quote from: Executioner on 23:50, 05 December 15
Yes, this is a Maxam issue. It annoys me too, but I'm not really sure how to fix it without breaking compatibility.

I was thinking of maybe adding a couple of comment directives to turn some options on/off. eg.

; wd cc=1,op=1

wd = winape directive

(cc = colon in comments, op = operator precedence)
This is a good idea, I'd go also for a "Maxam compatible" global toggle switch in Assembler->Options or somewhere is settings, so one could switch it on/off for all files, being assembled. Having such switch you could make the assembler more modern and implement features you want. I consider Maxam compatibility as some sort of legacy option, there are missing features when it is enforced - like better expression evaluation for example... ( ld hl,96*(16+8) should assemble without problem).
Title: Re: WinAPE 2.0 Beta 1
Post by: AMSDOS on 07:41, 08 December 15
Quote from: Docent on 01:26, 08 December 15
like better expression evaluation for example... ( ld hl,96*(16+8) should assemble without problem).


provided it follows the laws of BOMDAS!
Title: Re: WinAPE 2.0 Beta 1
Post by: HAL6128 on 20:05, 08 December 15
Quote from: Executioner on 05:28, 26 November 15
....
- Some support for Get Drive Parameters command (#EC).
Works fine! Got the name "Winape IDE" :)
...
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 02:50, 09 December 15
Quote from: HAL 6128 on 20:05, 08 December 15
Works fine! Got the name "Winape IDE" :)

Good, at least you didn't get "iWanepI ED", stupid big-endian specs.
Title: Re: WinAPE 2.0 Beta 1
Post by: pelrun on 13:56, 09 December 15
Quote from: AMSDOS on 07:41, 08 December 15
provided it follows the laws of BOMDAS!


Sounds like a Doctor Who villain...
Title: Re: WinAPE 2.0 Beta 1
Post by: Audronic on 23:42, 09 December 15
Winape and Parados V1.2
When using Parados Version 1.2 in Slot 6
It thinks Drive B: is A:
I have tried this on 2 emulators and 1 MegaFlash and the effect is the same.
Thanks   Ray
Title: Re: WinAPE 2.0 Beta 1
Post by: CraigsBar on 00:55, 10 December 15
Quote from: Audronic on 23:42, 09 December 15
Winape and Parados V1.2
When using Parados Version 1.2 in Slot 6
It thinks Drive B: is A:
I have tried this on 2 emulators and 1 MegaFlash and the effect is the same.
Thanks   Ray


1.2+ works fine for me on the 6128+ and 4128+


Both drives A and B are correctly accessed.


I don't currently have a CPC 6128 set up so cannot test that just yet, will see what can be done at the weekend.


Craig

Title: Re: WinAPE 2.0 Beta 1
Post by: Audronic on 01:44, 10 December 15
@CraigsBar (http://www.cpcwiki.eu/forum/index.php?action=profile;u=482)
Ok Thanks I don't have a Plus to test it with.
Did you put Parados 1.2 in ROM Slot 6.
I can  check what happens in a couple of emulators.


Thanks   Ray
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 04:26, 13 December 15
Hi,
I played a bit with timers and have a question: help file says that the granularity of a timer is max #ffff (16 bits?), while mine show values over 170000 or so during testing, are they 32bit or 16?
I have also an enhancement request :) - would be great to have the possibility to use also strings as timer ids, for example timer_start(main_loop) etc, It would be much easier to identify a timer while profiling.
Title: Re: WinAPE 2.0 Beta 1
Post by: AMSDOS on 21:21, 13 December 15
Quote from: Docent on 04:26, 13 December 15
Hi,
I played a bit with timers and have a question: help file says that the granularity of a timer is max #ffff (16 bits?), while mine show values over 170000 or so during testing, are they 32bit or 16?
I have also an enhancement request :) - would be great to have the possibility to use also strings as timer ids, for example timer_start(main_loop) etc, It would be much easier to identify a timer while profiling.


32bit I would of thought. The CPCs internal timer system, as used by KL TIME PLEASE (&BD0D), uses DEHL to return a four byte time count of the time elapsed, with D holding the most significant byte to L holding the least.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 23:07, 13 December 15
Quote from: Docent on 04:26, 13 December 15
I played a bit with timers and have a question: help file says that the granularity of a timer is max #ffff (16 bits?), while mine show values over 170000 or so during testing, are they 32bit or 16?

Internally, parts of the timer are 64 bit, but the expression evaluation in the breakpoint conditions is only 16 bit, so the maximum returned value is 65535. I could perhaps add timer_high and timer_low functions to get 16 bits at a time where it's necessary to time over 65535 cycles.

QuoteI have also an enhancement request :) - would be great to have the possibility to use also strings as timer ids, for example timer_start(main_loop) etc, It would be much easier to identify a timer while profiling.

It would be possible, but all breakpoints are compiled into byte-code for faster evaluation, so the IDs would need to be given a unique 16 bit ID, then all breakpoints which use them recompiled.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 23:09, 13 December 15
Quote from: AMSDOS on 21:21, 13 December 15
32bit I would of thought. The CPCs internal timer system, as used by KL TIME PLEASE (&BD0D), uses DEHL to return a four byte time count of the time elapsed, with D holding the most significant byte to L holding the least.

They don't have anything to do with the CPC really, the interface definition looks like:

    property ID: Word read FID;
    property Start: Int64 read FStart;
    property Last: Int64 read FLast;
    property Min: Int64 read FMin;
    property Max: Int64 read FMax;
    property Total: Int64 read FTotal;
    property Count: Integer read FCount;
    property Average: Double read GetAverage;

Title: Re: WinAPE 2.0 Beta 1
Post by: AMSDOS on 23:31, 13 December 15
Quote from: Executioner on 23:09, 13 December 15
They don't have anything to do with the CPC really, the interface definition looks like:

    property ID: Word read FID;
    property Start: Int64 read FStart;
    property Last: Int64 read FLast;
    property Min: Int64 read FMin;
    property Max: Int64 read FMax;
    property Total: Int64 read FTotal;
    property Count: Integer read FCount;
    property Average: Double read GetAverage;


We're clearly talking about two different things.  :D


Been a long time, so I'm guessing that's Delphi.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 05:10, 14 December 15
Quote from: AMSDOS on 23:31, 13 December 15
Been a long time, so I'm guessing that's Delphi.

Yup.. :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 13:52, 15 December 15
Quote from: Executioner on 23:07, 13 December 15
Internally, parts of the timer are 64 bit, but the expression evaluation in the breakpoint conditions is only 16 bit, so the maximum returned value is 65535. I could perhaps add timer_high and timer_low functions to get 16 bits at a time where it's necessary to time over 65535 cycles.
Is the 16-bit limit forced by the emulation? perhaps you could change the expression evaluation to support 32 bits - that would be enough for the timer.

Quote from: Executioner on 23:07, 13 December 15
It would be possible, but all breakpoints are compiled into byte-code for faster evaluation, so the IDs would need to be given a unique 16 bit ID, then all breakpoints which use them recompiled.
how about a 16 bit hash from the text ? :) the actual text of id would be needed only for displaying on ui...
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 21:48, 15 December 15
Quote from: Docent on 13:52, 15 December 15
Is the 16-bit limit forced by the emulation? perhaps you could change the expression evaluation to support 32 bits - that would be enough for the timer.

It is probably quite easy to support 32 bit expression evaluation, I'll look into it.

Quote
how about a 16 bit hash from the text ? :) the actual text of id would be needed only for displaying on ui...

That could be done but two strings could have the same hash code, so maybe a list of unique identifiers and IDs would be better. I don't think there's currently support for Strings in the expression evaluator. Perhaps an alternative would be to add a name on the Timers screen so you can just assign it a name.
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 23:36, 15 December 15
Quote from: Executioner on 21:48, 15 December 15
It is probably quite easy to support 32 bit expression evaluation, I'll look into it.
Great - thanks in advance!

Quote from: Executioner on 21:48, 15 December 15
That could be done but two strings could have the same hash code, so maybe a list of unique identifiers and IDs would be better. I don't think there's currently support for Strings in the expression evaluator. Perhaps an alternative would be to add a name on the Timers screen so you can just assign it a name.
crc16 or Pearson hash would probably do and provide enough uniqueness, but if you prefer to avoid using these functions, you could just build an internal table of all timer numerical ids and texts and use the table index as a unique id in breakpoints. In this case, modifying the timer name do not require the recompilation of breakpoints, only the text in the table will be changed.
Title: Re: WinAPE 2.0 Beta 1
Post by: Beaps on 02:05, 18 December 15
Anyone know what this error is about, it happens when I try and run it full screen  :picard:

It happens with all WinApe releases.

(http://s1.postimg.org/pzu0eqhcr/IMAG1740.jpg) (http://postimg.org/image/pzu0eqhcr/)
Title: Re: WinAPE 2.0 Beta 1
Post by: arnoldemu on 11:19, 18 December 15
I'm guessing you chose a screen resolution and specific bitdepth and your graphics card doesn't support it?
Try choosing another.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 00:59, 21 December 15
Quote from: arnoldemu on 11:19, 18 December 15
Try choosing another.

Unfortunately WinAPE currently only supports 800x600 in 8 or 16 bit, and a lot of more recent graphics cards have dropped support for this resolution. I'll look at adding at least INI support for other modes in the next major release.
Title: Re: WinAPE 2.0 Beta 1
Post by: arnoldemu on 07:30, 21 December 15
Quote from: Executioner on 00:59, 21 December 15
Unfortunately WinAPE currently only supports 800x600 in 8 or 16 bit, and a lot of more recent graphics cards have dropped support for this resolution. I'll look at adding at least INI support for other modes in the next major release.
I didn't realise you couldn't choose the mode :(

I think 800x600 is still available in 24-bit and 32-bit colour modes?
Title: Re: WinAPE 2.0 Beta 1
Post by: Maskedman on 22:20, 23 December 15
Thanks a lot for a great new release of this great emulator!

Just a quick question, I've got a Comptetition Pro USB joystick and since I'm left handed, I press the number 2 fire button with my right hand.

Is there any way to change this to fire button 1 in the emulator without having to use programs such as joy2key ?

Was feeling a bit nostalgic and played some Bomb Jack for 45 minutes and now my right wrist is killing me  ;D



Title: Re: WinAPE 2.0 Beta 1
Post by: SuSke on 15:21, 28 December 15
Quote from: TFM on 19:33, 26 November 15
Great achievement! Lot's of work. Also ParaDOS 1.2+ looks nice, has Vortex format. That's great.
One thing I realized: X-DDOS 2.10 still does crash the system. Would be nice if this bug can be cured.


Yep, same here; I could not get the X-DDOS 1.11 running as well.. (did not try all possible combinations yet  :laugh: )
ParaDOS 1.2+ does not yet recognize the X-DDOS data format entirely (which was slightly different from the Vortex one as I remember)
For some 'protected' games I still have to disable ParaDOS 1.2+ to get them working again.
But hey, this version is already great to work with 8)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 23:39, 28 December 15
Quote from: SuSke on 15:21, 28 December 15

Yep, same here; I could not get the X-DDOS 1.11 running as well.. (did not try all possible combinations yet  :laugh: )
ParaDOS 1.2+ does not yet recognize the X-DDOS data format entirely (which was slightly different from the Vortex one as I remember)
For some 'protected' games I still have to disable ParaDOS 1.2+ to get them working again.
But hey, this version is already great to work with 8)

Why the tiny text? A few protected games overwrite the ParaDOS drive definition bytes (BAFE/F) and it can cause problems. It is quite rare though.
Title: Re: WinAPE 2.0 Beta 1
Post by: SOS on 07:01, 29 December 15
The CPC-Display in the Beta-1-Version looks a little bit squishy/blurred compared to the a18-Version (The settings are equal in both versions).
Why?

(It's a Win8.1 x64-PC with a superb Intel HD Graphics 4600)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 23:11, 29 December 15
Quote from: SOS on 07:01, 29 December 15
The CPC-Display in the Beta-1-Version looks a little bit squishy/blurred compared to the a18-Version (The settings are equal in both versions).
Why?

There was actually a bug in the previous version where it wrote incorrect frame sizes for DirectX Stretch mode. If you upgraded and continued to use the same INI file it may look squished, try resizing the window until you find the region where it is correct (it sort of snaps there).
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 16:28, 30 December 15
Quote from: SuSke on 15:21, 28 December 15

Yep, same here; I could not get the X-DDOS 1.11 running as well.. (did not try all possible combinations yet  :laugh: )
ParaDOS 1.2+ does not yet recognize the X-DDOS data format entirely (which was slightly different from the Vortex one as I remember)
For some 'protected' games I still have to disable ParaDOS 1.2+ to get them working again.
But hey, this version is already great to work with 8)


Would be too great to see X-DDOS running (works with all other emus btw). As I remember VDOS only has Vortex format, whereas X-DDOS support Vortex format and in addition the 0.7 MB Data and System format. (Dunno if ParaDOS supports the last too, Vortex works now, but needs to be selected).  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 21:20, 03 January 16
This game (This crack exactly). Not work in winape and arnold. But it work in other emulators, the crack jump to memory localitation, but its found nothing the memory empty. And cpc resets.

http://cpcrulez.fr/GamesDL_arc/index.php?download=aLPhzd3TgJjk3si_gLHNu7eIm7vl&p=aLPi0diuhsXpm8y7jbPt5cTAkMTY0ZPClb8= (http://cpcrulez.fr/GamesDL_arc/index.php?download=aLPhzd3TgJjk3si_gLHNu7eIm7vl&p=aLPi0diuhsXpm8y7jbPt5cTAkMTY0ZPClb8=)
Title: Re: WinAPE 2.0 Beta 1
Post by: arnoldemu on 21:59, 03 January 16
When does it happen?

I tested current wip of arnold and it works fine.

Title: Re: WinAPE 2.0 Beta 1
Post by: arnoldemu on 22:09, 03 January 16
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.
Title: Re: WinAPE 2.0 Beta 1
Post by: Wanderer on 17:47, 11 January 16
Hey! A new WinApe version! :) :) :)

Great news. Many thanks for it.
Title: Re: WinAPE 2.0 Beta 1
Post by: Docent on 18:00, 17 January 16
Any plans to support 'dump' option? I'd like to save somehow the list of variables and their addresses to use with my profiler.
Title: Re: WinAPE 2.0 Beta 1
Post by: AugustoRuiz on 13:00, 20 January 16
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...
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 20:41, 03 February 16
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.  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: David Warry on 01:49, 05 February 16
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

Title: Re: WinAPE 2.0 Beta 1
Post by: David Warry on 00:06, 06 February 16
can anyone  comfurm  joystick working in winape on windows 10 64 bit  thank you
Title: Re: WinAPE 2.0 Beta 1
Post by: AMSDOS on 00:17, 06 February 16
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 (http://www.cpcwiki.eu/forum/index.php?action=profile;u=17) might help, though I'm unsure how quick a reply might come back. Someone else might have a better idea.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 11:35, 06 February 16
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.
Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 04:43, 07 February 16
Better stay with Win7.  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: EgoTrip on 19:20, 18 February 16
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
Title: Re: WinAPE 2.0 Beta 1
Post by: SRS on 20:03, 18 February 16
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 ?
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 13:24, 07 April 16
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?.
Title: Re: WinAPE 2.0 Beta 1
Post by: Carnivius on 12:43, 18 April 16
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.   

(http://i.imgur.com/4Jba6Ud.png)



This is the only software I run on my computer that seems to have this issue.
Title: Re: WinAPE 2.0 Beta 1
Post by: 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)?
Title: Re: WinAPE 2.0 Beta 1
Post by: Carnivius on 10:59, 20 April 16
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?
(http://i.imgur.com/4WAxDuO.png)

Title: Re: WinAPE 2.0 Beta 1
Post by: TFM on 20:23, 20 April 16
Go back to Win7  :)  Seriously!  :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 09:18, 21 April 16
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?
Title: Re: WinAPE 2.0 Beta 1
Post by: Carnivius on 10:52, 21 April 16
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. 
Title: Re: WinAPE 2.0 Beta 1
Post by: Rhino on 14:54, 28 April 16
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
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 01:58, 29 April 16
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).
Title: Re: WinAPE 2.0 Beta 1
Post by: Rhino on 18:46, 29 April 16
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
Title: Re: WinAPE 2.0 Beta 1
Post by: Carnivius on 13:48, 21 May 16
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. :)
Title: Re: WinAPE 2.0 Beta 1
Post by: Carnivius on 16:53, 30 May 16
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?
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 14:14, 01 June 16
I observe a curiosity in winape.

using write directive to save the asm directly to a file.

Example.

with a org &c000

code

and then &d000


If you output these to memory emulator and then make the .bin to a traditional style. selecting it from ram and then save it to .bin


Yo generate

a code begins in &c000 to xxxx an then you have a buch 0f 00  until &d000

But if you use the write directive to save it directly to a .bin.

winape not generated the 00 remaining  between the two org, he paste &d000  directly when code of &c000 ends.

So write directive destroy my.bin with noscart basically  :) . As the cpc not found the code in &d000 in cartridge.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 12:18, 10 June 16
Quote from: dragon on 14:14, 01 June 16
winape not generated the 00 remaining  between the two org, he paste &d000  directly when code of &c000 ends.

This is the correct behaviour and always has been. At the end of your code use:

defs #d000 - $

or

ds #d000 - $
Title: Re: WinAPE 2.0 Beta 1
Post by: arnoldemu on 13:40, 10 June 16
Quote from: Executioner on 12:18, 10 June 16
This is the correct behaviour and always has been. At the end of your code use:

defs #d000 - $

or

ds #d000 - $
If winape is like maxam then you should be able to do this:

org &d000,$
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 04:11, 25 June 16
Quote from: arnoldemu on 13:40, 10 June 16
If winape is like maxam then you should be able to do this:

org &d000,$

You can, but that's not what he's trying to achieve, that just outputs code to the current address with an ORG of #D000, but I think he wants to insert 0 bytes from the current location until #D000.
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 12:32, 11 August 16
I have a graphicall corruption in emilio sanchez vicario. I tried all cracks and original disk. In arnold emu works o.k



Quote from: Executioner on 04:11, 25 June 16
You can, but that's not what he's trying to achieve, that just outputs code to the current address with an ORG of #D000, but I think he wants to insert 0 bytes from the current location until #D000.

Yeah, is because no&scart. Is more easy calculating  the .bin page/direction. add 00 betwen org that when you add abytes  all directions change  :D
Title: Re: WinAPE 2.0 Beta 1
Post by: Ace on 13:19, 11 August 16
Quote from: dragon on 12:32, 11 August 16
I have a graphicall corruption in emilio sanchez vicario. I tried all cracks and original disk. In arnold emu works o.k

Cannot reproduce, with WinApe 2.0 Beta 2. Maybe it's something with your settings, CRTC or something else?
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 13:51, 11 August 16
I not sure, if i close/open winape it appear works, but if i reset it now it not work.

But if i reset, i execute burning rubber and i reset it works :D.
Title: Re: WinAPE 2.0 Beta 1
Post by: Ace on 13:55, 11 August 16
Quote from: dragon on 13:51, 11 August 16
I not sure, if i close/open winape it appear works, but if i reset it now it not work.

Edit: Happens to me also, sorry for the inconvenience, but not in partido, as I tested first, only on campeonato. 
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 13:56, 11 August 16
Quote from: Ace on 13:55, 11 August 16
Edit: Happens to me also, sorry for the inconvenience, but not in partido, as I tested first, only on campeonato.

i not crazy weee!!.

It appears in the menu is not necesay begin a game (at least for me.)
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 00:42, 15 August 16
Is the game supposed to be compatible with the Plus fully? It looks like corruption during the initial court render routine. Perhaps an interrupt issue.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 02:58, 15 August 16
Ok, just spent a couple of hours on this. The game has a screen buffer at #B44B which contains the address of each character data to make up the screen. The buffer uses 3 bytes per character, one for controlling the looping (sets a relative jump offset, normal #AD for each character, #07 for each end of line and #00 for end of screen), then two bytes for the address of the character data. If bit 7 of the data is not set, the character is not drawn as it is assumed to have not changed since the last screen update.

When the game loads, it inserts all the #AD, #07 and the final #00 bytes in the buffer, but the rest of the data is not changed (not sure if this is the original loader). On some versions of the Amstrad the keyboard definition buffer occupies the address range and obviously a few characters have the same values as what gets placed into the buffer, so the bits are reset and never drawn. I suspect this is either a crack and the original loader cleared the memory first, or the original loader was only designed for a standard CPC464 which has it's keyboard definitions a little lower in memory.
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 21:15, 15 August 16
I m not sure very strange the game is released in disc.i don't think they release disc in with these fail. I need try it in the normal cpc 6128 with tape and 464.

It happend in original disc or cracked.
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 00:25, 16 August 16
Quote from: dragon on 21:15, 15 August 16
It happend in original disc or cracked.

That was the first snapshot you posted above. So whichever source you loaded it from.
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 15:39, 20 August 16
Quote from: Executioner on 00:25, 16 August 16
That was the first snapshot you posted above. So whichever source you loaded it from.

O,k, i have another strange curiosity,

With fw 3.15 y type this to acces b:

ld a,&01
ld (&a700),a

But it not work in winape. But i put the cartridge image in real cpc and it works. ???

Yo can try it with a poke &a700,1 and cat. (for example).
Title: Re: WinAPE 2.0 Beta 1
Post by: Executioner on 01:37, 23 August 16
Quote from: dragon on 15:39, 20 August 16
Yo can try it with a poke &a700,1 and cat. (for example).

That will only work if the AMSDOS ROM is using that particular area of memory (which it does normally providing there are no ROMs in higher slots). If you select the standard CPC6128 setting in WinAPE with no extra ROMs it should work.

btw, The value at address #BE7E/F holds the base address of the AMSDOS work area (normally #A700).
Title: Re: WinAPE 2.0 Beta 1
Post by: dragon on 08:02, 23 August 16
Yes, you are alraight, syx tell me the same. The fail becomes because i ask it in assembler forum and nobody tell me about amsdos can move :)

buffer rsx appear not afected by that as the direction is prefixed in &02b1 kl find command

Ah other think combination of  firmw 3.15 + parados 2.1+ not work in win ape it reset continuoslly.
Powered by SMFPacks Menu Editor Mod