News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Executioner

WinAPE enhancements

Started by Executioner, 10:09, 22 March 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Executioner

Quote from: roudoudou on 12:50, 01 April 16
Anyone had the problem?

I've never had this problem, and have not been able to replicate it except with more than one instance of WinAPE running. If you open WinAPE once it will lock the DSK images. If you open a second copy of WinAPE it won't be able to open the DSK images and this will cause it to create empty images when it gets closed.

There is an option in WinAPE to prompt before saving changes to disc images. Turn it on.

The lock on the disc images is due to the old code which wrote directly back to the disc image when a sector was written, and to ensure the image isn't changed by something else while you're using WinAPE. The only real way to remove this requirement would be to read the entire disc image into memory when selected or at startup.

TFM

Get WinApe started
Insert an DSK
End WinApe
Start it again
DSK is down at 256 bytes (destructed)



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Executioner

Quote from: TFM on 00:18, 04 April 16
Get WinApe started
Insert an DSK
End WinApe
Start it again
DSK is down at 256 bytes (destructed)

I'd like to know how you do that, because I can't. How long do you wait between closing WinAPE and starting it again?

TFM

Quote from: Executioner on 00:22, 04 April 16
I'd like to know how you do that, because I can't. How long do you wait between closing WinAPE and starting it again?


Sometimes the same day, sometimes an another day. I can't predict when it happens. Of course if happens not always, but too often. My solution is to get DSKs out before closing WinApe. That works at least for me.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Executioner

Quote from: TFM on 00:27, 04 April 16
Sometimes the same day, sometimes an another day.

Actually, under Windows 7, I just had two instances of WinAPE running, both using the same DSK image, but I didn't try and write to either of them, and when I closed them the DSK image remained intact. That said, I'm changing the code so that WinAPE tests for the existence of the file, and will only create a blank image if the file doesn't exist. If there is an error opening the file it should show an error message and make the disc read-only so you can't write to it at all.

AMSDOS

Quote from: TFM on 00:18, 04 April 16
Get WinApe started
Insert an DSK
End WinApe
Start it again
DSK is down at 256 bytes (destructed)


Mostly guessing here, but that sounds like the old DSC format which ties Winape in with RWCPC, but with that format there's 2 Files (DSC & HDR I think) and the 2nd file holds the Contents of the Disk which unlike the DSK format starts from 0 bytes upwards.


A couple of times I accidentally created Disk images of programs I typed in and when I saved, the file type box had DSK DSC and something else and made a DSC by mistake for that program just by entering that extension.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

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

CanonMan

Quote from: TFM on 00:18, 04 April 16
Get WinApe started
Insert an DSK
End WinApe
Start it again
DSK is down at 256 bytes (destructed)


That's never happened to me.

andycadley

Given Executioner's description of how WinAPE works, I'd put money on it being something like a virus scanner locking the file for too long on opening.

Executioner

I've changed the code to test for existence of the file, and only create a new image if it doesn't exist. If it fails to open the file for any other reason, it either warns you and opens it in read-only mode, or if that also fails it sets the image to read-only so you can't cause an update to write the file when it's closed.

Executioner

I may actually change the code again yet, and always open the file in read-only mode with no locks, then check the file modification date at the end when I close the image and warn if something else has modified it.

tastefulmrship

#60
Quote from: roudoudou on 12:50, 01 April 16
i lost two .DSK -> they fall down to 256 bytes (as far as i remember) with code and GFX :/
i switched back to Winape 2.0b1 and no problem since
anyway, i'm doing more backups now

The only way I've ever seen WinAPE create a 256 byte .dsk file is when you change the .dsk filename or move it to another folder in Windows without EJECTing or changing the active .dsk file!

eg;
Open WinAPE
Insert (or create) TEST1.dsk to Drive A
Close WinAPE
Rename TEST1.dsk to TEST2.dsk in Windows.
Open WinAPE
Close WinAPE
WinAPE creates test1.dsk of length 256 bytes, TEST2.dsk is not affected.

But this is not a new thing, WinAPE has ALWAYS done this.

Trebmint

How about putting a few video filters in like 2xSal or EPX. Would be nice to see the CPC looking a little different.


Or even a palette changer which could physically alter the CPC palette colours to user settings. For instance the user could set symbos to be 4 colours #fff,#aaa,#555,#000 so you get a cool grayscale. You could even do splits like the plastice strips you used to find on breakout back in the day 

trabitboy

Quote from: Docent on 04:40, 23 March 16
Yes, this is probably it - when WinAPE is minimized, it crashes much less frequently.I don't know what is the required resolution, I use Lenovo W520 laptop with NVidia Quadro 1000M chipset and windows 8.1 Enterprise. I run it in 1920x1080 32bit but the chipset also supports other, lower resolutions, however it may not support the WinAPE fullscreen resolution.
An option to select the resolution for fullscreen would be great.


At the moment, I'm using a winape instance on my pc which I hibernate/wake up all the time,
so I got "reacquainted" with the problem  8) )

If winape is running, it will crash when pc comes back from hibernation ( fully powered off, memory written to disk );
but if it is paused it with F7 , it's ok; coming back from hibernation I can continue emulation without pb.

So I got REALLY used to F7 before putting my pc to sleep, but once in a while I miss  :picard:
Thanks for the great emulator by the way!

roudoudou

i wrote a simple piece of code last week


Winape settings -> 6128 Plus


unlock ASIC
set raster interrupt to 1
halt
64 nop loop 200 times


then i saw unsynchronised effects...


with Winape debug, i used step by step execution then i saw sometimes it jumps to #38!


the raster interrupt is not supposed to disable classic interruptions?

My pronouns are RASM and ACE

TFM

Quote from: Trebmint on 09:04, 13 April 16
Or even a palette changer which could physically alter the CPC palette colours to user settings. For instance the user could set symbos to be 4 colours #fff,#aaa,#555,#000 so you get a cool grayscale. You could even do splits like the plastice strips you used to find on breakout back in the day

Well, then it's definitely no CPC anymore. So why not just use Windows in gray scale? Or why not teach symbos to use the Plus colors, since WinApe is a Plus emulator?

IMHO it's a bad thing to add features to an emulator which don't exist in reality, because we end up having something virtual and nothing will run on real CPCs or Plusses any longer.

Of course everybody can have a different POV about that, just sharing my thoughts.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Trebmint

Quote from: TFM on 19:07, 13 April 16
Well, then it's definitely no CPC anymore. So why not just use Windows in gray scale? Or why not teach symbos to use the Plus colors, since WinApe is a Plus emulator?

IMHO it's a bad thing to add features to an emulator which don't exist in reality, because we end up having something virtual and nothing will run on real CPCs or Plusses any longer.

Of course everybody can have a different POV about that, just sharing my thoughts.  :)
Well most of the well respected emulators for NES, SNES, Megadrive, Master System, 2800/7800, long long list of machines from the 80's have these upscalers. I guess you're argument is true if you're into purely the machine, however if you want to play Roland on the Ropes or Sorcery and want better smoother less blocky graphics there is no way of doing so.
This doesn't change the code, speed or gameplay, just allows those that want to turn it on to have it look slightly better graphics

remax

Quote from: Trebmint on 19:18, 13 April 16
Well most of the well respected emulators for NES, SNES, Megadrive, Master System, 2800/7800, long long list of machines from the 80's have these upscalers. I guess you're argument is true if you're into purely the machine, however if you want to play Roland on the Ropes or Sorcery and want better smoother less blocky graphics there is no way of doing so.
This doesn't change the code, speed or gameplay, just allows those that want to turn it on to have it look slightly better graphics

For me if you want to play with less blocky graphics, play a more recent game... Just my humble opinion.
Brain Radioactivity

andycadley

Quote from: roudoudou on 13:42, 13 April 16
i wrote a simple piece of code last week


Winape settings -> 6128 Plus


unlock ASIC
set raster interrupt to 1
halt
64 nop loop 200 times


then i saw unsynchronised effects...


with Winape debug, i used step by step execution then i saw sometimes it jumps to #38!


the raster interrupt is not supposed to disable classic interruptions?

The PRI disables the standard gate array interrupts, but it doesn't change what the Z80 actually does when an interrupt occurs. If you're still in IM1, then it will still jump to #38 on each Raster Interrupt.

roudoudou

Quote from: andycadley on 20:19, 13 April 16
The PRI disables the standard gate array interrupts, but it doesn't change what the Z80 actually does when an interrupt occurs. If you're still in IM1, then it will still jump to #38 on each Raster Interrupt.


I mean, i have more than one interrupt per VBL with PRI enable!
My pronouns are RASM and ACE

andycadley

Quote from: roudoudou on 20:51, 13 April 16

I mean, i have more than one interrupt per VBL with PRI enable!
Hmm, shouldn't happen and I've never seen WinAPE get that wrong, I think it'd be way too obvious if it did. Bug in your code, perhaps?

roudoudou

Quote from: andycadley on 21:42, 13 April 16
Hmm, shouldn't happen and I've never seen WinAPE get that wrong, I think it'd be way too obvious if it did. Bug in your code, perhaps?


i solved the problem with a DI after the HALT and a EI when VBL occurs


i will simplify the code to isolate the problem (if it is not a bug in my code) and post here
My pronouns are RASM and ACE

Trebmint

Quote from: remax on 20:13, 13 April 16
For me if you want to play with less blocky graphics, play a more recent game... Just my humble opinion.
I dont actually understand this really? If it doesnt change the software, just improves the imagery via the emulator then people who dont want to use it dont and people who do can!
Are you really saying I wont use it, so I dont think anyone should be allowed too? Most other system emulators employ it so I cant see why the CPC is so pure as not to allow it

remax

#72
Quote from: Trebmint on 21:54, 13 April 16
I dont actually understand this really? If it doesnt change the software, just improves the imagery via the emulator then people who dont want to use it dont and people who do can!
Are you really saying I wont use it, so I dont think anyone should be allowed too? Most other system emulators employ it so I cant see why the CPC is so pure as not to allow it


You like to extrapolate don't you?  :D


All i said is i find strange to want to play again an old game, and at the same time wanting to butcher his look. For me, if you want smooth graphics, play a recent game.



But every one is entitled to his own opinion and rights to play how he wants.
Brain Radioactivity

Trebmint

Quote from: remax on 21:59, 13 April 16

You like to extrapolate don't you?  :D



Extrapolate not really. Interpolate hell yeah  ;D

roudoudou

Here is a simple piece of code



Quote
call WaitVBL
call AsicON

MainLoop:
ld a,1
ld (#6800),a ; PRI line 1
ld b,199
ld de,#FF
ld hl,#6400
halt
loop64:
ld (hl),d ; split-raster
ld (hl),e
ld (hl),d
ld (hl),e
defs 64-4-8,0
djnz loop64
jp MainLoop


I have another INT 50 nops after the first INT. Cause of the extra-interrupt, split-rasters are delayed



[/size]
My pronouns are RASM and ACE

Powered by SMFPacks Menu Editor Mod