CPCWiki forum
General Category => Emulators => Topic started by: Executioner on 06: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).
-
You receive my big "Thank you" :-)
-
Well done!
-
Awesome, can't wait to give it a try!
Thanks Richard!
-
Thank you very much! :)
-
My favourite emulator gets even better. Made my day :o
Big respect Richard
-
Thank you so much for this new update !
-
Great news indeed.
WinAPE is coming back in full force!
[attachimg=1]
-
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!! :-* :-*
-
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?
-
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!!!!!
-
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.
-
I'm a Linux user, but I still benefit from WinAPE via WINE.
Thanks (donated some bucks).
-
Great news!
Thanks for your effort and hard work!
-
(http://i.imgur.com/PncCPbT.png)
I think, the problem is using 0xFF00FF for the window's surface colour. :o ;D
-
Thank you a lot! :-*
;D
-
it seems there is a little problem using Windows 10. Winape doesn't start!
Have you any idea to solve the problem ?
-
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.
-
It should ask you if you want to install it the first time you run Winape.
-
Let's contribute to the WinAPE effort by posting a bug report:
[attachimg=1]
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. :(
-
It should ask you if you want to install it the first time you run Winape.
It asked me...
-
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.
-
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 ?
-
At the ACME Shop, it's that new 2-extra-joystick device from TotO. :P :) :) :)
-
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.
-
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
-
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*
-
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.
-
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...
-
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
-
Thanks (donated some bucks).
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.
-
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?
-
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?).
-
Wouldn't a "Kangaroo" be more helpful ? :doh:
-
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:
-
I've never seen the demo, does it work in other emulators? Your emulator? Any idea what's wrong with it?
I'm glad you asked. Yes, I'm quite sure about what's going wrong there.
The two effects (the Tetris part and the scroll part) that broke on WinAPE rely on the same CRTC trick which is about abusing the Reg6 (Vertical Displayed).
The demo use a behaviour that is unique to the CRTC Type 1 chip: When Reg6 is set to 0, the CRTC Type 1 ALWAYS display border.
It's really simple when you know about it.
It's implemented for sure in CPCBox and ACE (and probably in some other emulators too).
But really don't trust emulators.
Try the demo on a real CPC and see it for yourself.
This is what you should see for the Tetris part:
[attachimg=1]
And for the text scroll part:
[attachimg=2]
-
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).
-
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!
-
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 :)
-
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.
-
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+4Gv7b4lmAAB0pC2HFVUUGx/CikVymBwlVogB+9EQVhR14HrthefuPRT/U/VXytAjgpDpzqzjlwxiTf2SDcPD7KFj9sAyEcjqxokmmRhJEgMAqKdkgDw57FD1sGp/4iSzRmXkqoKX18kYrGZZMUsOKRPpzY9cg+phdTHMXCxcYLPfOQAAAI205bDV90v6qavr3/Hhveeeu/eaHBj2wr1QZaupq9HhdB1Kg3OYXzzzmxQ4DgAABKnKYYcYp798PUy+OxltbVlxcmaX8ItYoRzmxicThqbLYcVrL7hjv0JfEcMAAOhMTw470LwVC9fD2mesEJyxVfZkYLEc5qenKg415bDArGL2XUJ7ZNek1y/5wgvPBUecAQCAJkqGqRUHm8d14XpYrxy2WkxgAQAAXMvnsD79kutFDgMAAK5Zc5iSuuISyGEAAMA1Xw4DAACARA4DAABYBjkMAABgGeQwAACAZZDDAAAAlkEOAwAAWAY5DAAAYBnkMAAAgGUcJId9/OjZSj9PAQAA5nKQHPbp42dr/JDDAADAnMhh5DAAALAMchg5DAAALENpDtskSXRZ8DByGBz+vyRm59JNAwBAaw779PGzJEny/M3uH3LYIbRm36UbGJMk7qu7FxcXSZJsNpvNZrN06wAA0JrDNhvqYcvzc4z7T1pxDkuSpExdZfySP8lhAAAllOawsh5W/ifzohKPBZpz2P379w905cMxf+1g5NUWwvwWlv/CBKMYOQwAoMQKcli5sd4cdv/+/VXnsFUUw0xvo/kXpimK0S8JANBjBTmsKL4l/2tq6hmG+e+rwhxWJrDV5bB1FcOe2vWw8l8VvyrmWLrJAADoy2EbT1F8q4xiq6uHmfi13hwW+WurCjQmHTr/nsgEr6SpAAAYGnNYUXyrKArx81smivn1sLIYpjCHyex1v9mEd5xKl2KY0wO4dJPrHBbMi2Z76WYCAGBRl8Me/smf/Pn9P2+NYsEKjZIc1j1gKc9hkT+1DGEa8o3MYaKSaiUzDe0EAEBSl8Pseti3WuthCseHrTeHBQtgPn8s/NINj9XDyGEAALXU5bBQR9i31jU+bKU5rLUMJv/UJoQpzGGt9TDnX7BlWw4AuMnU5TAZyKoR1rH3JRkfNpWOxTBDzuu2dNt718MIYQAADVaQw5LVzh+2rvclu9fDiqokpiSEPR00PkxJywEAN9kKcpg/n77y8WHSiuYPi+QwexqROofpKSn1rYcBAKCB9hwmra4eVtLW/9gk8ueV/xTMXztRM0j/qTd/mEQOAwCoRQ47eA57up56WC/VP5RNURRLt/1pstmULYn/G7J0MwEAsJDD5shha5FsWqKM+VNfXFw8ffo0UZDASkVRkMMAAKujNIclRbLZ9C3QkMPGiiddJ4clm42eHNbx35ClmwkAgEVpDlvkQw572qd3cumWAgCweuQwchgAAFgGOYwcBgAAlkEOI4cBAIBlHD6Hff0sSU5fvOwWhi7vnJzceSO+Z9h1ps5hAxYpclY6aj1mYld3TsXorrPzQVc4vXM1fcs6OD+rGr5UCwAAmN7Bc9iDLyfPf/ns5KWrI8thvkki1GFzWJ1hru6c9o9iS+Ww87M6N17dOW2KYqZ5C+ZFAAD6OHQOu3rx5OzB4/PnO6ai1eawqfLTXDlsUFhZJt94dz0/C0dI4hcAYG0OnMMu75x8+fzTx1cvnpy+eGnHo2r7jZf23WUnL119ennn5OTs+ZN919kDmagu75xUPVPmUi9+eb/r+a9X1zQdb93PGp3DmjoczeKS/iqTcglw2ad5wKXB3ZhyfpacnV/dOT09Ozu1e/zqI+vuwLNzb78pPskew6s7p6d37pyJs8Y327lMuUe2PDk7N+04vXMlC2OyIcG2Hbr9AAA0O2wOe+Ol0zLrvPHSaRWznBx2/rzJW8nZg8s7J1U8euOl0+TL59VhVZIzJ4ojxTHVnq+fJV3PGpvDnMAUzGGtXzl7DlIVc3PY1Z3T0zvnVTef/Ha/LRPQ+Vlyeue83H9+Fops+82rO6cy4owvUAUuUiXIqhn7hrr9knX76wPcth2+/QAANDtoDrt6sS5PJUkZg9wctj9mP4DMOaBMZlV+Ek5f/Lp3Kf/iXc4al8P8wDQ4h5n9h+qabKyHeWOqTCJxUogpHZkykT32P6mzWvCOQ5vdWA8TN/KfJf5EInUdtv0AADQ7ZA7bd0qaTBaLQQ++nCQmdfnpqsxkTSPAYjms7awROSwYmMbnsKYrjxUcH9Y7h+3LSqJTzwtJE+eYhvFhkQb3y2GHbj8AAI0OmMP2fZGij/LkpTvPm2BUdh1e3jnZz2pRBbXqAK9fUg4CCyU2ccwbL50mXc8amMNaJ57wh4VFvnoaDW3TCL4vaQ35sjohm/slZfzyMtkhckzwfUk/DXbpl4z0vR6u/QAANDhgDnvemTbs8s5JcvZiNSo/OTkNj9OX/ZhWWjp/3nQvNgz5r0+vLt7prKE5rGn+MCdmOWHLz1vBcfpPJ49iwfnD7PFR1Z/qtG2cfnlw+Ys5pmmc2RT8+cOu7pyenp5a+8qD7A5KeUC4bbO0HwCAEObTn+B9SSyAkAQAWD9yGDlMu6QBOQwAsHbkMHIYAABYxkFy2MePnq30s/Q/DgAAcIMcJIct/VAAAAArcJAcFnyXELg5/P9XAADgO0gOm/8xgEUQuQAAY9AvCQxX5jB//+z/RwYArBI5DBiOHAYAGIMcBgxHDgMAjEEOA4YjhwEAxiCHAcORwwAAY5DDgOHIYQCAMchhwHDkMADAGOQwYDhyGABgDHIYMBw5DAAwBjkMGI4cBgAYgxwGDEcOAwCMQQ4DhiOHAQDGIIcBw5HDAABjkMOA4chhAIAxDpLD3tVh9v8o48YhhwEAxjhIDpv/MXzkMMyAHAYAGOOYcxjeJYweGDkMADDGMeew2f+j/PTp06eqoo+qxhwlchgAYAxy2MRURR9VjTlK5DAAwBiL5rDd1770pa/tuu/vcww57KmyxhwlchgAYIyV57DmI8lhT5U15iiRwwAAY9zIHHb18snJy1fx/8B2OSakJfpcvXyS7J2dd7vi0Ja0NwajkcMAAGMoyGG7r33pS1/7WrZPJ9l2v9/aUxTb6ldxTJZ9KUmSJAlFMZU57PwsqS569fJJxyRGDlOMHAYAGENHDqvCVuOe4Fmrq4cNuyY5TDFyGABgDB05zGSppj3lhimITZLDrl4+OXn55TO7l1D0G+5LV/Wek5evnp6fWfv9ilY0+ly9fJJYmUpmrHr7vGpUcna+39/czpOXrxqOIYcdHjkMADDGWnLYNjO9j1PVw2SQ2mcg0Vm470IUQanaPD9LTl4+b+pWbIs+JkDV+cnOYbLD0tzKb6fdqsCzdGkMxiKHAQDGWFEO23dU7iPZRPWwq9Y9iVR+fX7WPMy+a/Qpc168DXJ/vFXnwboaOezgyGEAgDHWksOsbsk6h+2H71cRTZguh3mBq4xBDWO2Okef87Pk7Hx4DrNbFe7fJIcdHDkMADDGjZxPvyl1iT7BaiSXiDz7zf3/iFcfLZH7WvFpf/75md0JGe6XjPRdlpvksIWQwwAAYyyZw0x5a9In2huUw+TwrRNv1LwzDqsesi/Fo089Aj8w4N6/Yz1Ov3ksf9M4s/bGYDxyGABgjBtZDzskVdFHVWOOEjkMADDGjc5hiWf8f5gj9/VvN8kdhzUGkyCHAQDGuNE57BBURR9VjTlK5DAAwBjksImpij6qGnOUyGEAgDGOOYcB45HDAACHc7Q5DBiPHAYAOChyGNCIHAYAOChyGNCIHAYAOChyGNCIHAYAOKhbt69feumlr371q3/zN3/zt3/7t3/3d3/393//96+88so//MM/3Lt37x//8R/v37//T//0T//8z//8L//yL//6r//64MGDBw8e/Nu//dvXK//PQw7DkSCHAQAOar562P+9k/Pho/zj/EtLDgMAHNSsOezAzwKMQg4DAMzsBuWwJEkus4SfE/5c9h9oXDw/BZMTOQwAMLN157BNlHPwZZb82SsFn6k+lxk5jBwGABhl9Tms4b6JH8WShBw25Yd6GDkMADDSceQwK4Ht/6divqAeNu2Hehg5DAAw0nHksKIoiiSpP2UbLi4uZA6z6mGviqu8P1d2OS8+KIqvxPfYn/tPiqIoPrg6cHvamhH8UA8jhwEARjqOHJZU8cvadnJYXQ97tShE7Lj/5GBBZ2QOGxSPRrWnz4d6GDkMADDSceSwQuSwoimHmXrY/SfF66/aceRJ8ZfVr69Xx39FfHv//f1OeWLwyNefVHvOiw8K+6xIDgvdxVz//nn77e4/Ke5f7Q/44Kou+NUR02tPfUG7YR3/Amush52dnZHDAAB6HEcOs8aHtdTDokWgr7y/Dy5/eVX1V54XH5g082pRVImt6UgTU16v8lOs+8/+yr2LON7czvnW3O7+E6sZcvsrre3pcCP/L7C6ethZhRwGAFDiOHJYfd/28WF29cv51GHlleJ1PzwFY03wSO+yXXKYexf7dl9xGmlf7f6Tuj1yW7azsT3dbyS211UPO7ORwwAAGhxHDjNDwwqZDdrrYaKrzun7q3c257DYkVVtyRiVw4KRq38Oa2xP9xuJ7RXVw2T8aopiBTkMADA7dTnsr//6r1t/GpH5w4ru48NEWHndyUnReljsyFeK1/1hYYvWw2LtOfZ6mBO8yGEAACXU5bBehtTDXtmPYa9768SvTaOj/BTS/chyO1gw657DWm7XmsPi7Rn0XOuqhzk5iRwGANBAXQ5zKl5xTj1Mzl5RxOcPEz2ShZ2NnLcUG9NV/Mhy/H7pSfF6WYEbkcP+LPgaY596WKA91fxk7e9Lrrwe1kVBDgMAzE5dDuslMp9+EamH8Znis6J6GDkMAKCTuhzWtx52EdVYD+Mz+kM9jBwGABhJXQ7rJenAHEw9bNoP9TByGABgJHU5rFc9rBfqYdN+qIeRwwAAI6nLYYdzmSVJkvBzwp/L/gON+24f5DAAwCLU5bDD1cNwo5DDAAD6qcthvWyiJr8dVoQcBgDQT10OGzN/mNwmit1w5DAAgH7qclgvkfnD/PclcaOQwwAA+qnLYYPrYeVk+tWU+oH59Pd2eZpYsm3zDXZ5Wn5vNhY0vDHeMydJkua7AbduvuTSfx0XOQwAoJ+6HNaLqYfJFY3MdnMOE5lhl6eRSHIkOcy7wvgTe/0Zl0AOAwDopy6HDauHyRW+++WwYpenab6z9++3t5lbRCoPMPvF8Wmeu3vFgeH00/k6zsG7PE2yLHCYd8GWZ286JdSweA4zf8bCKpXtj9jlaZpl6axVM3IYAEA/dTmsl+D4sN71sDI/BHJYuAS1zarKj9na5Wni7Sy2mcghfgLpfB2v5Q2HWZcJBh7vi0AbGhvWVg/zL2Q3eOZyIjkMAKCfuhw28n3JAePDAlEjlsPqdFVnjuC5gSQldb+ObLnXLxm+nbx46AqRNrQ2LP5nDD7jEr265DAAgH7qclgvTj1M9k4WPfolk2zbOYdZp0f6NM12Q0jpdZ2mVhVODmuJRaFBXdE2hHdG/4yF0xRyGAAAjdTlsLIeFv9pROYPK7rmsKpoM309zL6Hm4sOUQ9ryzoT18NCf8Zim8lhYeQwAACaqcthvUxRD5P5Y5+V6uFMPcaHecHI6Sf06lNdr+O3vOGw4GCv6LNPNz6sMUo2xLjDI4cBAPRTl8PGjA+Ts1cU/ecPM9+keV7VhMp92bbeKFpeJ7SDkXcTqet17Kbv35cMHWYu2DAubeL3JVv+jEmaZX6f71zIYQAA/dTlsF4i8+kXTTkMNwM5DACgn7oc1rcedhFFDruxyGEAAP3U5bBekg4mvylWgRwGANBPXQ7rVQ8DmpDDAAD6qcthwCTIYQAA/dTlMOphmAQ5DACgn7oc1ssmavLbYUXIYQAA/dTlsJHrS5ptotgNRw4DAOinLof1Epk/jPclbzhyGABAP3U5bHA9rJxMv5pSv/v6kvUiRl10WMRxAG+++Q7rOSKOHAYA0E9dDuvF1MPkikZmu0MO651uyGFrQQ4DAOinLocNq4fJFb475zA/2rjrKtapa5enab4r92SZtyJjaJVGsQKjuEiW+etUmnUYA40M7anXrYzezr2FXHXcX1Py2JDDAAD6qcthvQTHh3XLYeElr8uoUn+3zfbhpdrYZol3UH1icKs+0u4CtY5NuucwKxz6TWhsmNey4y6xkcMAAPqpy2Ej35fsNj4sTVO/HiSiTJ119vlL5DErSGVbf5+5iLyyyWHe2YX7RXCHncP8W4Ru597CJEn/MY8QOQwAoJ+6HNaLUw+TvZNFLIclVR+jTDR1b1/Zk1fVjNJ8Z2JYHcgKk2LcAWfWAVZXoTzSTlpuIIr3S9ZdkFYgC9yu/l7mMP8xjxA5DACgn7ocVtbD4j+NyPxhRZdx+rs8bSsO7fI0y7LQQeZCwXrYNku87sPu9TC/6GWFKv+o0O0a62FHWwOTyGEAAP3U5bBehtbD6iAik1hwcJed1UTeiY8PC6Y9rwbWOD7MClZ2I5x+xcjt2saHtfdwrhk5DACgn7ocNmZ8mJy9oug1f5gMRG5v3S5P7Q7E/fuS8pjAG4ii87B6HTJ46+D7kvZFm27Wcjt5bJbngfcljzeFkcMAAGugLof1EplPv2jKYX1ZMWy1jvvdyBByGABAP3U5rG897CJqZA6TtbIVElOKrfgpBiKHAQD0U5fDekk6mPymWAVyGABAP3U5rFc9DGhCDgMA6KcuhwGTIIcBAPRTl8Ooh2ES5DAAgH7qclgvm6jJb4cVIYcBAPRTl8NGri9ptoliNxw5DACgn7oc1ktk/jDel7zhyGEAAP3U5bDB9bByMv1qSv34fPrWKkKhVYUmICfvarl6eAFKjEIOAwDopy6H9WLqYXJFI7PdnMPSNBMrRqbp5OnHX5QyNo8q8esAyGEAAP3U5bBh9TC5wneHHJZlWZWLdnlmre7orRS5y9M0z5297rra/iLd9p76mG2WZHm1rmS+s+9oXapbS+SBhDmBHAYA0E9dDuslOD6sSw7bbrMys+zyLN/W6Web7cNRnYicdcDdr0M5zBzm3rXYh6Y6gNndkbtAS+ybejtF5qOsJpHDAAD6qcthI9+X7DY+LNvuV+/e5amsQskAVeWbYORqzWFeHqr2mfBV7Atcu+Bl5SWqVoVvGgh9KMhhAIA1UJfDenHqYbJ3sojnsGKXZ/mu2GbZ1s40UnP66Z3DZD3MGji2T4PNhbFAXAs04IYu5h1BDgMA6Kcuh5X1sPhPIzJ/WNGSw4ptluZ5lua7hiqUe7y1PWp8mElLk9TD7NuSxCrkMACAfupyWC8j6mHiLcb2UVmx3sBdnvoD5O2d8n1JMUuGf4sBLXG6UslhFXIYAEA/dTlszPgwOXtF0ZrDwp2ApmuyfqEyWIUynYFpngeqaIXVyWnPVpZmWWp3I1ZzmrW+LxnaDt/nxiOHAQD0U5fDeonMp1805bCFUbOaCTkMAKCfuhzWtx52EUUOu7HIYQAA/dTlsF6SDia/KVaBHAYA0E9dDutVDwOakMMAAPqpy2HAJMhhAAD91OUw6mGYBDkMAKCfuhzWyyZq8tthRchhAAD91OWwketLmm2i2A1HDgMA6Kcuh/USmT+M9yVvOHIYAEA/dTlscD2snEy/mlK/w3z6kT3dv42rV+D2Jrwfc1l0QA4DAOinLof1YuphckUjsz1NDhvDvfI2Y+2huZDDAAD6qcthw+phcoXvUTmsXqzRW8lxl6dpnruLPopz0ixL7bnyg/fyF+32b2rttZYIZx3JjshhAAD91OWwXoLjw0bksG0ml/EuN63lwKtMJFYnqje3WZK05TBzePymzjreab4LH4ZG5DAAgH7qctjI9yXHjQ8LLf5o5TCvSCbikSh2Nd/LHNPxpjUWpuyHHAYA0E9dDuvFqYfJ3sliWL9kPbK+Cj3xHGZFry45zK+HNdzUD13+YWhGDgMA6Kcuh5X1sPhPIzJ/WNGUw/zCUjD0mKOmrYf5l+3+bfMTwEcOAwDopy6H9TKkHua+tbjL08Cor845rNf4MHFn81Xwpv5QsfBhaEQOAwDopy6HjRkfJmevKJpzWCFfPbSjk9gf6oIM5bD6pCwP1cPa5w8L3NTaLWIe70t2Rg4DAOinLof1EplPv4jmsIPgPUZNyGEAAP3U5bC+9bCLqMPnMFnyorNQEXIYAEA/dTmsl6SDyW+KVSCHAQD0U5fDetXDgCbkMACAfupyGDAJchgAQD91OYx6GCZBDgMA6Kcuh/WyiZr8dlgRchgAQD91OWzk+pJmmyh2w5HDAAD6qcthvUTmD+N9yRuOHAYA0E9dDhtcDysn06+m1G+eT9+b436y6enHzOPqtYq5yEYihwEA9FOXw3ox9TC5opHZbs5hVloSC0wuJ7AS5eJtWjdyGABAP3U5bFg9TK7w3TeHtawgucvTNM8zu3TWtDNySlHUS0SmWRZYiVK2qvp9l6dplqXmMtvAVf3LOmeJYpt4vLqJab6rr2GaVa9nucrFmshhAAD91OWwXoLjw4bXw5pymFxquz4yuLP5FLm5zdyOR6dVpk27PE2sFcU7XdY6Sxxa30UcUaa0etsEPjdergs5DACgn7ocNvJ9ySHjw0wiasxhPXcGvxXJZl+OcnNYaMyaFYLkFUy6Cl22MTqZg2UD5La87Lo7RslhAAD91OWwXpx6mOydLLrUw5y61EFzmBW9gjkslJzCka6wIpd/We9qdR9j1xwmo+EqAxk5DACgn7ocVtbD4j+NyPxhRbd+SasHb+F6WFsOG1gP22aB6lqHHGasszRGDgMA6Kcuh/Uyth5W/V7tqBNHvXeyHNZnfFjD/j7jw5rCpRnLFs1hMnuRw8hhAIDDUJfDxowPk7NXFP3el5Tj78uuuDybOofV3YNZPqgeJq4Q3GkuG6j5mRcq/V7ScD3M68pcGXIYAEA/dTmsl8h8+kVTDtPgQK8grvTNxsMghwEA9FOXw/rWwy6iNOUw+UrkhP18B7rs6pHDAAD6qcthvSQdTH5TrAI5DACgn7oc1qseBjQhhwEA9FOXw4BJkMMAAPqpy2HUwzAJchgAQD91OayXTdTkt8OKkMMAAPqpy2Ej15c020SxG44cBgDQT10O6yUyfxjvS95w5DAAgH7qctjgelg5mX41pX7TfPpyti0x69aAGVDD8/J78+l3OXEa+0eTU+NbKyIl9q/ZtltL7FWNvL+fXAcq+M1SyGEAAP3U5bBeTD1MrmhktmPzuDoRZNoc1vfESXiXdZYuyrIsuJJRi20mTwytsxRYSUkDchgAQD91OWxYPUyu8D04h2WBtRuD6zmGrlA01MPqZRrLPc4Fvevv8jTNsjRJkiwzBa1Abmq6jl27qqtVab61f93ZDU7zPPCo5ZFbK8F5q6RnW3IYOQwAMIS6HNZLcHzY0BwmFriuYofZDMSMTjlsK6PUflOcaK2qLVYaN1+bb50Y1nCi00Rz9/L8XZ7arbIaHHh8E9hCj2F+pR5GDgMADKQuh418X7JtfFgl0i9ppajwaKvqMJ+fw7wOwFBKa+jg2+evUAyLn2juVH2VbevTTB4LFvDEdl1QMzf0nlrkM1XDw8hhAIAVUJfDenHqYbJ3spgmhzUni479knVAqU4PD+f3+grrnV4Maz+x/q4cji8LbFZ3ZSyHOdkq+goC9TByGACgP3U5rKyHxX8akfnDimlyWJ/XHuPvSwY6ENvLWs74enGtLvWw/YF1jtvlqfNrJIfZg9LqWho5jBwGAJiIuhzWy4HrYaFhWE1XKEKxxunY9AZytQ/zMgOwbN3GhxVFsdfuxAcAAB3MSURBVM3SVMSpXZ6maRqKXN7j11U0c8vIVBfkMHIYAKA/dTlszPgwOXtFMUUOC7+HGLxCEY41omtT9iRG35d0X0gM5pvWE8W9nPc/rYY05TD/vtssSfNtJIcFx8othhwGANBPXQ7rJTKffhHPYWvRFMPQhhwGANBPXQ7rWw+7iFp1DpOzSaAvchgAQD91OayXwMQRnslvilUghwEA9FOXw3rVw4Am5DAAgH7qchgwCXIYAEA/dTmMehgmQQ4DAOinLof1soma/HZYEXIYAEA/dTls5PqSZpsodsORwwAA+qnLYb1E5g/jfckbjhwGANBPXQ4bXA8rJ9OvptRvmk8/NO97ufZ13+nfvSs1zvR12DV/9u2Q6yfVN9tm1rz28bWJLPZCTk0PG/hzapnwjBwGANBPXQ7rxdTD5IpGZnvgukYddT/loDnMu7hcnttZJtxeuTtqm1nri7t3iS4urgM5DACgn7ocNqweJlf4HpzDMnfJxiKwjGPTFfyd+21xheAqlrs8TbMssuKkxfk2tPxlnbZ2eZrmW/vXnXPrPA/crzxyayU4d9XLajFwchg5DAAwlLoc1ktwfNjQHFZlGdEjZzYDeaNrDosvp+2uxB27o2xa7DjTM1kGKbNEZbXfvrX/1Caw1V2cgT8X9TByGABgLHU5bOT7km3jwyqRfsl6W2YTa9hVdZhQfjkwh/kxLHRHa0+kZ1DUvbJtfZrJY/H2yIKauaE3DkzkM53Dw8hhAIAVUJfDenHqYbJ3spgmhzVHjCnrYTJddbyj18loH1gOx99/sc3KVxHE4PpIDgsFzKa6F/UwchgAYAR1Oaysh8V/GpH5w4ppclhzyDhUDovEmo71sP2B9fCuXZ46v8bbI+JfXUsjh5HDAABTU5fDejlwPSw0HqvpCnv1cfW4r1BHZ+jbtjt2HR9WFMU2S1MRp3Z5mqZpNAKKkffW5eJTXZDDyGEAgBHU5bAx48Pk7BXFFDks/EJi8Apy9/6E3B5dVdWVnG8DU0JERlp5b1OGm2EP/i9Pk12ajTnMjWH7xLeN5DCXklxGDgMA6Kcuh/USmU+/iOcwHDtyGABAP3U5rG897CKKHHZjkcMAAPqpy2G9eH1iAZPfFKtADgMA6Kcuh/WqhwFNyGEAAP3U5TBgEuQwAIB+6nIY9TBMghwGANBPXQ7rzp60ArCQwwAA+qnLYR3rYeWbkkQxNCGHAQD0U5fDukiSZJNsiqLwo9imMtW9sFLkMACAfupyWJd6mMlhheidlPErlsMCU8AHZ67vJr6wz+Blf+R630Nat3/INMumX3covDKmOuQwAIB+6nJYFzKHlSUxZ4GjzWbTOHnYtOnhADnMWZNom/WPYgdNSLrjl0EOAwDopyKHfeObr94N+cY3Xw0eL3NY+evFxYW8dRnLNskmEMUaY8QuT9M8z+oi1DazClLBNSjdnXKNRWctyNDSkGmWpUniri8ZWVE8eBHTaue+zrqQ5nmyrFwDvOmJZKsiDxVeiDPSsFmRwwAA+qnIYXfv3v39F1/4n7t37waPb85h+x1Dc1iVF+qFueOrYsudIj+FTqm/NlvuYtzOcQFNFwntjDYgieawRMa+5ofq8HTuzhmRwwAA+h1ZDutYDwsOD9vlqQkLcrsKEa31sNo2C6Q0WTryLuidGtJ2kVhUkudWT9fjiUIP1f3plujKJIcBAPQ7shy23zG8X3JcDhPD6xtLR+EYFGxFrOXdspTV22gu2y+HtT9U94bNiBwGANBPSw57/Pizv/irB/Lz+PFnZQ4r36CUPw84Pmx4DttmpjtvQMWoFhkfNn89LPpQ1MPIYQCAcRTlMP8Tr4eZKObUw8opXovJc5hISPUYqsbRY24WaRhBFWhJ5H3Jlot0H8LV5YlaH6r705HDAAAI0ZLDPgppymGFHcVMDisnsDCZrOv4sDqAxHNYfWqa594IMHHhetouOeA/9EZhUzppnD8sepGWHsPq3Cw3Txd/opaHCl483rAZkcMAAPqtNYcVoncySRIngZXCOQxLpKL5kcMAAPqpyGF95w+r71RVxZo+5LCKLAPOPofEEshhAAD9VOSwMbw+Rtchbgr9yGEAAP3U5bAu60sCrchhAAD91OUwYBLkMACAfupy2OB6GIU0SOQwAIB+6nLYPDZRS7cOEyCHAQD0U5fD5qmH2WFLNjghih0HchgAQD91OWweVdKyEtj+f3jR8iiQwwAA+qnLYfPXw5Kk/pSNv7i4aMxhcqb72SZDbVyJsltTWubZP07kMACAfupy2DxMPayKX9Z2Yw4Ty16LBRcPLxCb+jTlJsUvgxwGANBPXQ6buR4mcljRlsO8FCNXoQwusJjmubu36cgsMytRiqnvxdKVdn5y99SLYHrXl2Wzar9MZvFGplmWimXG564EDkcOAwDopy6HzSM4Pqwlh0WLSSYH1Uft8tQsISRiUtOR1aXFobE6lrx6l5Y09Eu2NbLYZtX326w5FipEDgMA6Kcuhy31vmT7+DCr+uVwylFeeKq32450Lxs9oC5QyWs2Xz8+UMxqpOzzNDlsTQtTksMAAPqpy2HzcOphsney6FIPq7sOTUaR0nwXiTjRIwvnoG7juuoBYtHrd8xhVuIUv7hPrRo5DACgn7ocNrIeFv9pROYPK7qPD6tLRLKAFDo8XGoKXlgMwI/0S3qXqXZErz+qHhZ6bsXi+SmYnMhhAICZqcth8xhSDyvkYCn3V2tAlTs+y9rufmRd5Wp7XzJ41cD1u+aw0Pgwp8OTHEYOAwCMpi6HLTI+TM5eUcTnDxMvM9qvDZoOQW+UfRGoeDUeafX+ZVn5Rfv8YTIWedffXzLbmo22HFZfJMtNPcztLdWNHAYA0E9dDptHZD79Ip7DbppVvBsZQg4DAOinLofNVg+7iLrZOUwW/dR3QDYghwEA9FOXw+aRdLB0GzEKOQwAoJ+6HDZPPQxHjxwGANBPXQ4DJkEOAwDopy6HUQ/DJMhhAAD91OWweWyilm4dJkAOAwDopy6HLbW+pNkmih0HchgAQD91OWwekfnDeF/yOJDDAAD6qcth89fDysn0qyn1m+fTt2bStyeVHzDZ6fD5UeU0+q2LfzevYnTsyGEAAP3U5bB5mHqYXNHIbDfnMHcho+GhZmAksm5q1p9sucVNil8GOQwAoJ+6HDZzPUyu8N0zhxXFrlp6UX5Vl6vkWo1Zvq+mNa0+aZ2zzarvzC3CbXAW33au4bCXlUzz3D7BukiaZebGgSdaAXIYAEA/dTlsHsHxYb1zmIlB9VdWgqo2t5kJYKaeZZ3ihbNtZtbWtgteuzwNLzVkrlJfONIvKS8j7l9vbjPRYv+JVoAcBgDQT10OW+p9yW7jw5wYUlWrgqGqJjsT/VOcI6vrpPnOj2H19RKruuYWxiLxy+upDIVIUYgLPtEKkMMAAPqpy2HzcOphsneyGFUPk52MwZBUhR37aqIT0dSy0nwXjmF2k+o6m2C3qmMOs/pAxS+BJ1oBchgAQD91OWxkPSz+04jMH1Z0z2GBvsDQt1YOC5bQAj1/uzzNMi+GyYqVtcP7opiqHhZ8ohUghwEA9FOXw+YxRT0slJ+c7kEx2Mrtt2yMRLIKFe/idO/hbvXOYaHxYeEnWgFyGABAP3U5bJHxYXL2imLc/GFeD2O5L82yxvclRb9flln5KDgqXnZBylhk9svaW9mMaqMth9UXyXJTDws90QqQwwAA+qnLYfOIzKdfNOWw4QbVkZpi2DzW9W5kCDkMAKCfuhw2Wz3sImrZHNY4O8VhyYrfejogG5DDAAD6qcth80g6WLqNGIUcBgDQT10Om6cehqNHDgMA6KcuhwGTIIcBAPRTl8Ooh2ES5DAAgH7qctg8NlFLtw4TIIcBAPRTl8OWWl/SbBPFjgM5DACgn7ocNo/I/GG8L3kcyGEAAP3U5bD562HlZPrVlPrN8+kXhT2X/SGmOW1aqLLbTePrF90w5DAAgH7qctg8TD1MrmhkthtymLW2Y3j5x7GCa4l3vinxSyCHAQD0U5fDZq6HyRW+W3JYYJ1vuQK2Xa8KLuC4y9M0z91DxenW+pJ9byrLZtX+freurlxfacVhjhwGANBPXQ6bR3B8WFs9rHG1oTocma2mHJZ4Rzqnu9mn/ab1rSL9kp1uXW5uM7kA+WqTGDkMAKCfuhy21PuS3caHyVqRrEuZtFIFm8Yc5hfM5OkNySd8U68BLTms9dYmh61+ccmCHAYAWAN1OWweTj1M9k4W8RxmmLFaVnaq0kz3HGZHL5mMYjd1eyHtm3bMYSZ6FfYv9XrfKw5k5DAAgH7qctjIelj8pxGZP6xoymFeRKp2HLIe1ummlWnqYfbNVpvEyGEAAP3U5bB5DKqHWa8uBkeFBbd2eZrEwlB8fFifm/bOYaHxYU6HJzmMHAYAOBh1OWyR8WFy9oqi6/xhMqF470uKzr00z93xW862OdZ/X7LTTc3O8jrZ1my05bD6Illu6mHifqsdpU8OAwCsgbocNo/IfPpFx/FhR2bV70aGkMMAAPqpy2Gz1cMuom5GDqsH5K96SH4QOQwAoJ+6HDaPpIOl24hRyGEAAP3U5bB56mE4euQwAIB+6nIYMAlyGABAP3U5jHoYJkEOAwDopy6HzWMTtXTrMAFyGABAP3U5bKn1Jc02Uew4kMMAAPqpy2HziMwfxvuSx4EcBgDQT10Om78eVk6mX02p3zyfvpmsvhJYhWg+cpL9aBviaxwdL3IYAEA/dTlsHqYeJlc0MtvNOSxNMzPd6TZL04UCjbXo5C5PY5Ow3rD4ZZDDAAD6qcthM9fD5ArfHXJYlmVV5NnlmbUapL/E5C5P0zzP6unqt2K76axdnqZZliZJkmVZtXdn1n6sWyISlbM0t7ygLJtV+2UyqxvoVfqScr3L6sr1ldYR5shhAAD91OWweQTHh3XJYdttVsaQXZ7l2zoPmSgkMtIuT6vQIvs0d4Gz7PPrr823dsFrl6fhhYgCzYj0S8rLiCxntWq/uZWZcBVJjBwGANBPXQ5b6n3JbuPDsu0uT7NtUezyVBSW3IqUSUBmp9w2B9fhpt5pxZx9/nJjmDnDXRoy1IyWHCbqcPWz2CW9nXPldSCHAQD0U5fD5uHUw2TvZBHPYcUuz/Jdsc2yrZ1dJFOTiuYwK3JVBwR2hmOY3TCTlrxm9M1hVh+o+KVeE3wdgYwcBgDQT10OG1kPi/80IvOHFS05rNhmaZ5nab5rqCHJE0bWw4pdnoohaUV9rH23akeoGdPUw+ybrSGJkcMAAPqpy2HzGFEPE6Om4iO92nNY0/gwkaXCL0Na70t2vWDXHBYaH+Z0eJLDyGEAgCmoy2GLjA+Ts1cUrTksPBOE6RMMZq9wDgu/L2nVtPbj0TyyC1LGomAzyutXG205rL5Ilptmi/utYZQ+OQwAsAbqctg8IvPpF005bBFNMWy2u68kdfnIYQAA/dTlsNnqYRdRGnJY4+wUM9x2VUPyg8hhAAD91OWwebiTm4Ys3UaMQg4DAOinLofNUw/D0SOHAQD0U5fDgEmQwwAA+qnLYdTDMAlyGABAP3U5bB6bqKVbhwmQwwAA+qnLYUutL2m2iWLHgRwGANBPXQ6bR2T+MN6XPA7kMACAfupy2Pz1sHIy/WpK/Q7z6Y8Uvo6cHz96l5Zp/bFHDgMA6Kcuh83D1MPkikZme/YcZq0XGV5S0j+d+BVFDgMA6Kcuh81cD5MrfHfNYbs8TfPcXRhymyVZvp+KvopRgQUcvQUlCz9RRRaglGWzan9Lw8RZaZaZZS7rKx1nmCOHAQD0U5fD5hEcH9Yjh5moVUembWYCmClvBRfSDtSxGlcwMpevT4r0S4Yb5rTRNHHfhmMtq5HDAAD6qcthS70v2WN8WDBdWX2Lu7wsO3XNYUV1AWdVR6cwFolf8YbJPk+Tw1a8dmQX5DAAgH7qctg8nHqY7J0shuewOtnss0+vHGbdqC6sCXa265jDTPQq7F/q5byPM5CRwwAA+qnLYSPrYfGfRmT+sGKCHNazHiYrVtYO74vgdYbUw+ybHWMSI4cBAPRTl8PmcZh6WOJFsnprl6eBQWN71vuS4fP9kWJdc1hofJjT4UkOI4cBAJagLoctMj5Mzl5RjKiHZVnq9PSZ3r80z6u6VLkvEMW88WFyvyy2ladXG205rL5Ilpt6mLjfMY7SJ4cBANZAXQ6bR2Q+/aIph7VYQ1npWN+NDCGHAQD0U5fDZquHXUQdUQ6rB+Qf65D8IHIYAEA/dTlsHu5kqCFLtxGjkMMAAPqpy2Hz1MNw9MhhAAD91OUwYBLkMACAfupyGPUwTIIcBgDQT10Om8cmaunWYQLkMACAfupy2FLrS5ptothxIIcBAPRTl8PmEZk/jPcljwM5DACgn7ocNn89rJxMv5pSv3k+/aIo7Mm46hlRu6/h3U5OrN+6HHjzukY3HjkMAKCfuhw2D1MPkysame2mHLbLUzETqlmsccIkZC00ad8u2BriVyNyGABAP3U5bOZ6mFzhuy2HbTMn7uwDkKlg7Zd6zDK/nLV19+3ydL8cpTjKTVTOctzyCrJsZt19n8zSPI80I82yaqFJcaWjCnPkMACAfupy2DyC48Naclhg4aIq+FilqaReSVtEnXKzDlq7PA0EH3l++Ob2FRr6JduaIWp5dbg8srIaOQwAoJ+6HLbU+5Lt48O8cli9L9hFWG87Za22zsS6QCXPar5CfKCY1QzZ52ly2HEuOkkOAwDopy6HzcOph8neyaJHDgvWw4IBSErzXbfqUz1ALHqFjjnMRK/C/qV+9eCoAhk5DACgn7ocNrIeFv9pROYPK3qPD+tViPLOjd6h2hG9wqh6mH2zI0pi5DAAgH7qctg8htTD3DFdbe9Lim1rYJY7zkuy3pcMnhe4QtccFhof5nR4ksNs5DAAwEGpy2HzLBPp1MPk7BVFdP4w2UPovOhovbFYOEnLnCZ7A4P9krILUsYi7wrmpv7dW5uR5aYeFn6g9SOHAQD0U5fD5hGZT7+I57DjcGTvRoaQwwAA+qnLYbPVwy6ijjGHybUAjqgDsgE5DACgn7ocNg93DtSQpduIUchhAAD91OWweephOHrkMACAfupyGDAJchgAQD91OYx6GCZBDgMA6Kcuh3Vnzz0BWMhhAAD91OWwjvWw8oVHohiakMMAAPqpy2FdJEmySTZFUfhRbFOZ6l5YKXIYAEA/dTmsSz3M5LBC9E7K+NWcw+QcWmIurQHzmsZPOcREqT2u6R3qPXfrhUJLWq4JOQwAoJ+6HNaFzGFlScxZp2iz2bTMAeYElRuRw+QOZyHLAHJYQQ4DAByYihz2jW++ejfkG998NXi8zGHlrxcXF/LWZSzbJJvGKBbKYVnm14q2gX3OFXZ5mua5dZxzVvAi1c40y8qlHnd5mmZZWh0mKliDrhnPYftm75wTxTHbrP6L7Pe2LltpnqV1p7yOfOrpkMMAAPqpyGF37979/Rdf+J+7d+8Gj2/OYfsdg3JYUi98XcUGsxkoRVmLanvnihOCF6lvss32Z+/yNAl8b9+o+zXbcph9ePBq7t6GHBZ4lrad9dnWU0+JHAYA0O/IctioepiXMEQY8rvp4umk5SLyalVhqrHbsTq43zVbc5gpiIUfU15uv934V/KepXGnd6ODrThODgMA6HdkOWy/Y7oc5oznD12hPYd5F7H6BBtzmDiz2zWdXsWu9bDwY24zq9uyMYc1PYu/s0OzJ0QOAwDopyWHPX782V/81QP5efz4szKHlW9Qyp8z1sM6jMRvz2H+RVrrYWIc/cBrtuUwq+Mw8Jhib3XyBPWw5mF2UyOHAQD0U5TD/E+8HmaimFMPK6d4LSbIYaEhVP4pLTksfJGG8WGhUfC7PPUO6HDNHu9LNl1NDOFy+0PlsK4B48OiI++mQQ4DAOinJYd9FNKUwwo7ipkcVk5gYTLZ+BwmutKcFNY6er183dHpRpQXqXZmebBfsn5dsn75sfWa1Unh9yUtXnHMvZp4X9LqYqyOyzP/r2SepXWn/xbC1MhhAAD91prDCtE7mSSJk8BKsRymx8GCyAKCz7LQA5LDAAD6qchhfecPq+9UVcWaPlpzmCxPeZW2lQk+y/IPSA4DAOinIoeNkbQ5xE2hHzkMAKCfuhzWZX1JoBU5DACgn7ocBkyCHAYA0E9dDhtcD6OQBokcBgDQT10Om8cmaunWYQLkMACAfupy2Dz1MDtsyQYnRLHjQA4DAOinLofNo0paVgLb/w8vWh4FchgAQD91OWz+eliS1J+y8RcXF4Ec5s9HGp+hdMz8pcHJ+nucG5k6PyC6juZakcMAAPqpy2HzMPWwKn5Z29PksDHG5rDGpSSDyGHkMADAItTlsJnrYSKHFaNymFk4Mbjmd5rnmV+dqs5JsywNLT2ZZNtdnpplHoPndllHaCcWeAydKJaSrPa2LrhptTm6U14nzbI01OYDIIcBAPRTl8PmERwfNiKH1RUle6XvennufTzZZmaZn3pzm7mL/3Q+N1AvC+yybuWfWN+/ZfHycJvjO52lz2crvJHDAAD6qcthS70vOW58mIhI/rfhTCM7A62CVbdzZdmptbfUXD98orzEfrtHm5t2ejead8FvchgAQD91OWweTj1M9k4Ww/ol69HxVf6IZykreg3IYVLDuTWTisInbjOr27IxhwXbHH6Q0I3IYQAA2NTlsJH1sPhPIzJ/WNGUw/yilxefrKMOWw/r856m1XEYOFHsrU6eoB7WYeDaIZHDAAD6qcth8xhSD3PfPNzlaWDkVucc1n18WNu5ThaMvi8ZPLE+ItT1KYd1DRgfFh3LdkDkMACAfupy2CLjw+TsFUVzDivs/rbgK47h9yXj7x5muVdYK7s59+9Lxs4Nj0uzeMUx90TxvqTVxVgdl2ctbY7u9DtqZ0EOAwDopy6HzSMyn34RzWEHMW9AmUawzZoehBwGANBPXQ6brR52EXX4HCbLVv4oM52CbVb6IOQwAIB+6nLYPJIOlm4jRiGHAQD0U5fD5qmH4eiRwwAA+qnLYcAkyGEAAP3U5TDqYZiETEVnZ2dOTvL3FOQwAMDs1OWweWyilm4dJuCkLhm8nF/JYQCApajLYUutL2m2iWLHwc9hZfaS2+QwAMCy1OWweUTmD+N9yePgBKMzWzA5kcMAADNTl8Pmr4eVk+lXU+o3zafvzVJfzpY1YObSyHz3muZBNQJLRU7x1IeeaszPRpEQRg4DACxCXQ6bh6mHyRWNzHZsHlcnggxMJI3rPyo0XQ5znvqwSSwYm5pCGDkMALAIdTls5nqYXOF7cA7LMq+yVa+u2GHxn121KqP8ql6x0rmdtzd4ZHBnoFW7PE3zPKtrVFuxXZ1jnnB/WnilS7EOZpplqd9y2RLxu/9QVqO6/VU98fxEDgMAaKAuh80jOD5saA6rIoso8ZjNQOUosKs6vP6qLkKJw8UN2o8MRKZQq3Z5WqWaam1x/1ruaaE21fvEJaN/t/K80EMN+Kt6yGEAAP3U5bCl3pdsGx9WifRLWtnIKie51a9ANPNzWLzbzlw2eGTrTnO6qcU52/XB8gH22/EnbVwCvGFUnP9QA/6qHnIYAEA/dTlsHk49TPZOFtPksOYh6Z3qYTK4WKeLS0ePDOwMtqpLDqsvG8ph3jUbc1hjcnIfasBf1UMOAwDoJ3PYj370o4cPH667Hhb/aUTmDyumyWHN1Ro/kcT726zKVHCEln9k0+l+q3rVw6q7xp+0Xw4LPdSAv6qHHAYA0O/W7et///d/v7q6+sEPflDmsA8//PD462GAjxwGAJhZJIc9evTo8ePHU+YwPnyUf5x/aclhAICDmq8eBqwOOQwAcFDzjQ8DVoccBgA4qPnelwRWhxwGADioW7evv/3tb7/55ps//OEPf/zjH//kJz/5+OOPf/7zn3/66adlDnv27Nkvf/nLX/3qV7/5zW/IYbhZyGEAgIO6dfv6jTfeeOutt66vr997770PPvjA5LDHjx9//vnn5DDcXOQwAMBB3bp9/Z3vfOftt99+55133n///Q8//PCnP/3pJ598Ur4s6eSw3/3ud+Qw3CDkMADAQd26fX15efn973//3XfflYP0Hz165AwO65HD3gWORWsOC5r//8kAgDW6dfv66uqqaXDYU3uQfpnDyhBW5rDgNZP4f7qAozHz/10BAEfm1u3rt95665133nnvvffKmcOCnZImh5liWCSH/X/nGvJ0UUFtYQAAAABJRU5ErkJggg==)
-
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.
-
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?
-
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!
-
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).
-
Nice update! Haven't tested everything yet, but already have two feature requests for whenever you feel bored :)
- Option to keep a 4/3 display ratio when in fullscreen on a wide display.
- Option 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).
-
(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).
-
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).
-
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.
-
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.
-
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.
-
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. :)
-
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?
-
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.
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.
-
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.
Option 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.
-
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
-
Sorry but i don't speak english very well...
CPC+ is not correctly emulated.
Test with my preview: delirium tremens mainpart preview [cpc+] © 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+:
[youtube]https://www.youtube.com/watch?v=yJcBsQwMzuw[/youtube]
Thanks ;)
I got other suggestion but it's to difficult for me to speak other than french language...
-
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
-
Is that different to 2a18 because I didn't think I really modified the CRTC emulation code?
Yes it does the same thing...
-
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.
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)).
-
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:
-
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!
-
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.
-
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 ;)).
-
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)
-
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).
-
Maxam uses "&" when dealing with Hexidecimal values, don't think it likes the Hash Tag.
maxam supports both # and &.
-
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)
-
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. :)
-
Maybe the Syntax-Highlightning of a Comment-line needs a fix so that it ends at a colon.
-
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
-
Good hint! Just tried it in MAXAM and it works. Nice! :)
-
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).
-
like better expression evaluation for example... ( ld hl,96*(16+8) should assemble without problem).
provided it follows the laws of BOMDAS!
-
....
- Some support for Get Drive Parameters command (#EC).
Works fine! Got the name "Winape IDE" :)
...
-
Works fine! Got the name "Winape IDE" :)
Good, at least you didn't get "iWanepI ED", stupid big-endian specs.
-
provided it follows the laws of BOMDAS!
Sounds like a Doctor Who villain...
-
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
-
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
-
@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
-
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.
-
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.
-
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.
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.
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.
-
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;
-
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.
-
Been a long time, so I'm guessing that's Delphi.
Yup.. :)
-
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.
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...
-
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.
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.
-
It is probably quite easy to support 32 bit expression evaluation, I'll look into it.
Great - thanks in advance!
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.
-
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/)
-
I'm guessing you chose a screen resolution and specific bitdepth and your graphics card doesn't support it?
Try choosing another.
-
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.
-
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?
-
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
-
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)
-
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.
-
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)
-
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).
-
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). :)
-
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=)
-
When does it happen?
I tested current wip of arnold and it works fine.
-
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.
-
Hey! A new WinApe version! :) :) :)
Great news. Many thanks for it.
-
Any plans to support 'dump' option? I'd like to save somehow the list of variables and their addresses to use with my profiler.
-
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...
-
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. :)
-
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
-
can anyone comfurm joystick working in winape on windows 10 64 bit thank you
-
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.
-
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.
-
Better stay with Win7. :)
-
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
-
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 ?
-
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?.
-
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.
-
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)?
-
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)
-
Go back to Win7 :) Seriously! :)
-
Turning off sound doesn't seem to make a difference.
It's somewhat unlikely to be a timing issue with your sound card then.
Pausing (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.
and 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.
Also 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?
-
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
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.
-
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
-
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).
-
Hi Rhino,
There's an option to turn that off in the Assembler Options menu (Assemble -> Options).
Great!
Thanks
-
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. :)
-
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?
-
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.
-
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 - $
-
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,$
-
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.
-
I have a graphicall corruption in emilio sanchez vicario. I tried all cracks and original disk. In arnold emu works o.k
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
-
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?
-
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.
-
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.
-
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.)
-
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.
-
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.
-
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.
-
It happend in original disc or cracked.
That was the first snapshot you posted above. So whichever source you loaded it from.
-
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).
-
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).
-
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.