CPCWiki forum

General Category => Emulators => Topic started by: Devilmarkus on 11:05, 14 August 11

Title: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:05, 14 August 11
JavaCPC Desktop is a brand new Amstrad CPC emulator.
It is based on JEMU (http://sourceforge.net/projects/jemu (http://sourceforge.net/projects/jemu))
and is an extremely improved release from JavaCPC 6.7.

JavaCPC Desktop is designed to be used on Windows systems only,
but maybe can run also on other systems, but a few features will be missing then.

JavaCPC is no freeware any longer!
It's new license is "Donationware".

What does this mean?
--------------------


- JavaCPC and all of it's contents are free, and are allowed to be shared.
- It's available sources are not complete but you are allowed to use them.
- If you register JavaCPC, please also think about a little donation.
  (JavaCPC consumes much time in it's development)
- The only legal downloadplace is: http://sourceforge.net/projects/javacpc/ (http://sourceforge.net/projects/javacpc/)
  or also http://cpc-live.com (http://cpc-live.com)
- Other people who wants to offer JavaCPC on their own webpages, please contact me


What is new, what can I expect as a JavaCPC 6.7 user?
-----------------------------------------------------


JavaCPC Desktop is a completely rewritten emulator, which offers you a big spectrum of apps and tools.
It comes with it's own desktop!

The tools and apps:
-------------------

- Integrated Z80 Assembler: Feel free to create your own programs in Z80 Assembler. Compile them directly into the CPC's ram.
- Improved Debugger
- Virtual Keyboard: You cannot find your key you need? Use the virtual Keyboard then.
- Alarm Clock: A simple alarm clock, which reminds you when you have something else to do.
- YM-Control: Record and playback your own YM files.
- Manage DSK (Windows only!): Copy files from your PC on a DSK or vice versa.
- Audio Capture: Record your favourite CPC sound as WAV file.
- TapeDrive: A fully controllable virtual tape drive. Supports CSW, CDT, WAV and MP3
- JavaCPC Paint: Paint your own screens in normal mode or also as Overscan pictures. Convert existing images to CPC format.
  (Supported import-Formats: PCX, TGA, BMP, PNG, GIF, JPG, SNA)
- Mandelbrot: A simple app to paint Mandelbrot fractals directly on the CPC screen.
- Tiled Mapeditor: You can use it to create game maps etc...
- Poke Finder: A simple tool to find PEEKS and POKES to cheat in games.
- Calculator: A scientific calculator which understands string input with brackets etc...
- WebBrowser: A webbrowser
- GameBrowser: Don't waste your time by downloading hundreds of CPC games without checking them! Just load them directly into the emulator and play them.
- Virtual Floppy: A little thingie to see what your virtual disc drive does.
- SubPopRadio: Listen to the best CPC-tunes available in WWW!
- JavaCPC Chat: Chat with other JavaCPC users all over the world. (Experimental)
- Favourites: Add and load your favourite DSK, CDT or SNA files with a few mouseclicks only!
- DSK2CDT: Simple filetransfer to copy files from an existing DSK file on a new CDT file (Windows only!)
- And much more!!!

Further questions?
Feel free to contact me

Download:
Here...... (http://cpc-live.com/javacpc/list.php?dir=Release)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 12:06, 14 August 11
Quote from: Devilmarkus on 11:05, 14 August 11
JavaCPC Desktop is a completely rewritten emulator, which offers you a big spectrum

:o
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:29, 14 August 11
Quote... of apps and tools.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Kékidi on 17:57, 14 August 11
Quote from: Devilmarkus on 12:29, 14 August 11
JavaCPC Desktop is a completely rewritten emulator, which offers you a big spectrum ... of apps and tools.
En français, ça donne :
JavaCPC Desktop est un émulateur complètement réécrit, qui vous offre un large spectre... d'applications et d'outils.
Ca n'a rien avoir avec l'ordinateur Spectrum !
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 18:17, 14 August 11
Quote from: Kékidi on 17:57, 14 August 11
En français, ça donne :
JavaCPC Desktop est un émulateur complètement réécrit, qui vous offre un large spectre... d'applications et d'outils.
Ca n'a rien avoir avec l'ordinateur Spectrum !

Yeah, i know, that was just a little joke  :D

The beginning of the sentence was so that it was like the rewritting of the emulator was so important that it is now a Spectrum Emulator  :laugh:
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:26, 14 August 11
Sure, I also could emulate the Spectrum (JavaCPC is based on JEMU, which emulates several 8 bit systems)...

But I don't want to ;)
Executioner is doing a great work with JEMU and I don't want to steal his "complete emulation core" to emulate the other models, too...
(I already have stolen his CPC emulation :D )

Good, that he cannot read, what I'm writing... *hiding now...*
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 09:07, 15 August 11
You could add it as an easter egg somehow ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:58, 16 August 11
Interesting are the stats for my new release:
Mostly downloaded by French users... (30%)
http://sourceforge.net/projects/javacpc/files/JavaCPC%20Desktop/JavaCPC_Desktop_1.0.release.zip/stats/map (http://sourceforge.net/projects/javacpc/files/JavaCPC%20Desktop/JavaCPC_Desktop_1.0.release.zip/stats/map)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: mahlemiut on 13:54, 16 August 11
I guess it must have been sleeping when I downloaded it.  :laugh:
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 14:35, 16 August 11
Well this is pretty cool.  Gonna have a play about a bit more later but at moment I'm having a quick go at the paint program.  Nice work.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:57, 16 August 11
Thankyou :)

Aunt Edit:
Paint can fail when:
- You don't use the standard ROMs
- You use expansion ROMs
- You first opened Overscan Paint and then you open Normal Paint... (Dunno why here is a glitch)
Best: Setup CPC 6128 default ROMs and restart JavaCPC when you want to change the format...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 15:11, 16 August 11
I donated 3 euros (I know it ain't much but I'm unemployed).   What's weird is that while Paypal showed the correct 'postal address' after I donated, the Paypal receipt that got emailed to me shows an address I haven't lived at in TEN frickin' yeeeears.  I can't find this in my Paypal account settings at all and come to think of it I didn't even have Paypal back then.  I was tediously writing & posting cheques for another couple of years.  Trying to search through all of Paypal at moment looking for an explanation. 
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:17, 16 August 11
:) Thank you!
(I'm unemployed, too, and I know how hard it is...)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:42, 16 August 11
Short info:
New key-combi is available, when a DSK is in drive 0:
Instead of CTRL + small enter key:
ALT + small enter key (Who don't have a small enter key, use "End" key, both work here) = Boot DSK in DF0 ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:25, 17 August 11
JavaCPC 1.0c is an additional update.
You can install it from JavaCPC's menu: "Help -> Check for updates".
What's new?
- Java Joystick library added. Should work with your gamepad now.
When done, it asks you for the 2 fire-buttons.
Press them on your joypad in order.
To reset this settings, use menu: "Settings -> Reset Joystickbuttons"

It's important that you have the joystick translation enabled and that you don't use the "Alternative Joystick control".... (This is set properly by default!)

Edit: When the update fails (JavaCPC cannot copy the required libraries), make sure you run JavaCPC.exe with admin privilegues...
After all libraries have been copied, you can restart it later without admin rights!
(Win-7 has strange ways sometimes to give the proper fileaccess-rights)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 14:49, 17 August 11
Working absolutely fine for me on Windows 7 using a PS3 sixaxis joypad.  Have been playing Switchblade and Stryker & The Crypts of Trogan for the past 20 mins testing it out.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 19:05, 17 August 11
Hello,
the update installs correctly but when i launch JavaCPC it stops abnormaly (just after the "hammer" logo).
I'm under Win7.
If i rename JavaCPC.jar.-656364981.bak to JavaCPC.jar it runs again (but with the old 1.0 version of course)

Any ideas ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:41, 17 August 11
Yes we encountered that problem, too...
It happened, when no suitable controller is connected....
I updated JavaCPC so just check for updates again ;)

If JavaCPC does not startup, try this:
- Double click "Update.jar"
- If this does not help, put a .bat file in same folder. Content:
   java -jar Update.jar
- If THIS still does not help, send me a PM for a direct download link ;)

(Sometimes a System.exit(0); is not the best solution)  :-\
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 20:29, 17 August 11
Quote from: Devilmarkus on 19:41, 17 August 11
Yes we encountered that problem, too...
It happened, when no suitable controller is connected....
I updated JavaCPC so just check for updates again ;)

If JavaCPC does not startup, try this:
- Double click "Update.jar"
- If this does not help, put a .bat file in same folder. Content:
   java -jar Update.jar
- If THIS still does not help, send me a PM for a direct download link ;)

(Sometimes a System.exit(0); is not the best solution)  :-\

Well done Devilmarkus  ;)
It works fine with the new 1.0c "update.jar" file.
Thx a lot.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:38, 17 August 11
Here's a short video I just captured... Dunno if you are able to see that I used a gamepad here...
I am also not the best Zynaps-player ;)
http://cpc-live.com/gamepadtest/ (http://cpc-live.com/gamepadtest/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 21:34, 17 August 11
Heh, I still keep playing about with the paint program and importing my CPC-style graphics such as my Cosmic Prison Commando stuff into it just to see it working :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:40, 17 August 11
Scre(a)mshots please ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 21:51, 17 August 11
Ok if you want.  Made it a link rather than post image directly cos it's large.
http://carnivac.co.uk/temp/javacpc01.png (http://carnivac.co.uk/temp/javacpc01.png)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:07, 18 August 11
Now, this looks amazing ;)
I really want this game for CPC ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:36, 18 August 11
Quote from: Gryzor on 09:07, 15 August 11
You could add it as an easter egg somehow ;)

I could add a C64 emulator as rotten egg ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 00:48, 23 August 11
New update 1.0h:
- Z80 supports MEMPTR register now
- Fix in Java-version validation should make it easier to run it also on not supported Java versions....
- Many fixes in Paint (See more here: http://www.cpcwiki.eu/forum/index.php?topic=2600.0 (http://www.cpcwiki.eu/forum/index.php?topic=2600.0) )

Just let JavaCPC check for updates ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 01:01, 23 August 11
Quote from: Devilmarkus on 00:48, 23 August 11
New update 1.0h:
- Z80 supports MEMPTR register now
- Fix in Java-version validation should make it easier to run it also on not supported Java versions....
- Many fixes in Paint (See more here: http://www.cpcwiki.eu/forum/index.php?topic=2600.0 (http://www.cpcwiki.eu/forum/index.php?topic=2600.0) )

Just let JavaCPC check for updates ;)

Yeah, tried update and activated autoupdate, seemingly it doesn't do anything.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:04, 23 August 11
Perhaps you blocked Java/JavaCPC to access the internet?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:55, 23 August 11
I updated the download package on my website:
http://cpc-live.com/javacpc/list.php?dir=Release (http://cpc-live.com/javacpc/list.php?dir=Release)
The emu is v.1.0h now.
Also: I don't know how your PC config is. To make sure your Update works, run JavaCPC.exe with admin rights.
Or create a update.bat with the following content:
java -jar update.jar

then run this with admin rights.
It depends on where you installed JavaCPC.
I have it inside a read-/writeable folder where I can access it also without admin rights.

Running it always with admin rights is also no good solution on Windows 7! Drag & Drop will not work then...

Important: If you used a BETA (before official release of 1.0) the update will not work!
You need at least the first official release 1.0 to run the update...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:17, 23 August 11
Important info for users, who want to use the Synthetica Styles:
You can copy the Synthetica libraries into the LIB\ Folder.
JavaCPC will find them and add the styles to desktop settings.
You then need to enter your name and the license key. (You can also abort that but then the style will remind you always, that you use a non-licensed version of it)

The following files need to be copied to LIB\ :
(http://cpc-live.com/synthetica.png)

You can get Synthetica here: http://www.jyloo.com/synthetica/ (http://www.jyloo.com/synthetica/)
A non-commercial private license is free.
(A commercial or non-private license costs money and because I did not get enough donations for that, I removed the Synthetica styles)

When installed, you can enter your license code like this:
(http://cpc-live.com/synt2.png)

(http://cpc-live.com/synt3.png)

The key is installed proper when you see this message:
(http://cpc-live.com/synt1.png)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 20:49, 23 August 11
Quote from: Devilmarkus on 11:04, 23 August 11
Perhaps you blocked Java/JavaCPC to access the internet?

Nope, even I know how to deal with PCs a bit. But when I find the problem, I'll tell you.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:42, 24 August 11
BTW.: @ the French and Spanish JavaCPC users:
Does the "Localize System ROMs" feature work ok for you?
(You should get your localized System ROMs for 464 and 6128 OS ROMs and also your localized keyboard layout.)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 12:46, 24 August 11
Quote from: Devilmarkus on 12:42, 24 August 11
BTW.: @ the French and Spanish JavaCPC users:
Does the "Localize System ROMs" feature work ok for you?
(You should get your localized System ROMs for 464 and 6128 OS ROMs and also your localized keyboard layout.)

It works like a charm in 1.0h
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:09, 25 August 11
Major release to version 1.1!
Many bugs (which had not been reported during the beta-phase) were the reason why I decided to release version 1.1 today.

What has changed?
- Z80 emulation core improved. MEMPTR register fully emulated now,
  some small bugs fixed.
  LDI, LDD fixed.
- JavaCPC Paint: Many bugfixes and improvements.
- Debugger: MEMPTR register info and IM status added.
- YM Player overhauled
- JavaCPC Expansion ROM updated
- Joystick libraries and joypad emulation added.
- Replaced annoying dialog when drag & drop is used to load a DSK
- Display improvement for SuperPAL filter (faster now)
- Logic bugfixes in emulation core
- several smaller bugfixes
- PPI bugfix (Storing of SNA fixed and also PPI info in debugger is correct now) Thanks to TFM for finding this bug!

Download:
http://cpc-live.com/javacpc/list.php?dir=Release (http://cpc-live.com/javacpc/list.php?dir=Release)
http://sourceforge.net/projects/javacpc (http://sourceforge.net/projects/javacpc)

Or use the update function... But: users, who want to use JavaCPC expansion ROM should update this ROM, too:
http://cpc-live.com/javacpc/list.php?dir=Expansion%20ROM (http://cpc-live.com/javacpc/list.php?dir=Expansion%20ROM)

(http://cpc-live.com/debugger1.1.png)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 12:18, 26 August 11
Many thanks for that new release, your product is very pleasant tu use (after the hardware one for sure)

I just have a request : I'd like to know if there's any script available for Gamebase cause i'd like to use JavaCPC with Amstradmania database ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:22, 26 August 11
Don't know what you mean actually...
But you can launch JavaCPC.exe with parameters.
Example:
JavaCPC.exe -help
Result:
(http://cpc-live.com/javacpc_commands.png)

But perhaps, with your help, I could fiddle out a few more scripts...

Example to start SymbOS from command line:
JavaCPC.exe -desktop yes -wallpaper "fantasy.jpg" -stretch no -cpctype SYMBOS -drivea "SymbOS.DSK" -driveb "Sym-Apps.DSK" -autotype "|SYM" -amsdos yes

Important:
When you want to RUN"DISC.BAS" you need to replace the "" by "
Example:
-autotyte "RUN"DISC.BAS""
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:55, 26 August 11
Compared the Z80TESTS suite between WinApe and JavaCPC...
I have no idea why, but in WinApe all tests fail.
(I took the video with increased emulation speeds but also without speeding the emus up the results are the same!)
JavaCPC:
http://cpc-live.com/z80tests (http://cpc-live.com/z80tests)
WinApe:
http://cpc-live.com/winapez80tests (http://cpc-live.com/winapez80tests)

We are not sure if the test for bit n,(HL) has a bug in Z80 tests or not... It fails on every emulator.
Sadly i cannot transfer the DSK to 3" :(
But perhaps someone here could do that and post us the report?

I attach the Z80 test suite once more:
RUN"Z80TESTS"

Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 13:46, 26 August 11
Quote from: Devilmarkus on 12:22, 26 August 11
Don't know what you mean actually...
But you can launch JavaCPC.exe with parameters.
Example:
JavaCPC.exe -help
Result:
(http://cpc-live.com/javacpc_commands.png)

But perhaps, with your help, I could fiddle out a few more scripts...

Example to start SymbOS from command line:
JavaCPC.exe -desktop yes -wallpaper "fantasy.jpg" -stretch no -cpctype SYMBOS -drivea "SymbOS.DSK" -driveb "Sym-Apps.DSK" -autotype "|SYM" -amsdos yes

Important:
When you want to RUN"DISC.BAS" you need to replace the "" by "
Example:
-autotyte "RUN"DISC.BAS""

Amstrad Mania is a Gamebase database that permits to launch many CPC games with different emulators (it permits to play music, viewing screenshot or manuals)

(http://img849.imageshack.us/img849/3615/gamebase.jpg)


In fact it's a GEMU Script for JavaCPC that i'm looking for.

This is an example for CPCE :
"
;---------------------
;Display Loading Notes
;---------------------
If Key_Message CONTAINS(*)
    Show_Message(%message_value%)
End If
;------------------------------------
;Autorun ON/OFF
;------------------------------------
If Key_AUTORUN CONTAINS(NO)
    Set_INI_Value(1||CPCE||AUTORUN||0)
Else
    Set_INI_Value(1||CPCE||AUTORUN||1)
End If

;--------------------------
;TAPES
;--------------------------
If GameType CONTAINS(cdt)
    Set_INI_Value(1||CPCE||ROM_TYPE||0)
Else
    Set_INI_Value(1||CPCE||ROM_TYPE||2)
End If

;------------------------------------------------------------------------
;Insert Multiple Disks into Drive A and B (if not Mult-Disk Eject Drive B)
;------------------------------------------------------------------------
If NumGameFiles > 1
    Show_Message(You will need to swap / flip disks manually)
End If
;--------------------
;Insert Gamefile in Emulator
Add_CLP(%gamepathfile%)

;------------------------------------
;Send keyboard strokes command "|CPM"
;------------------------------------
If Key_loadtype CONTAINS(cpm)
    Run_Emulator_Send_Keys([4]{C123}cpm{Enter}||50)

ElseIf Key_loadtype CONTAINS(*)
    Run_Emulator_Send_Keys([4]%loadtype_value%{Enter}||50)
Else
    Run_Emulator()
End If"


My basic wish is to launch : JavaCPC.exe -df0 "disk.dsk" -bootdrive df0  through that script
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:48, 26 August 11
Oh... Ok...
You should contact Loic Daneels.
He's coding these scripts...

http://www.cpc-power.com/gamebasecpc/index.php?page=accueil (http://www.cpc-power.com/gamebasecpc/index.php?page=accueil)

I mean to remember he once coded that for JavaCPC, too, but am not sure...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 14:05, 26 August 11
Thanks a lot  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 14:20, 26 August 11
Quote from: Devilmarkus on 13:48, 26 August 11
Oh... Ok...
You should contact Loic Daneels.
He's coding these scripts...

http://www.cpc-power.com/gamebasecpc/index.php?page=accueil (http://www.cpc-power.com/gamebasecpc/index.php?page=accueil)

I mean to remember he once coded that for JavaCPC, too, but am not sure...

Is "AmstradMania" really the same thing as Loic Daneels' "GamebaseCPC"?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:22, 26 August 11
Quote from: remax on 14:20, 26 August 11
Is "AmstradMania" really the same thing as Loic Daneels' "GamebaseCPC"?

Perhaps not... but AFAIK Loic uses the same program. And when someone can help you, He is ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 14:27, 26 August 11
Quote from: Devilmarkus on 14:22, 26 August 11
Perhaps not... but AFAIK Loic uses the same program. And when someone can help you, He is ;)

You're right about the fact that it use the same program and that he can help but i wonder if he knows about this gamebase.

I hope it is just two parrallel project and that there is no "rip off".

At least, one thing i can say is that i'm nearly sure that GBCPC is far more up-to-date, so i suggest subone to use it instead of Amstrad Mania
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 14:46, 26 August 11
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 14:51, 26 August 11
Quote from: remax on 14:27, 26 August 11
At least, one thing i can say is that i'm nearly sure that GBCPC is far more up-to-date, so i suggest subone to use it instead of Amstrad Mania

You're right : GBCPC is certainly more up-to-date but his size is so huge !! 11 Gb  :o where Amstradmania is less than 2 Gb with 4487 disks and 2087 tapes.

I just launch the download process ... 11 Gb for a 1 Ko script, that'll permit me to test GBCPC btw  ;)
 
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:53, 26 August 11
Quote from: phi2x on 14:46, 26 August 11
For the bit n,(HL) instruction, it's the only one that is exposing the MEMPTR register.

Well I think (not sure) this test will also fail on a real CPC...
So I hope someone can check the DSK on a real CPC, too, run the tests and write a little report here...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 15:15, 26 August 11
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:17, 26 August 11
Quote from: phi2x on 15:15, 26 August 11
Possible, but I doubt it.
The reputation of bit n,(HL) as being the hardest z80 instruction to emulate is not out of thin air IMHO.

You know: DAA is the mid-game boss for z80 emulation noobs ; bit n,(HL) is the endgame boss for the pros :D

Well until we don't have a real report, its all useless ;)
Arnoldemu adapted the Z80 test suite from a ZX Spectrum program.
It's possible that some things were ZX specific and have not been adapted 100% accurate...
(The first Z80 test suite also crashed on CPC so he removed a few tests)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 15:38, 26 August 11
I just read you added "Joypad Emulation" in the 1.1 version.
Does it mean we can map joystick keys on the keyboard ?
How ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:40, 26 August 11
Well you can connect your joypad to your PC.
Then JavaCPC should show you that it has found a joystick and asks for firebuttons.

http://cpc-live.com/gamepadtest/ (http://cpc-live.com/gamepadtest/)

If you use a non-compatbile joystick, its not listed I think...

but with my 08/15 joypad it works fine...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 15:40, 26 August 11
The NEC Z80 (Spectrum) is not the same as the Zilog Z80 (CPC), so we need somebody who can test it on real hardware.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 15:49, 26 August 11
Quote from: Devilmarkus on 15:40, 26 August 11
Well you can connect your joypad to your PC.
Then JavaCPC should show you that it has found a joystick and asks for firebuttons.

http://cpc-live.com/gamepadtest/ (http://cpc-live.com/gamepadtest/)

If you use a non-compatbile joystick, its not listed I think...

but with my 08/15 joypad it works fine...

Ok but is it possible to change the default joystick key mapping : numpad keys it seems ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:51, 26 August 11
No thats not possible ;)
(For joystick not)
But you can change this config during the emu is running to Q,A,O,P keys...
Not very helpful then when you want to use a real joypad...
So, make sure, that you dont use the alternative joystick mapping...

But also when you use a laptop without num-keys, the joystick should be mapped to the right CPC signals ;) (numpad keys)
I do this:
When joystick signal for "up" is detected, I press the numpad-8 key. (until joystick up is disabled)
The same for the other directions.

So it doesnt matter if your PC has numberpad keys or not...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 16:49, 26 August 11

Markus, that test also fails on my real CPC 6128!


BIT n, (HL) : C8B0 failed
  -expected 6208


I can also post a screenshot if you dont' believe me:  :)

(http://home.arcor.de/mdoege/cpcfail.jpg)
Quote from: Devilmarkus on 12:55, 26 August 11
Compared the Z80TESTS suite between WinApe and JavaCPC...
I have no idea why, but in WinApe all tests fail.
(I took the video with increased emulation speeds but also without speeding the emus up the results are the same!)
JavaCPC:
http://cpc-live.com/z80tests (http://cpc-live.com/z80tests)
WinApe:
http://cpc-live.com/winapez80tests (http://cpc-live.com/winapez80tests)

We are not sure if the test for bit n,(HL) has a bug in Z80 tests or not... It fails on every emulator.
Sadly i cannot transfer the DSK to 3" :(
But perhaps someone here could do that and post us the report?

I attach the Z80 test suite once more:
RUN"Z80TESTS"
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:51, 26 August 11
Quote from: Morn on 16:49, 26 August 11
Markus, that test also fails on my real CPC 6128!


BIT n, (HL) : C8B0 failed
  -expected 6208


I can also post a screenshot if you dont' believe me.  :)

So it's not my emulation... cool!
The other tests pass or do they only pass in JavaCPC? :D

Edit: @arnoldemu: yould you change the bit n,(HL) that it should expect C8B0?
I think then anything is fine...
(http://cpc-live.com/z80flagtests2.png)


- How to listen to MP3 with JavaCPC:
(Fun video, don't take it too serious)
http://cpc-live.com/mp3/ (http://cpc-live.com/mp3/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:06, 26 August 11
Quote from: Devilmarkus on 16:51, 26 August 11
So it's not my emulation... cool!
The other tests pass or do they only pass in JavaCPC? :D



Well, the MEMPTR test led to a garbled screen eventually and locked up the machine. Don't know why that is. But the first test seemed fine.



Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:08, 26 August 11
Quote from: Morn on 17:06, 26 August 11

Well, the MEMPTR test led to a garbled screen eventually and locked up the machine. Don't know why that is. But the first test seemed fine.
Seems to be a real hardware difference to an emulated CPC... Funny...
Does your CPC have a Zilog or NEC Z80?

Spoiler: ShowHide
(http://i225.photobucket.com/albums/dd289/dailycostume/archive/petergriffinlikeness.jpg)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:16, 26 August 11
Is there a way to find out CPU type without opening the case?


It's a late-model Schneider I think, if that helps. I believe when the Amstrad-Schneider deal fell through, the remaining Schneider hardware was sold at rock-bottom prices at German retailer Quelle, and that's where my dad got it for me.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:17, 26 August 11
Quote from: Morn on 17:16, 26 August 11
Is there a way to find out CPU type without opening the case?

No ;) (Perhaps with bit n,(HL) :D )
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 17:20, 26 August 11
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:26, 26 August 11
So I guess this means we have Zilogs, not NECs in our CPCs...

Title: Re: JavaCPC Desktop 1.0 official release
Post by: subone on 17:31, 26 August 11
Quote from: Devilmarkus on 16:51, 26 August 11

- How to listen to MP3 with JavaCPC:
(Fun video, don't take it too serious)
http://cpc-live.com/mp3/ (http://cpc-live.com/mp3/)

Holy shit ... that's so fun  ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 17:36, 26 August 11
Quote from: Devilmarkus on 15:17, 26 August 11
Well until we don't have a real report, its all useless ;)
Arnoldemu adapted the Z80 test suite from a ZX Spectrum program.
It's possible that some things were ZX specific and have not been adapted 100% accurate...
(The first Z80 test suite also crashed on CPC so he removed a few tests)
A few of the tests, BIT n,(HL) included need the test code to be in the correct position. ;)
It is not so gives a bad result, because I removed some tests.
The crash comes because the OUT tests are probably not good for CPC and need modifying.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:38, 26 August 11
Quote from: Devilmarkus on 12:55, 26 August 11
Compared the Z80TESTS suite between WinApe and JavaCPC...
I have no idea why, but in WinApe all tests fail.
(I took the video with increased emulation speeds but also without speeding the emus up the results are the same!)
JavaCPC:
http://cpc-live.com/z80tests (http://cpc-live.com/z80tests)
WinApe:
http://cpc-live.com/winapez80tests (http://cpc-live.com/winapez80tests)


LOL, WinApe doesn't seem to pass a single one of all those tests!

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:41, 26 August 11
Quote from: arnoldemu on 17:36, 26 August 11
A few of the tests, BIT n,(HL) included need the test code to be in the correct position. ;)



Well, I think my conversion from DSK to CDT did correctly convert the AMSDOS header to a tape header, so memory location should have been identical.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: MaV on 17:42, 26 August 11
Quote from: Morn on 17:38, 26 August 11

LOL, WinApe doesn't seem to pass a single one of all those tests!

Yes, but my understanding is, it's a couple of bits in the Flag-register that are not emulated 100% correctly.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:54, 26 August 11
Quote from: Morn on 17:41, 26 August 11

Well, I think my conversion from DSK to CDT did correctly convert the AMSDOS header to a tape header, so memory location should have been identical.


...and just in case it isn't, please tell use the correct loading address so we can specify it explicitly!

Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 18:10, 26 August 11
I don't remember, how do we check that our registration is taken into account?

EDIT : OK, i saw it in the console :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:18, 26 August 11
Quote from: remax on 18:10, 26 August 11
I don't remember, how do we check that our registration is taken into account?

EDIT : OK, i saw it in the console :)

To safe your registration settings from being deleted (By uninstalling or deleting your JavaCPC settings dir):
Look for JavaCPC.ini.
It's in C:\Users\username\JavaCPC\...
Or for Windows XP it's in C:\Documents and settings\username\JavaCPC\...

There check the JavaCPC.ini and copy these entries:

usercode=Dxxx-Cxxx-4xxx-Cxxx
usermail=xxxxxx@xxxxxx.com
username=Markus Hohmann

Simply keep these infos in a safe place.
When lost you just paste them again into JavaCPC.ini.

Edit:
You can always check if JavaCPC is registered by choosing in menu:
Help -> Register JavaCPC
When the info is grey (not editable) it's registered.
(Reg. works only when Desktop is choosen!)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:44, 26 August 11
Great to see how JavaCPC evolves, guess it's the most acurate CPC-Emu I've ever been using. And I really appreciate the enhanced debugging features. JC is the only emu the can be used to check the 8255 PIO. Thank's a lot Markus!!!

It's really worth to get some donations :-)))
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:56, 26 August 11
Quote from: TFM/FS on 18:44, 26 August 11
Great to see how JavaCPC evolves, guess it's the most acurate CPC-Emu I've ever been using.

*cough* :D The FDC emulation is very poor :( The CRTC and GA emulation could be better...
Indeed: The Z80 seems very accurate now.

Quote from: TFM/FS on 18:44, 26 August 11And I really appreciate the enhanced debugging features. JC is the only emu the can be used to check the 8255 PIO. Thank's a lot Markus!!!

It's really worth to get some donations :-)))

:)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 18:58, 26 August 11

Thanks for info about registration.

What is "Low Performance" switch?


Did you noticed that you have two "Observe performance" switch? One in Settings and the other in Options>System and the two seems to be independants.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:12, 26 August 11
Well "Low performance" disables a few display features.
Humm I have a double option :D
(The menu needs a huge cleanup... Perhaps I'll cleanup it in 2056 or so) ;)

The "Observe performance" looks how many frames are skipped during a while and resyncs the CPC if it means it's necessary.
After too many resyncs, it turns to Low Performance.
Dont know if its any useful ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 19:46, 26 August 11
Quote from: Devilmarkus on 19:12, 26 August 11
The "Observe performance" looks how many frames are skipped during a while and resyncs the CPC if it means it's necessary.
After too many resyncs, it turns to Low Performance.
Dont know if its any useful ;)


Ok so when "Low Performance" is checked, "Observe performance" isn't useful.


For the double option, i just hope it doesn't launch the process two times if you have both checked it.


Another thing : When you play PacMan, it seems that when you quit it, it doesn't terminate the application (you can hear when the ghost kill you even after using the cross in the upper right). I think we miss a "Quit" option in each app to be sure it doesn't stay in memory.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:49, 26 August 11
Right... No app. quits.
Thats not very simple to realize because I don't want to use too much memory...
The pacman is a few kb only...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 20:10, 26 August 11
Quote from: Devilmarkus on 19:49, 26 August 11
Right... No app. quits.
Thats not very simple to realize because I don't want to use too much memory...
The pacman is a few kb only...


Ok, so when we are rough on frame, it is better to restart!


Not really a big thing, but good to know!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Executioner on 03:05, 05 September 11
Quote from: MaV on 17:42, 26 August 11
Yes, but my understanding is, it's a couple of bits in the Flag-register that are not emulated 100% correctly.

WinAPE core Z80 emulation code is written in x86 assembler and uses the flags of the x86 (SAHF and LAHF instructions). The extra bits (including the so-called MEMPTR) don't operate the same on the x86 and so WinAPE's current (original) flag handling code doesn't emulate them, and hasn't been updated to do so (there would be a slight performance hit). JavaCPC and JEMU Z80 cores have hand-coded flag emulation, including the MEMPTR emulation which I assume Markus has added from my latest JEMU Z80 core. The latest incomplete version should be close to 100% accurate when finished.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:05, 05 September 11
Yes the MEMPTR I adapted from the actual sources in JEMU.
Had to change a few things but it works fine (I hope) :D

Will try to run ZEXALL, too, today... (Did not run it yet because it's very slooooooooooooooooow)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: MaV on 10:09, 05 September 11
Quote from: Executioner on 03:05, 05 September 11
WinAPE core Z80 emulation code is written in x86 assembler and uses the flags of the x86 (SAHF and LAHF instructions). The extra bits (including the so-called MEMPTR) don't operate the same on the x86 and so WinAPE's current (original) flag handling code doesn't emulate them, and hasn't been updated to do so (there would be a slight performance hit).

Interesting fact. Would the performance hit even be noticeable?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Executioner on 02:31, 07 September 11
Quote from: MaV on 10:09, 05 September 11
Interesting fact. Would the performance hit even be noticeable?

Probably not on modern processors. The rendering/CRTC/sprite/audio code accounts for a much higher percentage of processing time than the Z80 emulation now, and on most modern systems the CPU usage for WinAPE is very low (I get a max of 7% on one core on my 1.73GHz i7). I'll fix up all the flags as part of the next release (not that it causes problems with any known software except z80 tests).
Title: Re: JavaCPC Desktop 1.0 official release
Post by: MaV on 23:01, 07 September 11
Quote from: Executioner on 02:31, 07 September 11
I'll fix up all the flags as part of the next release (not that it causes problems with any known software except z80 tests).

Yep, fixing these parts is purely academical, for all I know. Still good to see that the Z80 can be emulated 100%.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 01:46, 08 September 11
Quote from: MaV on 23:01, 07 September 11
... Still good to see that the Z80 can be emulated 100%.
Well, for me - in a way - it's sad  ???
Title: Re: JavaCPC Desktop 1.0 official release
Post by: MaV on 08:45, 08 September 11
Quote from: TFM/FS on 01:46, 08 September 11
Well, for me - in a way - it's sad  ???

Aw! :( Does it help, if I say that I still prefer the real thing? Nothing beats the 40 pin DIP on a green PCB with lots of metal lines going here and there. So it's a bit slow by today's standards, but with the Z80 running at 4MHz you still can afford the instruments to watch the pins change state and see the little bugger come to life. Try that with a GHz processor. :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:58, 08 September 11
Well, one million instructions per second is not slow. Slow are todays PCs, even if their CPUs are supposed to be 100.000 times more quick than the Z80. But if I use some apps on the CPC it's still more quick that the PC. My oldest, but still true example is: Go and write a letter! (And since all PCs are heavily upgraded, we will use a CPC with Protext in ROM and a RAM disc).

Well, at least not a single CPC Emulator is capable to emulate the famous HD20 hard-disc (which wouldn't be hard to do btw.).

IMHO the CPC has a right to exist, as long it can't be emulated (including all expansions) for at least 99.7% - IMHO!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:08, 18 October 11
Update to version 1.2 is available!
- Bugfixes in Z80 Assembler
  (1 bugfix is very important! The bug let JavaCPC slow down much, so this update is really recommended for users who use the assembler!)
- Z80 Assembler now restores the opened files (Until you close them or all tabs)
- Minor bugfixes in CPC emulation
- Improved .TAP loading speed when 464 roms are choosen (Loads faster than from DSK!)
- Wallpapers can be shown tiled now
- Favorites Browser update (Added "Remove unused entries" -> removes all non-findable files from Favourite browser, better GUI)
- Few more improvements

Update can be done starting JavaCPC and let it check for updates. (If not automatic check is enabled)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 22:46, 18 October 11
Quote from: Devilmarkus on 16:08, 18 October 11
  (1 bugfix is very important! The bug let JavaCPC slow down much, so this update is really recommended for users who use the assembler!)

That happens to me always, even without using the assembler. If I start JavaCPC then it has 50 fps, ander 10 seconds it 40 fps, after half a minute it's 20 fps and after one minute its less than 20 fps.

Since the update it's all good!!!! Thanks!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: redbox on 18:57, 19 October 11
Thanks DevilMarkus, good update.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:24, 21 October 11
JavaCPC Desktop 1.3 is available!
New: 3d accelerated, curvatured display.
You can enable/disable the 3d screen in Video-Settings.

Texturesize is 1024x512 pixels.

Optional: Disable Small Texture (Increases the Texturesize to 1024x1024 pixels, but is slower)
You need to restart JavaCPC after changing the texturesize!

If you run out of speed in 3d display, you can also enable "Frameskip" in the video settings. (This is not stored in the settings!)

No fullscreen-mode available when in 3d! But you can stretch the emulator output to the size you wish.

Just run the "Check for updates" option from Help-menu...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:57, 22 October 11
Little Emulator-update to 1.3d:
- The aspect ratio for the 3d display should be right now in almost all cases.
- New Updater! (It now can download all additional files like libraries, dll, etc)
- Online-Installer

Just let JavaCPC check for updates! That's all!
(New Updater starts after first check! So don't wonder, it then downloads necessary files)

Or check the 2nd attachment here! It contains the complete JavaCPC-Online Installer.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:00, 15 November 11
Update 1.4a available.
New:
- Native keytranslation for German Keyboards (Type in what you want and it will appear as it is on your keyboard)
  Example: When you press the "+"-key it will appear the "+" symbol on the CPC screen.
- Bugfix in Autotype routine
- Small CRTC bugfix
- Less coffee used this time

(http://cpc-live.com/native_keytranslation.png)
Here you can see the native keytranslation. I pressed all keys on my keyboard in order. first without shift, then with shift, and some with alt_gr.
Only additional key is the "Ü" key. It still provides @ or | as it's a simplier handling of this key.
The § returns the british pound symbol, as the CPC don't have a § key ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 04:11, 16 November 11
Thanks for the update  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 09:51, 16 November 11
Well, for gaming the native keytranslation is not very useful, but for coders...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:21, 16 November 11
Quote from: Devilmarkus on 09:51, 16 November 11
Well, for gaming the native keytranslation is not very useful, but for coders...

Indeed.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 12:56, 21 November 11
.

(http://www.musicproductionnatural.com/wp-content/uploads/2011/02/inception-yodawg.jpg)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:08, 21 November 11
Why not executing javascript in java?
import java.io.FileReader;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class RunScriptFileDemo {
   public static void main(String[] args) {
     ScriptEngineManager manager = new ScriptEngineManager();
     ScriptEngine engine = manager.getEngineByName("js");
     try {
       FileReader reader = new FileReader("yourFile.js");
       engine.eval(reader);
       reader.close();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
}
/* File: yourFile.js
  *
  function add(a, b) {
     c = a + b;
     return c;
}

result = add (10, 5);
print ('Result = ' + result);
*/
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 13:52, 21 November 11
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:57, 21 November 11
Quote from: phi2x on 13:52, 21 November 11
And why not executing JavaCPC on the Javascript made JVM while executing that JVM on this Javascript engine that is embedded in Java?  8)

Well because I also wouldn't execute CPCBox in a window of JavaCPC's desktop, which is executed by JVM in Javascript, which runs in a popup-display of CPCBox what is embedded in html5 :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 12:07, 22 November 11
My mind just exploded.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 20:22, 22 November 11
You guys know exactly who to use up all ressources, go and get a job at Micro$oft, they will kiss your behinds  :laugh:

Welcome in the wasteland!  :P


(I stay with my original CPC and expansions meanwhile).
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:26, 24 January 12
JavaCPC Desktop is online again!
You can download the latest version here:
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)

Have fun!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Shredder11 on 17:40, 29 January 12
Just tried to login with my reg details from July 2010, and it seems they no longer work!  Damn gotta register again :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:53, 30 January 12
Quote from: Shredder11 on 17:40, 29 January 12
Just tried to login with my reg details from July 2010, and it seems they no longer work!  Damn gotta register again :D

Humm the download for JavaCPC should work for everyone... ;)
But welcome back! :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:53, 30 January 12
Release 1.5 is out!

[attach=2]

I fixed several bugs.
Important bugfixes:
- Palette is restored now when you load a snapshot
- Chat changed to a php chat (same Chat than on java.cpc-live.com)
- 3d Display had no drag & drop listener, added this, too.

Important update:
- Gamebrowser update: It shows the games on java.cpc-live.com (Also the demos are available)

Please let JavaCPC check for updates or visit it's downloadpage here:
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:45, 09 February 12
Little update:
(no full release, but you can use JavaCPC's update function)
I improved the built-in Z80 assembler.

Added 2 new internal commands:
create_dsk "a:mydisk.dsk",data,40 -> creates a blank disk image in drive DF0. formats available: data, system, 40 or 80 tracks
add_loader "myloader.bas"             -> creates a little BASIC loader for the file you want to assemble
Combined with the already existing command:
write direct "a:myfile.bin"                -> writes the assembled program to dsk in given drive

Demonstration:
http://cpc-live.com/create_dsk/ (http://cpc-live.com/create_dsk/)

The DSK-File will be stored in the same path, where your ASM file is located.
(If you coded an ASM file from scratch and did not save it yet, the DSK is located in JavaCPC's root folder.)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:41, 10 May 12
JavaCPC Desktop 1 Update 6a is out.
(As online-update!)

Changed the AY emulation slightly.
(You should be able to hear more now...)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:32, 14 May 12
Update to version 1.6b is available!
New feature: A user-defineable CPC palette.
(Works only with the JavaCPC Expansion ROM which is included)

How it works:
- Make sure, your video settings have "CTM 644 Color" set selected.
- Enable the JavaCPC Expansion ROM (In ROM settings)
- Enter from BASIC:
|INK,<0-31>,<R>,<G>,<B> - sets INK x to given R,G,B values (0-255 each value)
|RESINKS - restores the original CPC palette

Video:
Erstellt von Camtasia Studio 7 (http://cpc-live.com/userinks/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:55, 14 May 12
Is it like the Plus colors?
Does it also work on a real CPC (guess not, ok).
How does it work?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:58, 14 May 12
It's better than on the CPC+.
Because 16 mio. colours are possible.
But it only works emu-internal.
No CPC compatibility here.

It works via an unused port, which is read, when the expansion ROM is active.
And it affects the GateArray's palette directly. (In an emulator, the GA-palette is pre-defined... But here I can change the values...)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: HAL6128 on 19:04, 14 May 12
...maybe Bryce is able to find some kind of magical hardware "switch" to enable those options?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:05, 14 May 12
Another demo:
Soft resets (CALL 0 or CTRL + F9) don't reset the colours.
Hard reset (CTRL + SHIFT + F9) also reset the palette.
Erstellt von Camtasia Studio 7 (http://cpc-live.com/userdef_inks)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:09, 14 May 12
It's impossible to create some hardware which can do the same, as the colour values in the GateArray chip are fixed values.

On the KC-Compact it's possible to change them by a hardware writer... (They are stored in a kind of eprom)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:14, 14 May 12
And the CPCPlus?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:15, 14 May 12
It already has a palette of 4096 colours.
Even these are fixed.

For the CPC+ exist tools like B-ASIC, which provide RSX commands to change the plus palette from BASIC.
(Don't ask me, how... Google for B-ASIC ;) )
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:46, 25 May 12
Little demonstration for JavaCPC's virtual tape drive:
Tape record & playback function in JavaCPC - YouTube (http://youtu.be/fB5C_xaQe6g)
;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:12, 08 June 12
Update 1.7 was alive too short, to post it here.
It has a keyboard fix for the German "Native Keyboard-translation" (Translate PC keys as they are, neat for coders)
I also fixed a bug, which disabled the ROMs when you activated the status-panel.

But Update 1.7b is important! Especially for Windows-PC.
A bug did not copy the internal resources into C:\Users\<name>\JavaCPC so that the internal Apps didnt work.
(It's funny, that noone found this bug by using the affected applications like Samp2CDT or DSK Util or so....)

There is also a fix in finding the path where JavaCPC is located. Important for computers, where the emulator cannot find the internal ROMs.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 12:43, 08 June 12
Quote from: Devilmarkus on 15:46, 25 May 12
Little demonstration for JavaCPC's virtual tape drive:
Tape record & playback function in JavaCPC - YouTube (http://youtu.be/fB5C_xaQe6g)
;)


Hehe.  I didn't even really understand what that video was going to about before I clicked play and as I did click a match of multiplayer Uncharted 3 on my PlayStation 3 was about to begin so I rushed over there and since I have both the PS3's TV and the laptop wired to the same headphones (so I can play PS3 while listening to tunes through the headphones to help block out neighbour noise) I was wondering what the heck all this static and beeping noises were about amongst the Uncharted battle sounds.  I even got killed in it cos I was busy unplugging the headphones and plugging them back in trying to figure out where the noise was coming from.  It was this video.  Which was a big relief cos for a while I thought my PS3 was going weird.   :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 22:53, 08 June 12
I found an easter egg in my folder  ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:42, 08 June 12
So, did you enable it? :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 10:38, 10 June 12
Didn't found how to do it... (even if i'm quite sure of what it does)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:21, 10 June 12
Well un-egg it and start JavaCPC with Desktop....
Perhaps an extra icon appears :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 12:26, 10 June 12
[attach=2]

Hehe... Java800
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:59, 10 June 12
Yeah... ;) You found it :D

In Atari 800 emu use F1 to access the emulator's menu... (Its a 1:1 adaption of the in C written Atari 800 emulator...)
F2-F5 = silver Atari keys...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:09, 10 June 12
What's about the 800XL? I don't know how to handle the 800 (never touched one).
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:31, 10 June 12
Well the emulator loads the XL-Roms by default.
You can configure it with F1 (emulator system menu)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:48, 18 August 12
Because TFM has persuaded me, here's a little update:
1.7d
- Bugfix in internal resource check
- SAMdisk Version 3.4, last updated 14th August 2012 integrated (Used by the ManageDSK DiskUtil)
- Bugfix when defining joystickbuttons (You had been forced to define always 2 buttons, even, when your gamepad/digital joystick only has 1 button) Fixed that. You now can press ESC to skip button 2.
- Bugfix in Z80 emulation (minor)
- Minor performance fixes
- Minor fixes in the integrated Z80 Assembler
- Little improvements in Paint (Added a slider which pre-converts the incoming image to less colours first, ordered dithering added)

How to get it?
- Launch JavaCPC
- Click in the menu: "Help" -> "Check for update"
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:39, 27 October 12
Next JavaCPC Release will be able to read amiga IFF,ILBM and PBM formats, too, and import them into JavaCPC Paint:

(http://cpc-live.com/iff1.png)

(http://cpc-live.com/ilbm1.png)

These images were directly imported. No need to find PNG sources for them... :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 00:16, 07 November 12
Do you think it would be possible to use multi screen configuration ?


I have a CRT and a LCD. I prefer having the screen output to the CRT and the desktop to the LCD, but as far as i know i can't do that on Java CPC...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 00:40, 07 November 12
I don't think so.
No idea how to tell a single Java app. to use several windows on several monitors.
Sorry  :-\
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Bryce on 10:01, 07 November 12
Java doesn't need to know that it's on a different monitor. You just need to launch the screen output in a separate window, the user can drag it wherever he wants then.

Bryce.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:52, 07 November 12
This works with JavaCPC. When you disable the Desktop ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 11:44, 07 November 12
Yeah but you lose all ability to control the screen via the desktop :(
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:49, 07 November 12
True....
But I dont want to exclude the emulator window off the desktop

Perhaps I can add this as extra feature...

Need to check that.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 00:33, 08 November 12
That would be great  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:16, 08 November 12
Time to do a little remax-TFM-update:

- Fixed: Handling for SPARtan bit in upcoming FutureOS
- Added: Undock / Dock feature to the embedded CPC panel on the desktop

How to undock / dock the emulator frame:
Just click the pink icon in the right lower corner of the Desktop-Panel. [attachimg=1]


To dock the display back, just click it again, or close the undocked window.

It's not stored in the settings!

Perhaps later, when remax tested this feature on his PC with 2 monitors, I will store it in the settings, too

How to get the Update?

Simple:
- Open JavaCPC
- Use the menu: "Help" -> "Check for Update" and follow the dialogs.
[attachimg=2]

Edit: Oh, I forgot to say, that you now can also import Amiga ILBM / IFF / PBM pictures to paint.
No idea, if is useful, but I implemented that :P

Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 11:48, 09 November 12
Works great :

(http://img685.imageshack.us/img685/8559/sanstitre1be.png) (http://imageshack.us/photo/my-images/685/sanstitre1be.png/)

Uploaded with ImageShack.us (http://imageshack.us)

If i can abuse a little, being able to remove the title bar and it would be perfect :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:07, 09 November 12
I don't know, what this little window is...
Could you resize it and tell me if it has a title?

Also: what happens when you move the emulator output to the other monitor, gain its focus and press ALT + Enter? (Fullscreen)

(Edit: Fullscreen only works with 2d display, not with the 3d panel)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 13:08, 09 November 12
Ok, I Have to do more test but the behavior of fullscreen is a little hard to understand.


First of all, this little window is what remain when you try to go fullscreen in 3d mode then try to go back from fullscreen (of course it has no impact to the real display, i talk about just activating or no the option). It is totally blank and you can't close it.


When you disable 3D mode, things are strange. Sometimes it goes to full screen, sometimes not, but one thing is sure : when it goes to fullscreen, it goes over hte screen that has the desktop, and not over the screen in which the initial screen was displayed (not totally surprising, as as it is a windows, it can be on both screen at the same times, so i don't think there is a way to know over which screen it is).

On second tests : Now, it seems to always go to fullscreen. Perhaps the problem about going to fullscreen was because i had just tested going to fullscreen in 3D.
Anyway, you'd better disable Full Screen Option when 3D is activated, that would avoid bugs. Alt+Enter is deactivated, but the option in "Monitor" is still there. Even better, totally remove this option cause the more i test it, the more bug prone it seems if you do things "out of the road".
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:00, 09 November 12
Yeah the fullscreen sometimes makes weird things.
I disabled it completely now, when in 3d mode.

The problem for the "Undecorated" frame is, that you cannot undecorate it after shown once.
So I had to code very weird routines to realize that.

The Frame is undecorated now and shows a blue border when you move with your mouse around it.

The upper part in this border is "moveable" -> Drag & drop the window whereever you want.

The lower right corner is the "resize" corner -> Drag it to resize the window.

The upper right corner is the "close" corner. -> click it and the emulator frame will re-dock into the desktop.

Its hard to say if you are able to move this new window now onto your 2nd monitor.

But, if not, you can move the desktop's window onto the 2nd monitor, I hope.

Demo video:
Erstellt von Camtasia Studio 7 (http://cpc-live.com/undocktest)

Need to do a few more testings then I can upload this update.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 15:33, 09 November 12
Don't forget the "take full screen" option (the second one when the title bar is displayed).


By the way, it seems that the "keep display proportion" in "monitor" doesn't do anything, so perhaps, you can entierely remove the Monitor tab.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:51, 09 November 12
Keep display proportions is important, when you use JavaCPC without Desktop ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:35, 11 November 12
Working on an "Internal Filesystem" what will make life easier for coders etc...
You'll soon be able to access files on your PC's harddrive with RSX commands.

(http://cpc-live.com/syntaxterror.png)

First look:
JavaCPC -> Internal Filesystem test (http://cpc-live.com/filesystest/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 01:33, 12 November 12
Before leaving for today:
- Cleaned up the messy code around autotyping directories etc...
- All text messages are sent through the emulated CPC directly...
- No more stupid ' - chars :D

Result:
JavaCPC FileSystem (http://cpc-live.com/filesystem)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 01:16, 13 November 12
Coded a little guide, too:

(http://cpc-live.com/fsystem.png)

I think I can release it @ end of this week...

(If someone wants...)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 02:20, 13 November 12
Cool stuff!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:39, 13 November 12
Update to version 1.7f is available:
- Added JavaCPC Internal Filesystem. (Just activate the JavaCPC ROM Expansion)
- Changed port handling for JavaCPC expansion ROM (To avoid interferrences with Digiblaster)

Just let JavaCPC check for updates... ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TCMSLP on 15:12, 13 November 12



Hi Markus,


Any idea what would stop this running under Linux?   The JavaCPC desktop starts up, console shows text output, emulated display starts (remains black for a second) then everything core dumps.

Ubuntu 12.10 (I think):-
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)


[/size]steve@Studio:~/javacpc$ ./JavaCPC.jar
loaded 8 user settings
Checking resource files...
File not found...
java.lang.NullPointerException
at jemu.ui.CheckResources.checkFile(CheckResources.java:139)
at jemu.ui.CheckResources.checkResources(CheckResources.java:84)
at jemu.ui.Main.main(Main.java:367)
loaded 17 rom settings
loaded 9 desktop settings
ROMs are disabled: false
java: /build/buildd/openjdk-6-6b24-1.11.5/build/../pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c:750: Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1flush: Assertion `stream' failed.
Aborted (core dumped)

I ended up running the Windows EXE under WINE, this resulted in other issues but at least worked :)


Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:14, 13 November 12
Sure.
The answer is in your log:
Quotejava: /build/buildd/openjdk-6-6b24-1.11.5/build/../pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c:750: Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1flush: Assertion `stream' failed.


Pulseaudio is crap.
I will ask someone later, who uses Linux, and where JavaCPC works fine, what Java config he has.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: TCMSLP on 15:19, 13 November 12



Yup - I noticed this just after I posted it.  I missed this last night - I was very tired ... this is my excuse :)


Regarding JavaCPC - Having all those tools available in a single 'desktop' (and platform independent too) is awesome!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:51, 13 November 12
Quote from: TCMSLP on 15:19, 13 November 12


Yup - I noticed this just after I posted it.  I missed this last night - I was very tired ... this is my excuse :)

No worries ;)


QuoteRegarding JavaCPC - Having all those tools available in a single 'desktop' (and platform independent too) is awesome!

Yeah but tools like DiskUtil or some others will not work under Linux.
I am already working on a Java-DSK-Filesystem but making very slow progress...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 22:30, 13 November 12
A small bug report :


* The Copy Key don't seem to work, at least in Azerty, either directly or on the VK.
* Orion prime is stuck on asking the Disk 2 in the 3'5 french version (after about 25% of the game)

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:31, 13 November 12
1) COPY is on the "Insert" key to avoid Windows - Menu behaviour.

2) Use the 3,5" disk image ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 22:35, 13 November 12
Quote from: Devilmarkus on 22:31, 13 November 12
1) COPY is on the "Insert" key to avoid Windows - Menu behaviour.


Oh! I was used to ALT. It's more logical. Anyway gonna test that.


EDIT : OK It works. It still don't work on the VK though.

Quote

2) Use the 3,5" disk image ;)


Well... that's what i meant when i said i was using 3,5 french version.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:41, 13 November 12
Hummm yes sorry.
Disable the "Fast disc emulation" please in Settings -> Drive settings.
When disabled, the FDC is a bit more accurate. (FDC in JavaCPC is like a VW Beetle in space...)

Quick update to v1.8:
Added the RSX commands:
|TYPE,"<filename">
and
|HEXTYPE,"<filename>"

-> dump text or other file to screen

Internal Fileystem: Dump files (http://cpc-live.com/ifs_type/)

Also changed the update program. It now does the update automatically, when started
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 15:01, 14 November 12
The internal emulator FS is really neat and can be quite useful; so much so that I think every emulator should have one... time for a new standard? :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:36, 14 November 12
At least it would be possible.
I can post my Java source and binaries (asm)

The binaries just work like this:
-> every command has a command byte, this is sent first, followed by the parameters.
-> The java routine reads the port and waits for last byte written: 0x0FF
-> When last byte is written, the command is executed internally in the emulator core.
-> Strings are send back via reading the port. Char by char. With a routine which also waits for a last byte.

I am using ports 0x0FFF0 - 0x0FFFF as IO device for the filesystem.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 23:36, 14 November 12
Quote from: Devilmarkus on 23:41, 13 November 12
Hummm yes sorry.
Disable the "Fast disc emulation" please in Settings -> Drive settings.
When disabled, the FDC is a bit more accurate. (FDC in JavaCPC is like a VW Beetle in space...)

Still doesn't work :'(
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:38, 14 November 12
Thats strange... I finished the game using JavaCPC...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 23:48, 14 November 12
Well, if i can finish the game without going to level 4, i might do the same  ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 23:57, 14 November 12
... Hey now it works. Without changing anything, just relaunching my save. Perhaps a bug in the game...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 22:54, 15 November 12
Well Orion Prime finished.


Just a little bit of FDC Overrun... that was that that seemingly prevented from loading the level 4 (i had to insist a little more).


It doesn't do that often... Only at times.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:48, 26 November 12
JavaCPC ROM update.

In the JavaCPC exp. ROM v1.3 has been a bug.
The |COPY command did not work.

This is fixed in v1.4 now (Thanks to SyX, who helped me here)

I also added a new command |FLIP.

What are theses commands good for?

|COPY,<bank> where bank is &C0,&C4,&C5 etc... -> Copies a screen from &C000 to the wanted ram bank
|PASTE,<bank> -> Copies the screen from choosen bank back to C000

|FLIP -> Does a screen flip between 2 screens @ 4000 and C000 with 25hz. (JavaCPC Paint can create such screens, or you can also use your own screens)
Limitation: - Both screens must have the same screenmode and palette

Examples for |FLIP, when the video settings are set to "De-Interlace":

(https://cpc-live.com/for_syx.png) (https://cpc-live.com/for_syx.png)
(https://cpc-live.com/for_syx2.png) (https://cpc-live.com/for_syx2.png)

Attached ROM: (Unzip to location where JavaCPC is installed\system\cpc\rom)
(Or run "Update.jar" -> it then automatically installs the new ROM)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 00:22, 03 December 12
Working on the BASIC de-tokenizer... (View BASIC files directly from ram)

I found out that a few routines were bad in my "BasList" tool, so I will update it soon.

But I thought it could also be a nice feature for an emulator: Always being able to see what happens in BASIC ram.

So I coded a realtime-BASIC-viewer for testings.

Later I will use it in the debugger and you'll have to list the basic RAM manually (Or perhaps semi-automatically with breakpoints? Will think about it...)

Here you can see a preview of realtime BASIC listing:

Realtime BASIC-Listing (Detokenized BASIC-RAM) (http://cpc-live.com/realtime_basicview/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:41, 03 December 12
Fiddling @ the BASIC debugger...

Don't get BASIC breakpoints working (yet), seems that BASIC has its own laws ;)

But this is how the LIST window looks like:

[attach=2]
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:52, 03 December 12
Working on a breakpoint and on a realtime BASIC TRACE feature:

JavaCPC BASIC debugger -> TRACE test (http://cpc-live.com/basictrace/)

JavaCPC -> Basic Debugger test (http://cpc-live.com/basicdebugger/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Sykobee (Briggsy) on 00:02, 04 December 12
Nice work, and neat features - you're almost building a CPC BASIC Dev environment that uses JavaCPC Desktop as the runtime platform.


Next step - edit your BASIC in the Dev environment rather than the CPC. Multiple breakpoints with debug step through, etc. Hotspot detection so you can identify regions of code that could do with some assembly...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: HAL6128 on 19:41, 04 December 12
yeah, and how about a separate window for watching variables with its value. Would be cool. 8)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:48, 04 December 12
When someone can tell me where and how to localize variables in RAM (and also how read them out), why not?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:30, 14 February 13
Fiddling on a screen-to-ASCII copy feature.

With this you will be able to capture the text contents on screen as text or/and html.

Here are a few examples:

http://cpc-live.com/startscreen.html (http://cpc-live.com/startscreen.html)
http://cpc-live.com/maxam.html (http://cpc-live.com/maxam.html)
http://cpc-live.com/parados.html (http://cpc-live.com/parados.html)
http://cpc-live.com/parados2.html (http://cpc-live.com/parados2.html)

Video of realtime screen-to-text:

JavaCPC - Real screen to text OCR test (http://cpc-live.com/ascii_cpc/)

It will be useful to copy screen contents to e.g. clipboard.
Limitation: You can only capture what is on screen. And only standard font is supported.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:42, 14 February 13
Direct text output:


  PARADOS - Version 1 1   ©1997 QUANTUM Solutions   Program by Richard Wilson

┌―――――――――――――――――――――――――――――――――――――――――――――――――――――――┬――――――――――――――――――――――┐
│███████████████████████████████████████████████████████│█████Information██████│
│███████████████████████████████████████████████████████│                      │
│███████████████████████████████████████████████████████│Drive  :              │
│███████████████████████████████████████████████████████│Format :              │
│███████████████████████████████████████████████████████│User   :All           │
│███████████████████████████████████████████████████████│Files  :*.*           │
│███████████████████████████████████████████████████████│                      │
│███████████████████████████████████████████████████████│No. of files  :       │
│███████████████████████████████████████████████████████│Used entries  :       │
│███████████████████████████████████████████████████████│Total entries :       │
│███████████████████████████████████████████████████████│                      │
│███████████████████████████████████████████████████████│Free space    :  0K   │
│███████████████████████████████████████████████████████│Used space    :  0K   │
│███████████████████████████████████████████████████████│Total space   :  0K   │
│███████████████████████████████████████████████████████│                      │
│███████████████████████████████████████████████████████│Tagged files  :       │
│███████████████████████████████████████████████████████│Tagged space  :  0K   │
│███████████████████████████████████████████████████████│                      │
│███████████████████████████████████████████████████████│Free buffer   :552K   │
│███████████████████████████████████████████████████████│Total buffer  :552K   │
└―――――――――――――――――――――――――――――――――――――――――――――――――――――――┴――――――――――――――――――――――┘
MAIN : Attributes   Copy   Erase   Filespec   Move   Rename   Tag   Un-tag

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:05, 14 February 13
JavaCPC v1.9 is ready.

So start your JavaCPC and let it check for updates.

New: Debugger -> Added a simple BASIC-debugger.
         CPC-Screen-To-ASCII feature implemented. (You'll find it in menu -> Edit or by pressing shift+F11)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:58, 15 February 13
Huh... who closed this thread?
Thanks Gryzor, for seeing that and re-opening ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:05, 16 April 13
Still fiddling on JavaCPC ;)

In progress:

A Fonteditor to edit the font directly in ROM:
Erstellt von Camtasia Studio 8 (http://cpc-live.com/chareditor/)

Who wants to check a result, try this instead of OS 6128 Lower ROM:
http://cpc-live.com/halloween.rom (http://cpc-live.com/halloween.rom)

Not 100% finished yet, but will finish it soon... ;)

Also in progress:
Overhaul of the integrated YM Recorder/Player GUI:
Erstellt von Camtasia Studio 8 (http://cpc-live.com/lcd_test/)
So, who has any ideas, what to add/change else, please post it here :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 21:14, 16 April 13
Nice work!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:49, 08 May 13
JavaCPC Desktop 2.0a is out!

Because of lacking time and motivation, I decided to roll-out version 2.0a.

What is new?
- Built-in "direct font editor" -> you now can edit the system rom's font. (It also opens a user defined font)
  You can also store modified fonts as headerless binary or into a new lower-OS-ROM file.
  Press ALT + F11 to open it. (Or check in menu -> Edit -> Open Font Editor)
- A wallpaper is set by default now. 4 wallpapers are available now. (1920x1080 pixels) You of course can also set your own wallpaper.
- The menubar now also shows up, when desktop is "Expanded"

(http://cpc-live.com/fonteditor.png)

What has changed?
- Several minor bugfixes.
- Bugfixes in the internal paint application
- Rewritten code to posterize images (Turn your favourite photo/image into a CPC-pixelized image keeping the original proportions)
- Internal java console is now turned off by default. (You can still enable/disable it in the preferences)

You can run an update or download 3 different files:
- JavaCPC_Desktop_2.0a.zip -> Complete emulator in a ZIP archive
- JavaCPC_2.0a_Setup.zip -> Complete emulator as a setup file
- JavaCPC_Desktop_Online_Setup.zip -> Only the online installer, put it somewhere you want to install JavaCPC inside, and launch it.

For those of you, who run the update:
- When the update runs first time, the updater self-closes.
- Launch JavaCPC.exe again then, and a 2nd update starts, which updates the Update.jar itself and also the last required files.

This happens, because in this release, the updater changed, too.

You can find the files here:
http://cpc-live.com/data/index.php (http://cpc-live.com/data/index.php)

Have fun!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 17:46, 08 May 13
Yay! Time to change the thread's title or start a new one, don't you think?


Hope people will make and share some fonts...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:00, 08 May 13
Well dunno if a new thread is needed. I'm still happy with this one.

Forgot to mention about the new YM Player/Recorder GUI:

Example video
JavaCPC's new YM Player GUI (http://cpc-live.com/ymplayer/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 22:05, 08 May 13
Great job done Markus!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:04, 22 August 13
JavaCPC 2.0b rolled out.

You can use the internal update function to get your latest copy.

I added the GameMap Ripper.

How to activate it?

- First, enter the debugger, when your game has been loaded and shows the playscreen.
- Open the GFXViewer by clicking on the icon shown in the screenshot:
  [attach=2]

- In the GFXViewer define start address, and tile size by changing width and height.
- Make sure, the first tile is visible in the upper left corner
- Make sure, it's not zoomed, if required, enable "No Auto Zoom" -> This can slow down the gfx creation but is necessary for the GameMap Ripper.
[attach=3]

- If a game has less than 256 tiles, click onto the first tile in the upper left corner with your left mousebutton and then click on the last visible tile with your right mousebutton. This marks the tiles area.
- Now click "Generate Map" - A new window will open up.
[attach=4]

- Here you now can play around by changing the address and the map width and height.
- Rev. X and Rev. Y is not working yet so you don't need to use it.

- When you can see your full map , you can click on "Export" and choose a filename for the PNG image.
- An additional textfile is stored, too, which contains the map info.
- Done....

Happy mapping ;)


Title: Re: JavaCPC Desktop 1.0 official release
Post by: SyX on 13:23, 22 August 13
GREAT!!! :D

I will give a try this afternoon :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:48, 22 August 13
You now can download the full JavaCPC 2.0b release here:
http://cpc-live.com/data/index.php (http://cpc-live.com/data/index.php)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:52, 27 August 13
Long time has passed since I released JavaCPC Desktop v1.0 :D

Today I released v2.1.

New: Implemented game mapper (ScreenMapper and GameMapper).

You can create game maps now or from ram, or directly from the CPC screen.


Video:
JavaCPC GameMapper (Screen capturing) (http://cpc-live.com/screenmapper/)

The ScreenMapper is directly accessible from JavaCPC menu and does not need the GFXViewer or the RAM-mapper active.

Just start it, define a rectangle on CPC screen (Click the "Set" button in ScreenMapper, unclick it, when done selecting screen area), and start mapping.

Define screen area is key controlled in CPC display:
- Arrow up -> move rectangle up about 1 pixel
- Arrow down -> move rect. down about 1 pixel
- Arrow left/right -> move rect. left/right about 1 pixel
+ SHIFT:
move rectangle about 8 pixels
- CTRL + Arrows: change rectangle width/height about 1 pixel
+ SHIFT:
change rectangle width/height about 8 pixels

Mapping is key controlled in CPC display:
- CTRL + arrow keys: Append actual screen at choosen direction
- SPACE: Put actual screen to actual position
- DELETE: Remove screen from actual position
- Just arrow keys: Change position


You can use the internal Update function -> Menu: Help -> Check for update

Or you can download the latest version when you follow the link in my signature...


Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:14, 27 August 13
Now... amazing to see! Thinking about it...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:16, 27 August 13
I hope the people like the new splash screen :P

Need to roll out an update this evening...
I broke the GFXViewer...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:00, 27 August 13
Internal update to v2.2 is available.

I changed the GFXViewer.

Fixed a bad routine to show the tiles and also added the possibility to export single tiles as .PNG, then you can edit them with tools like Paint, and re-import into a single Cell-view.

(For more informations about this, just ask me)

Simply let JavaCPC check for updates.

The full download will be available tomorrow I think...

Also added:
A 64bit executable to launch JavaCPC properly on 64bit Java distributions on Windows PCs.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 22:46, 27 August 13
Quote from: Devilmarkus on 22:00, 27 August 13
A 64bit executable to launch JavaCPC properly on 64bit Java distributions on Windows PCs.


Excellent! That was needed!  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 10:39, 28 August 13
Quote from: TFM on 22:46, 27 August 13Excellent! That was needed!  :)

As I don't use 64bit Java, I can't tell you how it works. My last status was, that JavaCPC works as crap on 64bit Java.

But I thought, it'd be useful to have a 64bit executable, too...

The version 2.2 is now also available as full package download.

Just check the link in my signature.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:00, 28 August 13
And another bugfix update is available: v2.2a

Thanks to MiguelSky for reporting this weird bug.

You can get it using the internal update function.

Bugfix: Removed flooding JavaCPC directory with xxxxxxx .SCR files

Added: VaraDOS rom (Patched Parados rom which supports Vortex format)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 09:57, 30 October 13
Little update to version 2.2c:

- Fixed a few UI-bugs. (Especially in the Z80 Assembler interface)
- Fixed autoboot function to get keyboard functionality back, after booting a game/app. (ALT + END = boot DF0)
- Fixed the debugger: Added the (very important) info for IFF1 and IFF2:

(http://cpc-live.com/fixed_debugger.png)

You can get the latest version by using the update function in JavaCPC.

Download will follow the next days.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:37, 31 December 13
JavaCPC Desktop v2.3 is out.

Most important news:
- Some changes for the GFXViewer:
    - You now can change the CPC's palette on the fly (Double click on a INK inside the CPC-Palette display @ bottom of GFXViewer's window) Thanks to MacDeath for the idea.
    - I implemented a GIFMaker into the GFXViewer. You now can create very easy and quick animated GIFs from most beloved game sprites. Thanks to McKlain for the idea.
- A bugfix in automatic version control, which caused JavaCPC Desktop to freeze when was enabled
- Removed the icon for Push'N'Pop radio due it's offline and put a shortcut-icon to the GFXViewer directly.
- Embedded Death Sword 128k to play directly ;) (Added an icon to the desktop)
- Some minor bugs and glitches removed

Download it here: CPC-Live.com - Schneider / Amstrad CPC Webseite (http://www.cpc-live.com/data/)
Or just let it check for updates.

Happy New Year!!!!

Quick guide to create GIFs:

- Make sure, first sprite is in upper left corner in GFXViewer
- Left click on it once
- Right click on last sprite to select a range (The Sprites inside the range are grayed out then)
- Click "Create GIF"

In theory that's all you need to know.
Oh and the sprites you select must be in a range... Would be too much work now to select single sprites only...
The GIFMaker should be self explaining.

To change transparent color, just click on a color in the GFXViewer window's palette.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:58, 31 December 13
Sorry, quickly fixed a bug...
Please re-download...

For those of you, who already downloaded it or have checked for updates: You just need to replace this file:

http://cpc-live.com/javacpc_update/JavaCPC.jar (http://cpc-live.com/javacpc_update/JavaCPC.jar)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:07, 01 June 14
JavaCPC version 2.4 is out.

Due lack of time and motivation the only new feature is, that I fixed the "Create DSK" function, which allows you to create an empty DSK file for the selected drive...

Use the internal update function...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 20:38, 19 June 14
That's ok. Bug fixes are important.  :) :) :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Joseman on 02:39, 18 September 14

I'm really impressed with JavaCPC, normally i used to work in Winape, but the perfect tape emulation with the tape inserted on a real tape deck with the name of the game in it, or the CPCPaint program, that really converts the screens perfectly, yesterday i was trying to convert an image with convimgcpc that fails miserably, doing a bad bad job, but the same image with cpcpaint is perfectly converted almost pixel by pixel!!

@Devilmarkus (http://www.cpcwiki.eu/forum/index.php?action=profile;u=93) you're doing an excellent job with this emulator, only one thing, i tried to load on the assembler an asm program that i'm doing with winape, but javacpc throws 138 errors, perhaps not all the directives that uses winape are compatible with javacpc?




Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:27, 18 September 14
Thanks, Joseman, for your reply :)

JavaCPC's assembler is very simple and mostly Maxam compatible.

But it cannot handle makros or scripts like WinApe.

It also sometimes has problems to parse multiple instructions in one line.

Few people here maybe know, that I'm no assembler coder ;) So, I just made the assembler by learning by doing... (As the whole Emulator is made)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:09, 18 September 14
Quote from: Joseman on 02:39, 18 September 14
... i tried to load on the assembler an asm program that i'm doing with winape, but javacpc throws 138 errors, perhaps not all the directives that uses winape are compatible with javacpc?

WinApe has a monolithic structure, it's compatible to MAXAM f.e. but don't expect anything to be compatible to it. Same is true for a lot of good things for good reasons.  :)

However, my suggestion is to keep the source compatible to the MAXAM assembler, so it will be most likely understood by most / all emulators.[nb]Well, I don't know in detail, since I use MAXAM on a CPC(-Emulator). That's quick enough, if you activate the emu's "turbo mode" while the assembler runs.[/nb]
Title: Re: JavaCPC Desktop 1.0 official release
Post by: SyX on 20:52, 18 September 14
And for all the maxam's lovers, there is another option, you can use Maxam II in a commandline CP/M emulator.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 21:00, 18 September 14
Works with CPC emulators too  ;)  Even if I bought the original Maxam II and I think it's really great I never migrated to it.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: SyX on 22:43, 18 September 14
Sure, but it's more practical and fast to use from a CP/M emulator than from a CPC emulator, when i have sometime i'll try to make a mini-doc for you can see the advantages ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 01:10, 21 September 14
Well, don't waste your time ;-) Better you do some coding, that's a jewel then :-D

Honestly, I always thought that MAXAM II is for CPC/Joyce only (like Prowort, Protext for CP/M only runs with CPC/Joyce).

I have an advanced way of loading... I use a memory dump which I load under FutureOS and then I already got everything in the RAM disc. However I didn't use that since quite a while, just starting Maxam and press "trubo" for assembly makes me happy. There are probably 333 more quick ways to go though.  :laugh:
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 14:17, 22 September 14
How do I use the d-pad on my joypad to play games?  The emulator keeps using my left analog stick which is not ideal.  The d-pad is registering as them POV things in the controller properties of windows.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:20, 03 October 14
Implementing joystick support into JavaCPC was/is a pain in the a....

If you want to play games with proper joystick support, you should try a different emulator ;)

I'm sure the java joystick library only supports analog joysticks/pads.

(I don't even know what a d-pad is ;) )

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 23:01, 03 October 14
d-pad means directional pad.   The cross shaped bit with the up/down/left/right that all joypads have had since they were first made.  The bit you're SUPPOSED to play retro games with, not the analog stick...

And joypad support is kinda broken in WinApe too (character's keep going to the left automatically for some reason) so what, I now need a thiiird emulator just to use a joypad properly? 
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 22:30, 04 October 14
Maybe even a fourth or fifth...  :-X
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Executioner on 01:53, 07 October 14
Quote from: Carnivac on 23:01, 03 October 14
And joypad support is kinda broken in WinApe too (character's keep going to the left automatically for some reason) so what, I now need a thiiird emulator just to use a joypad properly?

Isn't there a calibration routine somewhere in Windows? WinAPE uses the following code to provide analogue to digital conversion:


        JoyMidX := (wxMax - wxMin) div 2;
        JoyMidY := (wyMax - wyMin) div 2;
        JoyDeadX := (wxMax - wxMin) div 4;
        JoyDeadY := (wyMax - wyMin) div 4;
        JoyLeftX := IMax(JoyMidX - JoyDeadX, wxMin);
        JoyRightX := IMin(JoyMidX + JoyDeadX, wxMax);
        JoyUpY := IMax(JoyMidY - JoyDeadY, wyMin);
        JoyDownY := IMin(JoyMidY + JoyDeadY, wyMax);


then the following to set the keyboard bits:


      if wXpos < JoyLeftX then JoyMask := JoyMask and $fb
      else if wXpos > JoyRightX then JoyMask := JoyMask and $f7;

      if wYpos < JoyUpY then JoyMask := JoyMask and $fe
      else if wYpos > JoyDownY then JoyMask := JoyMask and $fd;
      if (wButtons and JOY_BUTTON1) <> 0 then JoyMask := JoyMask and $ef;
      if (wButtons and JOY_BUTTON2) <> 0 then JoyMask := JoyMask and $df;

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 07:13, 07 October 14
Quote from: Executioner on 01:53, 07 October 14
Isn't there a calibration routine somewhere in Windows? WinAPE uses the following code to provide analogue to digital conversion:


I'm using a Dual Shock 3 pad off my PS3, with a driver that makes the laptop think it's an Xbox 360 pad and I've looked in the device settings and for some reason it never asks anything about the sticks in the calibration bit.   Which isn't usually an issue since most emulators I use ignore the sticks anyways (altough I've noticed MAME doesn't register any oddities when you try to reassign a button in-game, that control doesn't get automatically taken over by the analog stick as if it were registering being stuck in a direction like Winape is).  I'd rather Winape ignored the analog sticks completely and just used the d-pad (in this case the POV functions).   It's just a bit frustrating my joypad works on everything but my Amstrad emulators.  :/

EDI|T: managed to fix the left stick calibration but it's still not ideal.  Analog sticks are just too clumsy to mimic digital control.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: ssr86 on 14:51, 02 November 14
I used a program like JoyToKey (JoyToKey - Basic Features (http://joytokey.net/en/overview)) to map keyboard keys to the joypad and it worked...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Executioner on 03:16, 26 November 14
Quote from: Carnivac on 07:13, 07 October 14
I'm using a Dual Shock 3 pad off my PS3, with a driver that makes the laptop think it's an Xbox 360 pad

What is the driver? I'll try installing it and using one of my DS3s?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:41, 01 January 15
IMPORTANT!!!
JavaCPC update version 2.5 fixes a major bug, which appeared since version 2.3 or 2.4!!!!
These versions ALWAYS stored screenshots into C:\\javacpc_temp\ !!!!!
Please check your version by doing an internal update!!!
(menu: Help, Check for update)
Or download the latest version here:
CPC-Live.com - Schneider / Amstrad CPC Webseite (http://cpc-live.com/data/)

Happy new year to all CPC-friends!
And sorry, for this annoying bug, which also kept the performance very low :(
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:42, 05 January 15
Thanks for the Update! Great way to start the new year!!!  8) :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 18:39, 06 January 15
Ok, I wouldn't call that a "major bug" :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:47, 06 January 15
Well it was a major bug!
When you find 5fps instead of 50 and your harddrive is full of gigabytes of screenshots...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:14, 06 January 15
I know exactly what you're talking about!  :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 22:03, 19 February 15
JavaCPC update 2.6 is out!
Now features Dual-YM emulation (As seen on TotO's PlayCity boards)
How to enable:
Configuration -> Misc. -> PlayCity (Where you can enable Digiblaster and Amdrum emulation, too)
Download here:
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)
Or let JavaCPC check for updates....
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:33, 25 February 15
JavaCPC internal update 2.6b is out!
(Please let JavaCPC check for updates)

Changes and fixes:
- --SNA command line parameter added
- Bugfix in BASIC debugger (TRACE and STEP through BASIC lines should work proper now (in theory))
- EX HL,DE opcode added to integrated Z80 assembler (Before only EX DE,HL worked)
- some GUI fixes

As info:
All command line parameters here for you:
JavaCPC Desktop 2.6b ©2015 by Markus Hohmann
Commands: |    value:   |    info:
--cpctype      <CPC type*>         Sets emulated CPC model*
--df0/--drivea <path to DSK file>  loads a DSK into DF0
--df1/--driveb <path to DSK file>  loads a DSK into DF1
--tape         <path to CDT file>  loads a tape image
--sna          <path to SNA file>  loads a snapshot
--bootdrive    <df0/df1/tape>      Boot choosen drive
--amsdos       <yes/no>            Put AMSDOS rom?
--crtc         <0/1>               Sets CRTC type
--autotype     <content>           1 line for autotype
--desktop      <on/off>            Start as desktop or app.
--wallpaper    <path to wallpaper> Choose wallpaper
--stretch      <on/off>            Stretch or center wallpaper
--memory       <64/128/256/512>    Defines emulated RAM
--monitor      <color/green/grey/cpce>
--polarity     <on/off>            Toggles tape polarity
--help                             this info
--------------------------------------------------------------
*Possible CPC-models:
CPC464,CPC464T,CPC664,CPC6128,KCCOMPACT
CPC464PARA,PARADOS,FUTUREOS,SYMBOS

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:50, 01 March 15
Internal JavaCPC update to v2.7al (alpha)
Changelog:
- Register JavaCPC completely removed, because it made too much trouble
- Partial translation included (French, Spanish, German) !!!Still in heavy progress!!!
- Some GUI fixed
- When you check for updates, it now also includes "Alpha" versions, which don't need new version numbers. So you can manually check from time to time for new updates, even if the version number did not change. (Automatic update will ignore Alpha versions in the future)
- Bugfix in Gamebrowser and BASIC autotype This alpha version doesn't cause any known stability problems, because nothing has changed in emulation core, so you can check for updates.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:28, 04 March 15
JavaCPC update to v2.8

Download here: https://sourceforge.net/projects/javacpc/ (https://sourceforge.net/projects/javacpc/)
Or here: http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)

Update from v2.7 to v2.8 changelog:
- Amstrad.eu BDD added (Play games directly from Amstrad CPC for ever : Amstrad.eu (http://www.amstrad.eu) database)
- Bugfix in BASIC autotype and autoboot
- Some GUI changes
- Some parts are partially translated into German, French or Spanish (Translation is still in progress)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:07, 07 March 15
JavaCPC update to v2.9 is available!

Update from v2.8 to v2.9 changelog:
- BDD CPC file databases added: JavaCPC Games and JavaCPC Demos
- Z80 turbo mode integrated (Accessible in System configuration)
- Internal ROM font editor improved (Access: ALT + F11)

Download:
https://sourceforge.net/projects/javacpc/ (https://sourceforge.net/projects/javacpc/)
Or
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)
Or let JavaCPC check for updates...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 20:53, 07 March 15
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:14, 07 March 15
Who is interested in adding a gamebase:

Gamebases are read through an api.php file on the server.
It should feature 3 usages:

api.php?action=detailist -> prints all available files as xml file
api.php?action=detail&id=xxx -> prints info for a selected file as xml file
api.php?action=get&id=xxx -> lets you download file with ID xxx

detailist: a list like this:

[attachimg=1]

detail: a list like this:

[attachimg=2]

get: deliver the file found in media and given ID as binary

JavaCPC doesnt care if you use ID numbers or filenames instead.

Example here:

http://cpc.devilmarkus.de/games/api.php?action=detail&id=cauldron (http://cpc.devilmarkus.de/games/api.php?action=detail&id=cauldron)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 21:25, 07 March 15
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:29, 07 March 15
Quote from: phi2x on 21:25, 07 March 15
XML is so 2005!!  ;)

And CPC is so 1984 ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 21:34, 07 March 15
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: greatxerox on 10:58, 08 March 15
Quote from: phi2x on 20:53, 07 March 15

Why don't you work with CPC-POWER, sauvegarde du patrimoine de l'Amstrad CPC (http://www.cpc-power.com/) ? They have the best CPC database ever.

Or even a better solution: creating a collaborative database on CPC-Wiki? That would be awesome.


this database is already ultimate, it's really no use to create another one. however, all people can already contribute to this one, contacting the team ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: greatxerox on 11:13, 08 March 15
Devilmarkus, Kukulcan is a little cold to add CPC power in Java CPC, because he thinks nobody will come on the site and they won't collaborate (to warn about errors in the datasheet for example). However he agrees to try a Beta.


Kukulcan said me than Java CPC should send connection informations to cpc power, in order it will be identified precisely


I think you should add a column in the database GUI in order each game could target the concerned game (datasheet) in cpc power. is it possible ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:33, 08 March 15
Quote from: greatxerox on 11:13, 08 March 15
Devilmarkus, Kukulcan is a little cold to add CPC power in Java CPC, because he thinks nobody will come on the site and they won't collaborate (to warn about errors in the datasheet for example). However he agrees to try a Beta.


Kukulcan said me than Java CPC should send connection informations to cpc power, in order it will be identified precisely


I think you should add a column in the database GUI in order each game could target the concerned game (datasheet) in cpc power. is it possible ?

JavaCPC doesn't send Informations. (Perhaps the fact, that a Java application wants to read files) But we could use a key for api.php e.g. api.php?action=detail&id=512&key=123456 (where key can be a secret key)

Sure, it's no problem to add a link, too.. (Name, Publisher, Year, Genre, Link)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 09:54, 12 March 15
JavaCPC update 2.9e is available.

Changelog:
- Hotfix in tape emulation, removed a bug, which caused a division by zero in some cases.
- RAM-ROM management rewritten. The emulator doesnt define a new CPC after each ROM change. Just changes the roms, and thats it.
- Added a nice startmenu to "AMSTRAD" logo, when used as Desktop.
- Small resetbutton added to emulator window.
- few GUI improvements for BDD databases. (You now can also search for a game)

Download:
http://sourceforge.net/projects/javacpc (http://sourceforge.net/projects/javacpc)

or:
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)

or check for available updates in JavaCPC
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 11:31, 12 March 15
Quote from: Devilmarkus on 09:54, 12 March 15
JavaCPC update 2.9e is available.

Changelog:
- Hotfix in tape emulation, removed a bug, which caused a division by zero in some cases.
- RAM-ROM management rewritten. The emulator doesnt define a new CPC after each ROM change. Just changes the roms, and thats it.
- Added a nice startmenu to "AMSTRAD" logo, when used as Desktop.
- Small resetbutton added to emulator window.
- few GUI improvements for BDD databases. (You now can also search for a game)

Download:
JavaCPC Desktop - Java CPC Emulator | SourceForge.net (http://sourceforge.net/projects/javacpc)

or:
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)

or check for available updates in JavaCPC

How I can run this in UBUNTU ?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:46, 12 March 15
Drop a command file in the folder.
Content should look like:
java -jar JavaCPC.jar -xms1024m

(Like BAT file on PC)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 11:48, 12 March 15
You may also have to set java.library.path (at least this is the case on Arch Linux) or the gamepad library will not be found, e.g.:

java -Djava.library.path=. -jar JavaCPC.jar -Xms512m
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 11:54, 12 March 15
Markus, why is JavaCPC 2.9e trying to load a Windows DLL on Linux? (The previous 2.9 version worked fine.)

loaded 55 user settings
Args: -Xms512m
Checking resource files...
Transferred 0 file(s)
loaded 17 rom settings
loaded 9 desktop settings
Mrz 12, 2015 11:51:44 AM net.java.games.input.ControllerEnvironment log
INFORMATION: Linux plugin claims to have found 7 controllers

Num. controllers: 7
Game pad index: 0
Game controller: Logitech Gamepad F510, Gamepad
Num. Components: 18
Found x; index: 11
Found y; index: 12
Found z; index: 13
Found rz; index: 16
Found pov; index: 17
Found A; index: 0
Found B; index: 1
Found X; index: 2
Found Y; index: 3
Found Left Thumb; index: 4
Found Right Thumb; index: 5
Found Select; index: 6
Found Mode; index: 8
Found Left Thumb 3; index: 9
Found Right Thumb 3; index: 10
Too few buttons (10); expecting 12
Rumblers found: 1
Joy found!
1
3
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/javacpc/.\lib\windows\x86\jdic.dll
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
    at java.lang.Runtime.load0(Runtime.java:795)
    at java.lang.System.load(System.java:1062)
    at jemu.ui.Desktop.<init>(Desktop.java:1057)
    at jemu.ui.JEMU.init(JEMU.java:351)
    at jemu.ui.JEMU.main(JEMU.java:1554)
    at jemu.ui.Main.launchClassic(Main.java:487)
    at jemu.ui.Main.main(Main.java:447)

Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 11:59, 12 March 15
Quote from: Morn on 11:48, 12 March 15
You may also have to set java.library.path (at least this is the case on Arch Linux) or the gamepad library will not be found, e.g.:

java -Djava.library.path=. -jar JavaCPC.jar -Xms512m


yeap it is stuck into loading because it uses a windows library and also uses a windows path as well

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /home/kilon/Downloads/JavaCPC/.\lib\windows\x86\jdic.dll
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 12:25, 12 March 15
Kilon, here is the old 2.9 file that works:

https://github.com/mdoege/javacpc-backup/archive/master.zip (https://github.com/mdoege/javacpc-backup/archive/master.zip)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 12:38, 12 March 15
Quote from: Morn on 12:25, 12 March 15
Kilon, here is the old 2.9 file that works:

https://github.com/mdoege/javacpc-backup/archive/master.zip (https://github.com/mdoege/javacpc-backup/archive/master.zip)

thanks but still cant load, here is the log

java -Djava.library.path=. -jar JavaCPC.jar -Xms512m
loaded 6 user settings
Args: -Xms512m
Checking resource files...
Transferred 0 file(s)
loaded 17 rom settings
loaded 9 desktop settings
ROMs are disabled: false
Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event0): Failed to open device /dev/input/event0 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event1): Failed to open device /dev/input/event1 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event10): Failed to open device /dev/input/event10 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event11): Failed to open device /dev/input/event11 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event12): Failed to open device /dev/input/event12 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event2): Failed to open device /dev/input/event2 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event3): Failed to open device /dev/input/event3 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event4): Failed to open device /dev/input/event4 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event5): Failed to open device /dev/input/event5 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event6): Failed to open device /dev/input/event6 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event7): Failed to open device /dev/input/event7 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event8): Failed to open device /dev/input/event8 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to open device (/dev/input/event9): Failed to open device /dev/input/event9 (13)


Mar 12, 2015 1:37:15 PM net.java.games.input.ControllerEnvironment log
INFO: Linux plugin claims to have found 0 controllers

No controllers found
No game pad found
Start time: [Thu Mar 12 13:37:15 EET 2015]
executable is true
Avail mem is 404531360
init()
Frequency=1000000, adder=65536
Building tapedrive
Samplerate is 44100hz
javax.sound.sampled.LineUnavailableException: unable to obtain a line
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.connect(PulseAudioDataLine.java:273)
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:101)
    at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:75)
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:290)
    at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:51)
    at jemu.core.device.sound.JavaSound.init(JavaSound.java:77)
    at jemu.core.device.sound.SunAudio.<init>(SunAudio.java:40)
    at jemu.core.device.sound.JavaSound.<init>(JavaSound.java:46)
    at jemu.core.device.sound.SoundUtil.getSoundPlayer(SoundUtil.java:26)
    at jemu.core.device.sound.AY_3_8910.<init>(AY_3_8910.java:176)
    at jemu.system.cpc.CPC.<init>(CPC.java:796)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at jemu.core.device.Computer.createComputer(Computer.java:101)
    at jemu.ui.JEMU.setComputer(JEMU.java:4258)
    at jemu.ui.JEMU.start(JEMU.java:1187)
    at jemu.ui.JEMU.desktop(JEMU.java:1620)
    at jemu.ui.Desktop.<init>(Desktop.java:1016)
    at jemu.ui.Desktop.main(Desktop.java:11313)
    at jemu.ui.Main.launchDesktop(Main.java:470)
    at jemu.ui.Main.main(Main.java:444)
JavaSound: 256 x 2
Line Buffer: 0 for class org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine
java: /build/buildd/openjdk-7-7u75-2.5.4/icedtea-sound/src/native/org_classpath_icedtea_pulseaudio_Stream.c:753: Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1flush: Assertion `stream' failed.
Aborted (core dumped)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 12:45, 12 March 15
For the controller problem: add your user to the input group (or Ubuntu equivalent) so it can access /dev/input/event*

The other bug is PulseAudio. Quit all other apps and start with

pasuspender java ...

Or load a GUI like WindowMaker that does not start PulseAudio.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 13:05, 12 March 15
P.S. And if you get JavaCPC running, you may have to change the audio sample rate back and forth (e.g. from 44k to 22k and back to 44k) in the settings once to get sound.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 13:27, 12 March 15
P.P.S. You can use ps to check whether PulseAudio is running:

$ ps aux|grep pulse
martin     599  0.0  0.2 580828 20512 ?        S<l  11:16   0:07 /usr/bin/pulseaudio --start --log-target=syslog

Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 13:27, 12 March 15
Quote from: Morn on 12:45, 12 March 15
For the controller problem: add your user to the input group (or Ubuntu equivalent) so it can access /dev/input/event*

The other bug is PulseAudio. Quit all other apps and start with

pasuspender java ...

Or load a GUI like WindowMaker that does not start PulseAudio.

no idea how to do those things

I tried

pasuspender java -Djava.library.path=. -jar JavaCPC.jar -Xms512m
pasuspender: invalid option -- 'D'
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 13:29, 12 March 15
Quote from: Morn on 13:27, 12 March 15
P.P.S. You can use ps to check whether PulseAudio is running:

$ ps aux|grep pulse
martin     599  0.0  0.2 580828 20512 ?        S<l  11:16   0:07 /usr/bin/pulseaudio --start --log-target=syslog


ps aux|grep pulse
kilon     1693  0.5  0.0 448424  7608 ?        S<l  10:10   1:27 /usr/bin/pulseaudio --start --log-target=syslog
kilon     7824  0.0  0.0  15948   944 pts/6    S+   14:28   0:00 grep --color=auto pulse
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 13:34, 12 March 15
Yes, apparently pasususpender does not like command line arguments.  :(

You can create a shell script to start JavaCPC, e.g. I use

$ cat /usr/bin/javacpc
#!/usr/bin/bash

cd /usr/lib/javacpc
java -Djava.library.path=/usr/lib/javacpc/ -jar JavaCPC.jar -Xms512m


And then I have an alias in my ~/.bashrc:

alias jcpc="pasuspender javacpc"   # run JavaCPC with PulseAudio disabled

Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 14:00, 12 March 15
Quote from: Morn on 13:34, 12 March 15
Yes, apparently pasususpender does not like command line arguments.  :(

You can create a shell script to start JavaCPC, e.g. I use

$ cat /usr/bin/javacpc
#!/usr/bin/bash

cd /usr/lib/javacpc
java -Djava.library.path=/usr/lib/javacpc/ -jar JavaCPC.jar -Xms512m


And then I have an alias in my ~/.bashrc:

alias jcpc="pasuspender javacpc"   # run JavaCPC with PulseAudio disabled

no I am afraid it still gives me the exact same error and crashes.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 14:10, 12 March 15
Strange, normally you simply get no audio from JavaCPC when PulseAudio is running, but no crashes. (This is with PulseAudio 6.0 on Arch; Ubuntu might have an older version that is causing problems. Can you upgrade PA perhaps?)

When using pasuspender, PA keeps running but is suspended and may still cause some sound issues in JavaCPC.

So like I said, I think your best bet is to install a simple window manager like wmaker, log in to that, check that PulseAudio is not running (don't start e.g. Chrome or PA might get started!), and run javacpc without the pasususpend stuff.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 14:25, 12 March 15
Another option might be uninstalling PulseAudio for now, provided you can force your package manger to skip dependency checks. In Arch Linux I can force-uninstall anything with "pacman -Rdd", but I don't know about Ubuntu.

Oh, and if you disable PulseAudio (either by using another window manager or uninstalling PA), you may have to look for an ALSA mixer, because by default all channels in ALSA are muted. So you need to crank them up first.

Sound on Linux really is an inexhaustible topic.  :D

Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 14:30, 12 March 15
Quote from: Morn on 14:10, 12 March 15
Strange, normally you simply get no audio from JavaCPC when PulseAudio is running, but no crashes. (This is with PulseAudio 6.0 on Arch; Ubuntu might have an older version that is causing problems. Can you upgrade PA perhaps?)

When using pasuspender, PA keeps running but is suspended and may still cause some sound issues in JavaCPC.

So like I said, I think your best bet is to install a simple window manager like wmaker, log in to that, check that PulseAudio is not running (don't start e.g. Chrome or PA might get started!), and run javacpc without the pasususpend stuff.

Bingo!

I upgraded from PulseAudio 4 to PulseAudio 5 and now JavaCPC opens.

It looks like now it throws an exception

Exception in thread "PulseAudio Eventloop Thread" java.lang.IllegalStateException: drain failed
    at org.classpath.icedtea.pulseaudio.EventLoop.native_iterate(Native Method)
    at org.classpath.icedtea.pulseaudio.EventLoop.run(EventLoop.java:133)
    at java.lang.Thread.run(Thread.java:745)

it seriously does not like PulseAudio

its frozen and refuses to quit.

No I dont want to uninstall PulseAudio, I love audio with my Ubuntu thank you very much :D

I also dont want to mess with this Ubuntu install, its my work PC and I have loads of valuable data in it and already Ubuntu gives me hard time with my printer and scanner.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 14:41, 12 March 15
Well, xkill is your friend to kill hung applications!

Yes, PA is a major problem with JavaCPC. To be fair, Minecraft is also a Java app and sound in that works flawlessly with PA, so this must be an issue in JavaCPC.

You will still get audio if you uninstall PA. PA is very useful for audio routing, e.g. some apps to HDMI, others to headphone jack. But multiplexed audio output works just fine with plain old ALSA.

Or you could try OS X because I see in your GitHub bug report (https://github.com/cpcitor/cpc-dev-tool-chain/issues/8) you have that too.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:36, 12 March 15
AFAIK, also SUN audio should be integrated in actual Java distributions for Linux, isn't it so?

I know people running JavaCPC under Linux, without any audio problems...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 16:14, 12 March 15
Quote from: Devilmarkus on 15:36, 12 March 15
AFAIK, also SUN audio should be integrated in actual Java distributions for Linux, isn't it so?
Maybe there is a way to revert to plain OSS (I think this is equivalent to Sun audio), but then only one app can use the sound card at a time. Very inconvenient to say the least.

I've tried uninstalling PA and using ALSA and still got some occasional audio glitchiness, whereas everything runs smoothly on Windows on the same machine.

Quote from: Devilmarkus on 15:36, 12 March 15
I know people running JavaCPC under Linux, without any audio problems...
More details about the distro they use, etc. would be useful.

But like I said, I think Minecraft proves that Java can cooperate with PulseAudio in principle. I don't know why JavaCPC so stubbornly refuses.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:56, 12 March 15
Quote from: Morn on 16:14, 12 March 15
But like I said, I think Minecraft proves that Java can cooperate with PulseAudio in principle. I don't know why JavaCPC so stubbornly refuses.  :)

Sure, playing samplefiles should work, without problems, with PA.
But JavaCPC produces sound for itself. (AudioStream) which seems is not working well with PA.

I tested several audioformats. 8,16bit, big endian, little endian, etc... All tests ended in the same result...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 17:07, 12 March 15
OK as far I can tell, for MacOSX i see the same problem with that windows library

but the version that you gave me with that gihub link works fine.

I tried to play deathsword but no key seem to work , I need to setup something ?

I dont care so much about linux , MacOSX is my main platform.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:15, 12 March 15
To start Deathsword one need to hit return of space or so, kinda unused. I'm not sure if I remember right though.  :laugh:
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 17:17, 12 March 15
Quote from: TFM on 17:15, 12 March 15
To start Deathsword one need to hit return of space or so, kinda unused. I'm not sure if I remember right though.  :laugh:

yes I have done this, its space to change to mode 1 and enter to start battle. Those work. But I cant control my hero , no key seem to work for him , though enemy attacks me and kills me.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 17:37, 12 March 15
Quote from: Devilmarkus on 16:56, 12 March 15
Sure, playing samplefiles should work, without problems, with PA.
But JavaCPC produces sound for itself. (AudioStream) which seems is not working well with PA.

I tested several audioformats. 8,16bit, big endian, little endian, etc... All tests ended in the same result...
Software synths like Yoshimi (http://sourceforge.net/projects/yoshimi/) work fine with PA. Maybe JavaCPC needs a way to set audio buffer size? A little lag between audio and video would be more acceptable than audio glitches I think.

Did you notice the Windows path problem (http://www.cpcwiki.eu/forum/emulators/javacpc-desktop-1-0-official-release/msg95257/#msg95257) with 2.9e? Please don't delete old versions of JavaCPC from Sourceforge so quickly before the new ones are fully tested on OS X/Linux.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:12, 12 March 15
Quote from: Morn on 17:37, 12 March 15
Did you notice the Windows path problem (http://www.cpcwiki.eu/forum/emulators/javacpc-desktop-1-0-official-release/msg95257/#msg95257) with 2.9e? Please don't delete old versions of JavaCPC from Sourceforge so quickly before the new ones are fully tested on OS X/Linux.  :)

I hope I fixed that (Anyhow: It's funny, that it threw an exception, as I try{} catch (Exception ex){} this feature.

Let JavaCPC check for updates please... (Or launch Update.jar)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: kilon on 21:58, 12 March 15
I have to say I am very impressed with this emulator. Its the most advanced emulator I ever used , has a tons of things inside it. I loved the database that allows you to download and loads games on the fly.

The Assembler and debugger look very powerful, I am sure they will come handy for learning how to do assembly with CPC. One problem I have , is that even though I can start the Assembler and Hex editor by double clicking the icons of the desktop I cannot do the same by clicking the relevant menu entries . Don't know why and the console does not report any errors. 



QuoteI hope I fixed that (Anyhow: It's funny, that it threw an exception, as I try{} catch (Exception ex){} this feature.

Let JavaCPC check for updates please... (Or launch Update.jar)

I launched Updater and it updated to 2.9f but it did not solve the problem.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 00:58, 13 March 15
Quote from: kilon on 21:58, 12 March 15
The Assembler and debugger look very powerful, I am sure they will come handy for learning how to do assembly with CPC. One problem I have , is that even though I can start the Assembler and Hex editor by double clicking the icons of the desktop I cannot do the same by clicking the relevant menu entries . Don't know why and the console does not report any errors. 

The menu entries are linked only, when you use it without desktop. Perhaps I link them for desktop, too... Did not check many menu items since I added the desktop.

So this is not really a bug but missing links ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 12:17, 13 March 15
By the way, the old JavaCPC 6.7 .jar works perfectly with PulseAudio! Zero audio glitches. My test disk is ACF (http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=233) with its doody title music as TastefulMrShip would undoubtedly call it.  ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 01:48, 14 March 15
I've looked a little closer at PulseAudio and JavaCPC 6.7. While 6.7 works, it creates a whole load of unused mono streams (over 30!) at startup. This is in addition to the stereo stream for synthesized output and two mono streams for samples. (You can see all this in pavucontrol.)

The PulseAudio maximum number of streams is 64, so JavaCPC 6.7, even though it uses something like 40 streams or so, stays below that total. JavaCPC Desktop 2.9 however tries to open even more streams, so the limit is eventually exceeded (which you can see in the PA log (https://wiki.ubuntu.com/PulseAudio/Log)):

(1980.361|   0.002) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.
(1980.365|   0.004) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.
(1980.369|   0.003) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.
(1980.374|   0.005) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.
(1980.381|   0.006) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.
(1980.502|   0.121) W: [pulseaudio] protocol-native.c: Warning! Too many connections (64), dropping incoming connection.

(...)

So the question is, why does JavaCPC open all these unused streams at startup?

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:39, 14 March 15
I'd guess because the integrated speech synthesizer. Perhaps each phoneme sample opens one stream?

Will check that...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 12:49, 14 March 15
Yes, it looks like JavaCPC 6.7 creates a mono stream for each sample. There are 33 wav samples in the 6.7 JAR and I counted 34 silent mono streams. So maybe my count was off by one.

JavCPC Desktop 2.9 only seems to have 22 WAVs in the JAR, so maybe you are right and it's the speech synth that causes the extra streams to be created.

I think a simple fix for PulseAudio would be a preference to disable sample loading entirely. Turning disk noises off does not make a difference, you still get all those streams.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Deckard on 16:03, 14 March 15
Good job Markus ! Keep on please ! :D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:35, 14 March 15
JavaCPC update to v2.9g...

Update from v2.9e to 2.9g changelog:

- GUI improvements for BDD databases, CPC-Power added, but no database is available yet!
- RAM-Management rewritten and 4MB RAM expansion added
- Fixed faulty start of JavaCPC on non-Windows OS (Hopefully)
- Internal samples will not playback when non-Windows OS is detected

Download: You know the download locations, don't you?
Ok, one is here:
https://sourceforge.net/projects/javacpc (https://sourceforge.net/projects/javacpc)

@Morn (http://www.cpcwiki.eu/forum/index.php?action=profile;u=316): I disabled the internal drive and other noisy samples. SPO256 emulation is only activated, when speech synthesis is selected in Misc. Settings
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 18:22, 14 March 15
New problem as 2.9g starts up. Only the bar with the restart button/frame rate etc. gets displayed, then it crashes after lots of null pointer exceptions:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.JEMU.update(JEMU.java:2918)
    at jemu.ui.JEMU$7$1.run(JEMU.java:2092)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:30, 14 March 15
Please run "Update.jar"... I changed JavaCPC.jar...
(I cannot tell you why this bug appeared, because it appeared @ a place, where all things already should have been defined?!?, but I coded something around it...)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 18:37, 14 March 15
Still broken after updating:

Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.PCKeyBoard.keyHandle(PCKeyBoard.java:304)
    at jemu.ui.JEMU.keyReleased(JEMU.java:3754)
    at java.awt.Component.processKeyEvent(Component.java:6477)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2820)
    at java.awt.Component.processEvent(Component.java:6293)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.JEMU.focusLost(JEMU.java:4508)
    at java.awt.Component.processFocusEvent(Component.java:6408)
    at jemu.ui.Display.processFocusEvent(Display.java:1930)
    at java.awt.Component.processEvent(Component.java:6272)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.SentEvent.dispatch(SentEvent.java:70)
    at java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:216)
    at java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:243)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:687)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.SequencedEvent.dispatch(SequencedEvent.java:128)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:40, 14 March 15
Quote from: Morn on 18:37, 14 March 15
Still broken after updating:

Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.PCKeyBoard.keyHandle(PCKeyBoard.java:304)
    at jemu.ui.JEMU.keyReleased(JEMU.java:3754)
    at java.awt.Component.processKeyEvent(Component.java:6477)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2820)
    at java.awt.Component.processEvent(Component.java:6293)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Display is 5,3 pixels
Display is 5,3 pixels
Display is 5,3 pixels
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.JEMU.focusLost(JEMU.java:4508)
    at java.awt.Component.processFocusEvent(Component.java:6408)
    at jemu.ui.Display.processFocusEvent(Display.java:1930)
    at java.awt.Component.processEvent(Component.java:6272)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.SentEvent.dispatch(SentEvent.java:70)
    at java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:216)
    at java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:243)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:687)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.SequencedEvent.dispatch(SequencedEvent.java:128)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)


Seems your JavaCPC doesn't create instance "Computer" (Which is the emulated CPC)
No idea, why this happens. On my pc works fine...
You could delete all JavaCPC settings and files in your user dir/JavaCPC/
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 18:47, 14 March 15
Nuked ~/JavaCPC, but it still doesn't work.

There is also an audio-related exception at startup. Maybe related to the 0,0 display size?

Start time: [Sat Mar 14 18:43:35 CET 2015]
executable is true
Avail mem is 494816000
init()
Frequency=1000000, adder=65536
Samplerate is 44100hz
JavaSound: 256 x 2
Line Buffer: 44100 for class com.sun.media.sound.DirectAudioDevice$DirectSDL
resync: start=0
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at jemu.core.device.Computer.createComputer(Computer.java:101)
    at jemu.ui.JEMU.setComputer(JEMU.java:4254)
    at jemu.ui.JEMU.start(JEMU.java:1191)
    at jemu.ui.JEMU.main(JEMU.java:1555)
    at jemu.ui.Main.launchClassic(Main.java:487)
    at jemu.ui.Main.main(Main.java:447)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 109
    at jemu.core.device.memory.DynamicMemory.freeMem(DynamicMemory.java:49)
    at jemu.system.cpc.CPCMemory.setRAMType(CPCMemory.java:422)
    at jemu.system.cpc.CPCMemory.<init>(CPCMemory.java:70)
    at jemu.system.cpc.CPC.initCPCType(CPC.java:1303)
    at jemu.system.cpc.CPC.<init>(CPC.java:1005)
    ... 10 more
DEBUG=false, PAUSE=false, LARGE=true
System Set: null
Audio Enabled
Floppysound Enabled
Notebook Disabled
Autosave Disabled
Display is 0,0 pixels
Display is 0,0 pixels
Window is 574 Pixels with & 60 Pixels height!
Starting debugger hidden
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at jemu.ui.JEMU.setFullSized(JEMU.java:7420)
    at jemu.ui.JEMU.update(JEMU.java:2909)
    at jemu.ui.JEMU$7$1.run(JEMU.java:2092)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:09, 14 March 15
Ok, found the problem... Erasing non.existing RAM isn't the best solution ;)

Compiling and will upload v2.9h ASAP... ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:13, 14 March 15
Please re-check for updates, as I added a bug  2.9h is the version, you need....Sorry for the problems!

https://sourceforge.net/projects/javacpc/ (https://sourceforge.net/projects/javacpc/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 19:29, 14 March 15
Better, but still buggy. When JavaCPC starts, I briefly see at least two (?) stereo streams in pavucontrol, but they disappear after a few seconds. I do get audio from JavaCPC, but it sounds extremely scratchy and distorted. Something is not right here, the streams should stay visible in pavucontrol as long as Java CPC runs.


Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:45, 14 March 15
Quote from: Devilmarkus on 19:13, 14 March 15
Please re-check for updates, as I added a bug  2.9h is the version, you need....Sorry for the problems!

https://sourceforge.net/projects/javacpc/ (https://sourceforge.net/projects/javacpc/)


Excellent! And the support of 4 MB RAM are a big step in the right direction.  :) :) :)

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:59, 14 March 15
Quote from: Morn on 19:29, 14 March 15
Better, but still buggy. When JavaCPC starts, I briefly see at least two (?) stereo streams in pavucontrol, but they disappear after a few seconds. I do get audio from JavaCPC, but it sounds extremely scratchy and distorted. Something is not right here, the streams should stay visible in pavucontrol as long as Java CPC runs.

JavaCPC needs at least 3 streams. For each PSG one... (AY, Dual-YM)

For scratchy sound: Try "64bit OS" in System-Settings...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 20:25, 14 March 15
Yes, 64 bit OS helped get the framerate back up to 50 fps. However audio is still initially scratchy, when I fiddle with the sample rate in audio settings there is clean audio for a minute or so, then it reverts back to scratchy (as the streams in pavucontrol disappear). Change sample rates again a few times, streams reappear, etc.

Also, in pavucontrol, during periods of clean-sounding audio the number of stereo streams from JavaCPC wildly fluctuates between 1 and 3. It seems to change literally every second or more frequently. As if JavaCPC is constantly creating and closing streams, or whatever it's called.

Quote from: Devilmarkus on 19:59, 14 March 15
JavaCPC needs at least 3 streams. For each PSG one... (AY, Dual-YM)
Is that new? I thought 6.7 only had one stereo stream and all the mono stuff for samples. At least I've never seen more than one stereo stream with 6.7.

I've looked at the PA log but have not found an explanation for the disappearing streams. Obviously 6.7 does something right that the later versions do not. E.g. in 6.7 I never had to do the initial dance with sample rates to get sound.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:37, 14 March 15
Quote from: Morn on 20:25, 14 March 15
Is that new? I thought 6.7 only had one stereo stream and all the mono stuff for samples. At least I've never seen more than one stereo stream with 6.7.

Since Version 2.6 (http://www.cpcwiki.eu/forum/emulators/javacpc-desktop-1-0-official-release/msg94077/#msg94077)

No idea about pulseaudio. I only know, it's crap.
You should check if there is not another audio-library for Java on Linux.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 21:01, 14 March 15
It might be useful to have a debug version of 2.9h with some

    System.out.println("***");

whenever a synth stream is created or destroyed in the JavaCPC code. Because the silent mono streams in 6.7 did not get disconnected like that. So I would assume the tearing down comes from JavaCPC, not PA.

It looks like Java already uses SDL

Line Buffer: 44100 for class com.sun.media.sound.DirectAudioDevice$DirectSDL

which is the gold standard for gaming and multimedia on Linux. I don't think another Java library would have this differently. Unfortunately 6.7 does not print much debug output, it would be interesting to compare this.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:06, 14 March 15
Quote from: Morn on 21:01, 14 March 15
It might be useful to have a debug version of 2.9h with some

    System.out.println("***");

whenever a synth stream is created or destroyed in the JavaCPC code. Because the silent mono streams in 6.7 did not get disconnected like that. So I would assume the tearing down comes from JavaCPC, not PA.

JavaCPC doesn't destroy these 3 streams!
Sadly I lost sources for v6.7


Quote from: Morn on 21:01, 14 March 15
It looks like Java already uses SDL

Line Buffer: 44100 for class com.sun.media.sound.DirectAudioDevice$DirectSDL

which is the gold standard for gaming and multimedia on Linux. I don't think another Java library would have this differently. Unfortunately 6.7 does not print much debug output, it would be interesting to compare this.

Sure, class com.sun.media.sound.DirectAudioDevice$DirectSDL is, what I use in JavaCPC's sound emulation. It's just a reference. I guess, pulseaudio's libraries are under the same path...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:49, 14 March 15
Together with Morn, I worked on a little workaround for Linux + Pulseaudio users.

You can get an update, when you launch Update.jar in your JavaCPC folder.

Added: In audio settings: Selector for audio buffersize
Changed: All 3 PSG AudioLines use the same frequency now.

(Windows users can wait for next release, it's not really necessary to update, so the version number did not change)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 12:21, 15 March 15
To debug the remaining issue with high CPU usage from kmix and pavucontrol, I've made a plot. Plotted is kmix CPU usage over time in seconds. I start JavaCPC at 10 s and quit at 90 s.

In the blue run, I do nothing in the emulator. Things go crazy at about 45 s. In the green run, I press Backspace all the time to get the terminal bell sound. Still, at about 65 s, the same thing happens. There is also an early spike at about 15 s in both cases that settles after a few seconds.

[attach=2]

So things start OK and only go south after about 30 s to a minute JavaCPC runtime.

P.S. This is also similar the behavior I saw with pure ALSA when I uninstalled PulseAudio. Fine for a minute or so, then sound degrades.

P.P.S. If I start three YouTube videos in different tabs in Chrome and all run simultaneously, I still *never* get more than 1% kmix CPU usage, even after several minutes.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 22:45, 15 March 15
After some fiddling with a debug build of kmix I think the Linux audio issue may be a buffer underrun in PulseAudio. At least somehow the sources get drained, which should not happen.

The command

pacmd list-sink-inputs|grep state

initially shows "state: RUNNING" for all 3 streams. When audio degrades after about a minute, they are "state: DRAINED".

I believe PA disconnects drained inputs. Kmix console output shows endless alternations of

kmix(4017) Mixer_PULSE::removeWidget: MixDevice 1 useCount= 7
kmix(4017) Mixer_PULSE::removeWidget: MixDevice 2 useCount= 6
kmix(4017) Mixer_PULSE::removeWidget: MixDevice 3 useCount= 5

followed by

kmix(4017) Mixer_PULSE::addDevice: Adding Pulse volume  "stream:7984" , isCapture=  false , isAppStream=  true = true , devnum= 2

This constant removing of mixers and adding them again is what causes kmix and pavucontrol to have high CPU usage.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 20:34, 16 March 15
It was March, 16th of 2015 that JavaCPC started developping is own consciousness, just after having incorporated CPCGamesCD...

(c) JavaCPCinator 2.0e
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:54, 16 March 15
Quote from: remax on 20:34, 16 March 15
It was March, 16th of 2015 that JavaCPC started developping is own consciousness, just after having incorporated CPCGamesCD...

(c) JavaCPCinator 2.0e

Really?  8)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: remax on 21:19, 16 March 15
Quote from: Devilmarkus on 20:54, 16 March 15
Really?  8)

Yeah, you know, just before JavaCPC_OS (c)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 21:34, 16 March 15
Quote from: phi2x on 21:25, 07 March 15
I remember that I pleaded for such a thing in the CPC community for a long time... without success unfortunately. :'(

But why no JSON?
XML is so 2005!!  ;)


Can you believe I've still got your email in my inbox? Every now and then I think about it but what we had discussed as hurdles largely remains...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Phi2x on 21:39, 16 March 15
.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 00:38, 17 March 15
Quote from: phi2x on 21:39, 16 March 15
JavaCPCnet begins to learn at a geometric rate. It becomes self-aware at 2:14 a.m. Eastern time, March 18th.
In a panic, they try to pull the plug.
JavaCPCnet fights back...
Of course it has been establlshed that Skynet will use 6502 assembly, so unless JavaCPC jumps languages we should be pretty safe.  :D


[attach=2]
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 20:13, 17 March 15
That's a 6502 emulator running on a CPC.  :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 23:20, 17 March 15
Quote from: TFM on 20:13, 17 March 15
That's a 6502 emulator running on a CPC.  :P
As this is JavaCPC, it's actually a 6502 emulator running inside Pacman running inside an Atari emulator running inside a Mandelbrot set running in a web browser. JavaCPC Desktop, the GNU Emacs of CPC emulators!  ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:09, 07 April 15
Update from v2.9h to 2.9j changelog:

- Bugfixes in Amstrad BDD Gui, CPC-Power should work now in testmode
- RolandRadio added to Desktop (Listen and enjoy the music from Roland Radio | Amstrad CPC music & very much more (http://rolandradio.net))
- Triple size option for display size added (Fuckings to GreatXerox :-P )
- Minor bugfix in FDC emulation

Download:
JavaCPC Desktop - Java CPC Emulator | SourceForge.net (http://sourceforge.net/projects/javacpc)
Or
http://cpc-live.com/download.php?view.2 (http://cpc-live.com/download.php?view.2)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Carnivius on 18:01, 07 April 15
Keep up the good work, sir.   This and WinApe have been used by me for years now. :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:57, 11 July 15
JavaCPC 2.9m is out...

Changelog:
- Fixed the Roland Radio player application
- Removed the automatic check for "Update.jar" and other resource files in userdir\JavaCPC\ (Users can check these files manually now in the help menu: "Check JavaCPC")
- Fixed some minor things in CRTC emulation (And probably added more bugs)
- Added CNGSoft`s compacted games to Amstrad BDD (Today César's server isn't reachable, but it hopefully comes back?!?)
- Fixed some problems in CPC emulation core (Nothing noticeable for users)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Zoe Robinson on 15:20, 12 October 15
Okay, I'm probably being a total noob here but since my CPC's monitor isn't working right now, I'm back on emulators for the time being. I've just come across a problem I've not encountered in the past because up to now, I've not needed to use the "copy" key.


Using JavaCPC for Mac on an English keyboard, what is the "Copy" key mapped to, please? I don't seem to be able to find it.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 15:31, 12 October 15
That's the old problem. All other emulators have it on that key left of space, but for JavaCPC it's probably some key somewhere right up the keyboard.

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:11, 12 October 15
Nothing more simple than that:
Copy key is mapped to "insert" key... ;)

And you, @TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179), should know this :P As we spoke often about it  :picard: :doh: :-*
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:10, 12 October 15
Well it still gives me problems. But I've been right as far as I remembered that it is a key somewhere right up there.


Now, it would be nice if you could move the COPY key where it belongs.  :-* :-* :-*
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:15, 12 October 15
Quote from: TFM on 17:10, 12 October 15
Now, it would be nice if you could move the COPY key where it belongs.  :-* :-* :-*

As you see, your PC has no Copy key... And the ALT key is already used for other things...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:18, 12 October 15
Quote from: Devilmarkus on 17:15, 12 October 15
As you see, your PC has no Copy key... And the ALT key is already used for other things...


The Alt key is supposed to be the copy key, it has no good function anyway, just takes control off the CPC and one ends up in some menues and activate a function not wanted. Then chaos begins...  :o
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:20, 12 October 15
Quote from: TFM on 17:18, 12 October 15
Then chaos begins...  :o

Just, when you try to code C64 things on the CPC...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:04, 12 October 15
Haha! I'm the last in the universe who would do that.  :P :P :P  But why not adding a poll and ask people what they want? Are you going to do it, or shall I?  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:49, 12 October 15
No need to create a poll, as the key stays on Insert...
(I hate "consuming keyboard events" just for a single key, just to avoid popping up the menu)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Zoe Robinson on 20:41, 12 October 15
Quote from: Devilmarkus on 16:11, 12 October 15
Nothing more simple than that:
Copy key is mapped to "insert" key... ;)

Ah. I don't think an iMac keyboard has an "insert" key...

Apple Keyboard - Wikipedia, the free encyclopedia (https://en.wikipedia.org/wiki/Apple_Keyboard#/media/File:Apple-wireless-keyboard-aluminum-2007.jpg)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 20:52, 12 October 15
There we have the problem! Come on Markus, don't be so bully. Can't be a problem to move one key to another. Or at least provide some kind of option to do that.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:31, 12 October 15
Quote from: Zoe Robinson on 20:41, 12 October 15
Ah. I don't think an iMac keyboard has an "insert" key...

Apple Keyboard - Wikipedia, the free encyclopedia (https://en.wikipedia.org/wiki/Apple_Keyboard#/media/File:Apple-wireless-keyboard-aluminum-2007.jpg)

Will map it to ALT key, too... Gimme some minutes to add it...

Edit: Also should work with CLEAR key on Mac...

Quote from: TFM on 20:52, 12 October 15
There we have the problem! Come on Markus, don't be so bully. Can't be a problem to move one key to another. Or at least provide some kind of option to do that.  :)

Nah just you have a problem  :laugh: :-* I was just kidding :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 21:48, 12 October 15
@Zoe: Please let JavaCPC check for updates.... (menu: Help -> Check for update) and do internal update to v2.9o
Edit: If automatic update doesn`t work on Mac, please run Update.jar from install folder...
@All who wants ALT key, mapped as copy, do the same :P
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179): Don't check for updates :D :laugh: :-* :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 21:59, 12 October 15
YOU ... SHALL ... NOT ... PASS .... over the copy key to any other key than the key left of space.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Zoe Robinson on 22:32, 12 October 15
Thank you!  ;D ;D ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: freemac on 10:47, 13 October 15
Quote from: Devilmarkus on 16:11, 12 October 15
Nothing more simple than that:
Copy key is mapped to "insert" key... ;)

Same as MiST-board Amstrad core  8)

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:50, 22 April 16
JavaCPC update to v2.9.20:
http://sourceforge.net/projects/javacpc/ (http://sourceforge.net/projects/javacpc/)
Update from v2.9m to 2.9.20 changelog:

- Fixed FDC emulation (For some reason, games like Fres Fighter Turbo did not work)
- Bugfix in Assembler: READ "filename.asm" / INCLUDE "filename.asm" fixed.
- Minor bugfixes in GUI
- Added amstrad.eu chat
- Several minor fixes / improvements
- CPC display is now zoomable when you use your mousewheel
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 17:17, 22 April 16
nothing here...  :-X
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:26, 22 April 16
Quote from: TFM on 17:17, 22 April 16
BEWARE!!! This will install Windows 10 on your computer without you being asked!  :o

Tsssssk.... Should you tell everything?  :laugh: :P
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:22, 22 April 16
Uhm... sorry!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:28, 26 May 16
Hi folks and freaks,
I updated JavaCPC today to v2.9.3 ;)

Update from v2.9.20 to 2.9.3 changelog:

- Added application "RasterPaint". Convert pictures to rasterized MODE 1 screens.
- Fixed "READ" , "INCLUDE" instructions in Z80 assembler
- Added "REPEAT", "REND" instructions in Z80 assembler
- Fixed GateArray raster change positions (More or less)
- Fixed a crash in CRTC / GA emulation
- Added several new bugs and problems :-P




Well what is RasterPaint?
As you know, many well skilled demo coders do raster screens or effects in MODE 1.
Raster screens make use of the complete color palette regarding some limitations.
Now everybody (with little assembler skills recommended) can create their own raster screens.
You can import a 320x200 pixel picture (PNG, JPEG, BMP, GIF) and convert it into a raster screen in real time.

[attach=2]

When done, you can export the needed assembly code, make some modifications as you wish and you are done. Just assemble this, and save to DSK.

[attach=3]

While developing the routines, we figured out, that even the old CPC models may have differences in raster timings.
You can see here a test result from real CPC 464 (Thanks to mr_lou) which shows accurate rasters and from real 6128, which shows clearly that the raster shifts.

[attach=4]

Because this "bug" I added the first assembler line:

CPCPlus EQU 0

This should be set to 1 to view raster screens properly on PLUS and some older CPC.

(No auto-detection!)

When you like to code a slideshow: Make sure, you assemble the raster routine twice, with EQU set to 0 and 1.
Erase the last 2 lines (READ "xxxx_table.asm" and READ "xxxx_screendata.asm")
Then assemble first code twice, table data and screen data only needs to assembled once per image.

Have Fun ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Gryzor on 13:37, 26 May 16
This looks superb... if indeed it works, let's hope we see results in future releases :) :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:39, 26 May 16
Of course it works!
Taken from real CPC: (with old routine! Now it looks more accurate!)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:43, 26 May 16
Forgot to post how it looks like now (No screen from real CPC yet, but from Editor.... It looks 1:1 the same)

[attachimg=1]

Some more:

Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 14:00, 26 May 16
Quote from: Devilmarkus on 13:28, 26 May 16

CPCPlus EQU 0

This should be set to 1 to view raster screens properly on PLUS and some older CPC.
BTW, set it to 1 on CPCs with costdown CRTC or KC Compact (interesting to see if it works on Kc compact I'll try it at the weekend if I remember - should be ok though). With these 3 the screen position on the monitor is the same and is different to other CPCs. (I've tested it on my CM14 and marked where the border is with a marker pen on the glass and it's different ).

I'll do some testing on my other CPCs to see if the screen position doesn't change but the timing does.

BTW Nice work Markus! :)

I laughed when I read this:

Quote
- Added several new bugs and problems :-P
:D Nice joke.




Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:06, 26 May 16
One 6128, we tested the routine, was def. a low cost CPC.

[attach=2]

The other was the one from dlfrsilver. He is sure his CPC is no low cost CPC.

Both 6128 shown the same result!

The 464 was from mr_lou (with danish roms) No idea, which GA and CRTC type is it...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 16:58, 26 May 16
@Devilmarkus (http://www.cpcwiki.eu/forum/index.php?action=profile;u=93) : Now, these nice raster-paint pictures... are they marked as raster paint picture somehow? Do they have a special length or file extension?


Asking for the purpose of a tool which can load and recognize them, so being able to switch rasters on. :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:23, 26 May 16
Its simple:
Just assemble the 3 pieces of generated ASM code, then do a CALL &8000.

Total noobs like me can save all 3 parts as 1 single binary from BASIC when assembled: SAVE"SCREEN",B,&4000,&60D0
Then just do:
10 MODE 1:MEMORY &3FFF:LOAD"SCREEN.BIN":CALL &8000
Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 18:52, 26 May 16
Ich glaub wir reden an einander vorbei... ;)

Wie sieht denn so ein Raster screen aus? Sind das auch 17 KB, oder wie ich aus deinem letzten Post lese sind das zwei Dateien?

Ich will ja nix assemblieren, ich will so einen Screen laden und anzeigen können. Wie kann man erkennen, dass es ein Raster-Screen ist und kein normaler CPC Screen.

Sorry für die dumme Fragerei, aber das ist eben alles ganz neu.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:03, 26 May 16
The screen itself is just a 16kb screen (C000-FFFF)

This is how it looks without raster effect:

[attachimg=1]

So I apply raster code + color table and CALL &8000 (In the generated code, screen goes to &4000 and LDIRs to C000 when CALL &8000)

[attachimg=2]
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:08, 26 May 16
For those who wants to assemble:
JavaCPC can do it (latest update from today) or WinApe. (Set EQU to 1 in first code line!, WinApe needs CRTC 3 and plus emulation enabled)

First code: Raster code:

;-----------------------------------------
;    JavaCPC RasterPaint Assembly code
; Authors: Oliver M. Lenz, Markus Hohmann
;-----------------------------------------

org &8000  ; CALL &8000

CPCPlus EQU 0 ; Set this to 1 for CPC Plus / Newer CPC Models.

di

ld      A,0        ; Define Background Color
ld      B,0
ld      C,0
call    &BC32

ld      DE,&C000    ; Copy Pixel Data to Screen
ld      HL,&4000
ld      BC,&4000
ldir

im    1
ei

    newframe:
ld    HL,(&0038)
ld    (rstsave),HL
ld    HL,&C9FB
ld    (&0038),HL

ld     B,&F5
.waitvsync
in    A,(C)
rra
jp    nc,waitvsync


halt
halt

di
ld    DE,&1702
.waitforstart
dec    D
jr    nz,waitforstart
dec    E
jr    nz,waitforstart

nop
IF CPCPlus
nop
ENDIF

ld    BC,&7F01
out    (C),C        ; select pen 1
ld    HL,&9900
ld    DE,&0203
ld    A,&01

.nextline
repeat 200
outi            ; 5
outi            ; 5
outi            ; 5
outi            ; 5
outi            ; 5
outi            ; 5
outi            ; 5
outi            ; 5
            ; 40

out    (C),D        ; 4    ; pen 2
outi            ; 5
out    (C),E        ; 4    ; pen 3
outi            ; 5
out     (C),A        ; 4    ; pen 1
ld    B,&7F        ; 2
            ; --
            ; 64 microseconds
rend

ld    HL,(rstsave)
ld    (&0038),HL
ei

LD A,&45 ; from &40 to &49 with bdir/bc1=01
LD D,0
LD BC,&F782 ; PPI port A out /C out
OUT (C),C
LD BC,&F40E ; Select Ay reg 14 on ppi port A
OUT (C),C
LD BC,&F6C0 ; This value is an AY index (R14)
OUT (C),C
OUT (C),D ; Validate!! out (c),0
LD BC,&F792 ; PPI port A in/C out
OUT (C),C
DEC B
OUT (C),A ; Send KbdLine on reg 14 AY through ppi port A
LD B,&F4 ; Read ppi port A
IN A,(C) ; e.g. AY R14 (AY port A)
LD BC,&F782 ; PPI port A out / C out
OUT (C),C
DEC B ; Reset PPI Write
OUT (C),D ; out (c),0
bit 7,A
jp    nz,newframe
ret

.rstsave
db      0,0



2nd code: Raster color table:

ORG &9900
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&5C,&4C
DB &4B,&4B,&4B,&4B,&4B,&4B,&4B,&4B,&4C,&47
DB &4B,&4B,&4B,&4B,&4E,&4B,&4B,&4B,&4E,&47
DB &4B,&4B,&4B,&40,&4C,&4B,&4B,&4B,&4C,&4E
DB &4B,&4B,&4B,&40,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&5C,&5C,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&5C,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&5C,&4B,&4B,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&4B,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&4B,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&4B,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&4B,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&5C,&4B,&4B,&4C,&40
DB &4B,&4B,&4B,&4B,&4B,&4B,&5C,&4B,&4C,&40
DB &4B,&4B,&4B,&47,&4B,&4B,&5C,&4B,&4C,&40
DB &4B,&4B,&4B,&4E,&4B,&4B,&5C,&4B,&4C,&40
DB &4B,&4B,&5C,&47,&4B,&4B,&47,&4B,&4C,&40
DB &4B,&4B,&5C,&4E,&4B,&5C,&5C,&4B,&5C,&4C
DB &4B,&4B,&4B,&4E,&4B,&4B,&40,&4B,&4C,&40
DB &4B,&4B,&5C,&4E,&4B,&5C,&5C,&5C,&4C,&4E
DB &4B,&4B,&5C,&5C,&4B,&4B,&5C,&5C,&4C,&47
DB &4B,&5C,&4E,&5C,&4B,&4E,&5C,&4B,&4C,&4E
DB &4B,&5C,&47,&5C,&4B,&47,&5C,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&4B,&4E,&5C,&4B,&4C,&4E
DB &4B,&47,&47,&4B,&4B,&47,&5C,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&5C,&4E,&5C,&4B,&4C,&4E
DB &4B,&47,&4B,&4B,&4B,&47,&5C,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&40,&4E,&4E,&4B,&4C,&47
DB &4B,&4B,&4E,&4B,&4E,&4E,&5C,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&4B,&4B,&4B,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&4B,&4E,&4E,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&4B,&4E,&4E,&4B,&5C,&4C
DB &4B,&47,&47,&4B,&4B,&4E,&47,&4B,&4C,&47
DB &4B,&4E,&4E,&4B,&4B,&5C,&4E,&4B,&4C,&47
DB &4B,&4E,&5C,&4B,&4B,&4E,&4E,&4B,&4C,&40
DB &5C,&4E,&4E,&4B,&4B,&5C,&47,&4B,&4C,&40
DB &5C,&4E,&4E,&4B,&4B,&5C,&47,&4B,&4C,&40
DB &5C,&4E,&4E,&4B,&5C,&5C,&4E,&4E,&4C,&40
DB &5C,&4E,&4E,&4B,&5C,&5C,&4E,&4E,&4C,&40
DB &5C,&4E,&4E,&4B,&5C,&5C,&4E,&4E,&5C,&4C
DB &4B,&40,&40,&4B,&40,&40,&40,&43,&4C,&40
DB &47,&4B,&5C,&4B,&5C,&5C,&43,&43,&4C,&40
DB &4B,&4B,&4B,&4B,&5C,&4B,&5C,&4B,&4C,&40
DB &4B,&4B,&5C,&4B,&5C,&5C,&5C,&5C,&4C,&40
DB &4E,&4B,&5C,&4B,&5C,&5C,&47,&47,&4C,&40
DB &4E,&4B,&5C,&4B,&5C,&5C,&5C,&4B,&4C,&40
DB &4E,&5C,&5C,&4B,&5C,&5C,&5C,&4B,&4C,&40
DB &5C,&4E,&5C,&4B,&5C,&5C,&5C,&4B,&4C,&40
DB &5C,&4E,&5C,&4B,&5C,&4E,&4B,&4B,&4C,&40
DB &5C,&4E,&5C,&4B,&5C,&4E,&5C,&4B,&4C,&40
DB &5C,&5C,&5C,&4B,&5C,&4E,&5C,&5C,&5C,&4C
DB &4B,&40,&40,&4B,&4B,&40,&40,&4B,&5C,&40
DB &4B,&4E,&4B,&4B,&4B,&4E,&4C,&4B,&5C,&40
DB &4B,&4C,&4B,&4B,&4B,&4B,&4C,&4B,&5C,&40
DB &4B,&4C,&4E,&4B,&4B,&4E,&4C,&4B,&5C,&40
DB &4B,&4C,&43,&4B,&4B,&43,&4C,&4B,&5C,&40
DB &4B,&4C,&4E,&4B,&4B,&4E,&4C,&4B,&5C,&40
DB &4B,&43,&4B,&4B,&4B,&4E,&4B,&4B,&5C,&40
DB &4B,&4E,&4B,&4B,&4B,&4E,&4B,&4B,&5C,&40
DB &4B,&4E,&4B,&4B,&4B,&4E,&4B,&4B,&5C,&40
DB &4B,&4E,&4B,&4B,&4B,&4E,&4B,&4B,&40,&4B
DB &43,&4E,&4E,&43,&43,&4E,&43,&43,&40,&4B
DB &43,&4E,&4E,&43,&43,&4E,&43,&43,&40,&4B
DB &43,&4E,&4E,&43,&43,&4E,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&5C,&43,&43,&43,&5C,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&40,&4B
DB &43,&43,&43,&43,&43,&43,&43,&43,&54,&4B


Edit: Cannot post pixeldata, here it comes as attachment....

Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:21, 26 May 16
Ok, understood so far. Back to my question:  ;D


How can I tell if this is a regular 17 KB screen or a raster screen?

Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:42, 26 May 16
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179): Simple: You cant. But you perhaps know it, when you assembled it ;)



Little slideshow... 8 Screens, I converted on the fly and assembled..

RUN"DISC" and enjoy ;)

Oh and please post photos from your real CPCs, guys ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 23:37, 26 May 16
I posted the disk on Facebook, too... ;)
Somebody (some polish body)  :P then posted this screen:

[attachimg=1]

Well my brain got stuck in the first moment.. I asked him, what CPC he has....

Minute later:

[attachimg=2]

Ok, first screen was taken from Caprice32, 2nd from WinApe...

But, trust me, the first moment I thought "WTF??????????"
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Executioner on 00:25, 27 May 16
Quote from: Devilmarkus on 14:06, 26 May 16
One 6128, we tested the routine, was def. a low cost CPC.

[attach=2]


Both my 6128's show the same result as the 464, one has a real CRTC 0 and the other a CRTC 1 and both have separate Gate Array chips. The first split is half way through the "4". The Plus shows the split part way through the "5".
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 12:35, 30 May 16
Made a raster slideshow for testings... Works on my real CPC 6128 (CRTC Type 1) and in latest JavaCPC.
RUN"DISC" and enjoy  ;)
RasterPaint in JavaCPC needs an update, will follow ASAP.
(Old routine was bad, as it also affected the PPI port and also wrote crappy things to FDC...)
8 raster changes on PEN 1 for each line in MODE 1,
Every line color change for PEN 2 and 3  8)

HFE file included in this ZIP ;)

Thanks to @Executioner (http://www.cpcwiki.eu/forum/index.php?action=profile;u=17) for the hint in my assembler routine!
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:03, 30 May 16
here the screens for those who cannot view them (Because using bad emulator, or dont have a CPC)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 14:56, 30 May 16
JavaCPC update to v2.9.4 is available now on Sourceforge.

Update from v2.9.3 to v2.9.4 changelog:

- Fixed the raster code for RasterPaint. Old code caused bad behavior in FDC and PPI ports.

- Reimplemented port-behavior problems for FDC emulation. (I once disabled them, for internal testings)

- RasterPaint: Function added to export the raster screens directly as executable binaries.
- RasterPaint: Raster table and screen pixeldata are simply crunched now (When export binaries)
- Removed "New CPC / Old CPC" setting. For CPC Plus / New CPC you need the source file. By default it renders for old CPC.
- Added: RasterScreen.asm for developers (To assemble for New generation CPCs, too)

Download here: http://sourceforge.net/projects/javacpc/ (http://sourceforge.net/projects/javacpc/)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: roudoudou on 17:49, 30 May 16
Quote from: Devilmarkus on 23:37, 26 May 16
Ok, first screen was taken f rom Caprice32, 2nd from WinApe...

But, trust me, the first moment I thought "WTF? ??? ??? ??? "


I thought latest versions of Winape where accurate for splitrasters...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 18:01, 30 May 16
Quote from: roudoudou on 17:49, 30 May 16

I thought latest versions of Winape where accurate for splitrasters...

Seems, not for OUTI?!?

WinApe rasters 8 pixels too late here. (Or too early, depends how you see it)
We made several tests with my raster routine. JavaCPC and real CPC, CRTC 1, shows it properly...

Title: Re: JavaCPC Desktop 1.0 official release
Post by: TFM on 19:18, 30 May 16
Great achievement Markus! You are one of the few who actually do something for our lovely CPC.  :) Hope that somebody has the time to add the new screens to games and upload them.  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: mr_lou on 19:31, 30 May 16
Looking forward to see some awesome raster MODE 1 title screens for future games!  :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 10:46, 04 June 16
Why is JavaCPC offering an "upgrade" from 2.9.21 to 2.9.4 today? That sounds like a downgrade to me. Or am I missing something about version numbers here?  ???
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Dagger on 11:00, 04 June 16
No, 2.9.4 is higher than 2.9.21. Look it as 2.9.40
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 11:38, 04 June 16
2.9.21 is like I just changed 1-2 lines of code between 2.9.2 and 2.9.21 (No big deal here)

I dont post every update here. Too lazy ;)

Edit: Also the version numbers 2.9.x I used to troll Greatxerox, as he is still waiting for v3.0 :P :laugh: 8)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Morn on 13:11, 04 June 16
Quote from: Devilmarkus on 11:38, 04 June 16
2.9.21 is like I just changed 1-2 lines of code between 2.9.2 and 2.9.21 (No big deal here)
2.9.2-1 might have been better then. Or maybe 2.9.2b. But I guess if the updater app is happy with it, I won't nitpick too much. It just looked a bit strange.  ;D
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 13:35, 04 June 16
The updater is happy with every number. It's just comparing your existing version with the latest on server... So I could release the next version as 0.0001 or so ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 15:02, 04 June 16
I ran some tests but I went back to the simplified test.

I tested on my 6128 type 0, 6128 type 1, 6128 type 2, GX4000 and 464Plus in these tests.

TODO: 664, 464 type 4, 464 type 0, KC Compact.

Attached is the code with comments. It's the raster split code with a hard coded table, letters along the top.

Warning all tests done on aging CM14. I didn't change the code for Plus/CPC. I left it for CPC. I did test in mode 1 and 2.

Noticeably colour changes are happening on pixel boundaries and do not correlate exactly with us cycles.

Sorry no photos. You need to run it on a real cpc to compare or perhaps JavaCPC.


Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 15:32, 04 June 16
Nice work!

Could you adapt my latest raster routine to your test, too, please? ;)

        ;-----------------------------------------
        ;    JavaCPC RasterPaint Assembly code
        ; Authors: Oliver M. Lenz, Markus Hohmann
        ;-----------------------------------------

        org    &2000  ; CALL &2000

        OldCPC EQU 1 ; Set this to 0 for CPC Plus / Newer CPC Models.


doRaster:
        di
        im        1
        ei

newframe:
        ld        HL,(&0038)
        ld        (rstsave),HL
        ld        HL,&C9FB
        ld        (&0038),HL

        ld        B,&F5
.waitvsync
        in        A,(C)
        rra
        jp        nc,waitvsync


        halt
        halt

        di
        ld        DE,&1702
.waitforstart
        dec        D
        jr        nz,waitforstart
        dec        E
        jr        nz,waitforstart

        nop
        IF        OldCPC
        nop
        ENDIF

        ld        BC,&8080
        out        (C),C  ; select pen 1
        ld        HL,TableData
        ld        DE,&0203
        ld        A,&01

.nextline
repeat 200
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        ;        40

        out        (C),D  ; 4 ; pen 2
        ld        B,C  ; 1
        outi        ; 5
        out        (C),E  ; 4 ; pen 3
        outi        ; 5
        out        (C),A  ; 4 ; pen 1
        ld        B,C  ; 1
        ;        --
        ;        64 microseconds
rend

        ld        HL,(rstsave)
        ld        (&0038),HL
        ei

        LD        A,&45 ; from &40 to &49 with bdir/bc1=01
        LD        D,0
        LD        BC,&F782 ; PPI port A out /C out
        OUT        (C),C
        LD        BC,&F40E ; Select Ay reg 14 on ppi port A
        OUT        (C),C
        LD        BC,&F6C0 ; This value is an AY index (R14)
        OUT        (C),C
        OUT        (C),D ; Validate!! out (c),0
        LD        BC,&F792 ; PPI port A in/C out
        OUT        (C),C
        DEC        B
        OUT        (C),A ; Send KbdLine on reg 14 AY through ppi port A
        LD        B,&F4 ; Read ppi port A
        IN        A,(C) ; e.g. AY R14 (AY port A)
        LD        BC,&F782 ; PPI port A out / C out
        OUT        (C),C
        DEC        B ; Reset PPI Write
        OUT        (C),D ; out (c),0
        bit        7,A
        jp        nz,newframe
        ret

.rstsave
        db        0,0

TableData:
repeat 200
defb &40,&43,&4b,&4a,&4c,&50,&52,&59,&5a,&48
rend
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 16:06, 04 June 16

Quote from: Devilmarkus on 15:32, 04 June 16
Nice work!

Could you adapt my latest raster routine to your test, too, please? ;)

Will do. Just tried the previous code on my 464 type 0 with Vortex ram expansion and the colours are going crazy! They are not even still. The pattern is almost like a 1960's wallpaper!
Ouch!

EDIT: New code is working :)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 16:17, 04 June 16
New code should not corrupt PPI / FDC and other shared ports anymore... ;)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 16:26, 04 June 16
Quote from: Devilmarkus on 16:17, 04 June 16
New code should not corrupt PPI / FDC and other shared ports anymore... ;)
I set OldCPC to 0 to match same timings as previous test.

results:
464 type 0, vortex ram expansion, not sure which GA. Same as 6128 for mode 1 and mode 2.
EDIT: Confirming: mode 1: grey split mid #, yellow/red mid 2.

464 type 4, same border position as plus. But colour changes are different for mode 2. The colours are absolutely perfect on the microsecond. On Plus there is a 1 pixel line of mode 2 on the ( but not on 464 type 4. It's a mode 2 pixel later it seems.

Mode 1 (new code): grey split mid $, just before vertical of $ character. Yellow to red is mid 3. 1 pixel after middle horizontal "line" of 3.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 16:47, 04 June 16
kc compact. Screen is 1 char to the left same as plus and type 4.

mode 1 same as cpc6128.

grey split ends mid #, closer to 2nd vertical of #. yellow to red mid 2.

mode 2:

now this is interesting.

I connect my kc compact to the cm14 via a scart cable and there is some ghosting and the image is a bit blurred BUT I think this really does happen:

at the point of colour change the kc compact repeats the last pixel.
For yellow to red transition, D is yellow, E is red. But last pixel line of D repeats. So it is a bit fatter.

On the grey, the split has grey & and yellow ', and again here 1 pixel line repeats.

So... mode 2 split rasters is fun.

(Talking about kc compact and split rasters: if you change the border colour, you get one pixel of black I think where the transition happens!)

Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 16:52, 04 June 16
summary of my machines:

- kc compact, 6128's with 40010 and 464 with 40007 (not opened to see yet) are all the same or at least are the same on my monitor.

- 464 plus, gx4000 and 464 type 4 are the same or at least I can't see easily with my monitor for mode 1

- differences in mode 2 colour changes that I think can't be corrected by 1 NOP adding or removing.
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:30, 04 June 16
Could you take some photos, too, please?
Title: Re: JavaCPC Desktop 1.0 official release
Post by: arnoldemu on 17:34, 04 June 16
Quote from: Devilmarkus on 17:30, 04 June 16
Could you take some photos, too, please?
yes I will do.

The battery had run out on the camera. :(
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 17:47, 04 June 16
Changed your code a bit:

        ;;        I did not use CPCPlus equ 1

        ;;        MODE 2 results

        ;;        GX4000:
        ;;        white, pastel yellow,bright white, bright yellow, bright red, blue, green, sea green
        ;;        border is pastel yellow.
        ;;        Text is  !"#$% etc
        ;;        Grey extends up to but not including last pixel of "(" (i.e. there are two dots which are the final
        ;;        pixel graphics of the bracket.). The dots are pastel yellow.and are a single mode 2 pixel in size.
        ;;
        ;;        464 Plus: same as GX4000
        ;;
        ;;        6128 type 2 CRTC. believed 40010. Edge connectors
        ;;        border shifted compared to Plus. by 1 CRTC char
        ;;        grey split not so obvious, bright yellow split shows two dots from first pixel of E. Remainder of E is bright red.
        ;;
        ;;        6128 type 1 CRTC. believed 40010. Has German connectors.
        ;;        Seems same as type 2, but less obvious probably because of ghosting on my monitor.
        ;;
        ;;        6128 type 0 CRTC. believed 40010. Edge connectors
        ;;        same as type 2.
        ;;
        ;;        MODE 1 results:

        ;;        GX4000
        ;;        split is start of $ symbol. First mode 1 pixels of the graphics are grey, rest
        ;;        is pastel yellow
        ;;        red to blue happens ~2 mode 1 pixels into the 8
        ;;
        ;;        yellow to red happens 2 pixels into the 3

        ;;        6128 type 2 CRTC
        ;;        same as type 0

        ;;        6128 type 1 CRTC.
        ;;        same as type 0, 2 seems to be 3 mode 1 pixels in. (strangely with my dodgy screen
        ;;        this is the only one where there is flicker at the grey and pale yellow transition and
        ;;        bright green and pastel green. No idea why).
        ;;
        ;;        6128 type 0 CRTC.
        ;;        grey split mid #, bright yellow split mid 2, bright white split mid -.
        ;;


        ;-----------------------------------------
        ;        JavaCPC RasterPaint Assembly code
        ;        Authors: Oliver M. Lenz, Markus Hohmann
        ;-----------------------------------------

        org        &8000  ; CALL &8000

        OldCPC        EQU 1 ; Set this to 0 for CPC Plus / Newer CPC Models.
        MODE2        EQU 1
start:

        ld        a,1 ;; MODE 1!
        if        MODE2
        ld        a,2 ;; MODE 2!
        endif
        call        &bc0e

        ld        hl,&c000
        ld        e,l
        ld        d,h
        inc        de
        ;;ld        (hl),&ff
        ld        (hl),%11110000
        if        MODE2
        ld        (hl),&ff
        endif
        ld        bc,&3fff
        ldir

        ;;ld        b,80
        ld        b,40
        if        MODE2
        ld        b,80
        endif
        ld        a,' '
s1:
        push        bc
        push        af
        call        &bb5a
        pop        af
        inc        a
        cp        127
        jr        nz,s2
        ld        a,' '
s2:
        pop        bc
        djnz        s1

        di
        im        1
        ei
        ld        bc,&7f10
        out        (c),c
        ld        bc,&7f43
        out        (c),c

newframe:
        ld        HL,(&0038)
        ld        (rstsave),HL
        ld        HL,&C9FB
        ld        (&0038),HL

        ld        B,&F5
waitvsync:
        in        A,(C)
        rra
        jp        nc,waitvsync


        halt
        halt

        di
        ld        DE,&1702
waitforstart:
        dec        D
        jr        nz,waitforstart
        dec        E
        jr        nz,waitforstart

        nop
        IF        OldCPC
        nop
        ENDIF

        ld        BC,&8080
        out        (C),C        ; select pen 1
        ld        HL,colours
        ld        DE,&0203
        ld        A,&01

.nextline
        rept 200
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        ;        40

        out        (C),D  ; 4 ; pen 2
        ld        B,C  ; 1
        outi        ; 5
        out        (C),E  ; 4 ; pen 3
        outi        ; 5
        out        (C),A  ; 4 ; pen 1
        ld        B,C  ; 1
        ;        --
        ;        64 microseconds
endm

        ld        HL,(rstsave)
        ld        (&0038),HL
        ei

        LD        A,&45 ; from &40 to &49 with bdir/bc1=01
        LD        D,0
        LD        BC,&F782 ; PPI port A out /C out
        OUT        (C),C
        LD        BC,&F40E ; Select Ay reg 14 on ppi port A
        OUT        (C),C
        LD        BC,&F6C0 ; This value is an AY index (R14)
        OUT        (C),C
        OUT        (C),D ; Validate!! out (c),0
        LD        BC,&F792 ; PPI port A in/C out
        OUT        (C),C
        DEC        B
        OUT        (C),A ; Send KbdLine on reg 14 AY through ppi port A
        LD        B,&F4 ; Read ppi port A
        IN        A,(C) ; e.g. AY R14 (AY port A)
        LD        BC,&F782 ; PPI port A out / C out
        OUT        (C),C
        DEC        B ; Reset PPI Write
        OUT        (C),D ; out (c),0
        bit        7,A
        jp        nz,newframe
        ret

rstsave:
        db        0,0

colours:
        rept 200
        defb        &40,&43,&4b,&4a,&4c,&50,&52,&59,&5a,&48
endm

        end start


(JavaCPC users please replace REPT and ENDM to REPEAT and REND)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Axys on 17:30, 01 July 16
Very good work Devilmarkus.  :)

I use JavaCPC with Ubuntu 16.04 and I have some problems / requests.

The main problem is the keyboard. I use a french keyboard. In the emulator letters are good. But all others characters are bad.
Numeric keys are mapped to Fx keys (F1, F2, ...).
It's impossible to do most of special characters (", #, ...).

Minor bugs:
when closing GFXViewer (click on cross), JavaCPC Desktop is closed (no error in the terminal).
Manage DSK can't open DSK created with JavaCPC (Disk not directoryable / readable).

Request:
Is it possible to add a directive in assembler: incbin ?

Thx
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 19:50, 12 July 16
Quote from: Axys on 17:30, 01 July 16
The main problem is the keyboard. I use a french keyboard. In the emulator letters are good. But all others characters are bad.
Numeric keys are mapped to Fx keys (F1, F2, ...).
It's impossible to do most of special characters (", #, ...).

This should work ok, as I implemented French keyboard translation, too. (Developed under Windows)
If not, I can't help you here, sorry.

Quote from: Axys on 17:30, 01 July 16
Minor bugs:
when closing GFXViewer (click on cross), JavaCPC Desktop is closed (no error in the terminal).

Fixed that.

Quote from: Axys on 17:30, 01 July 16
Manage DSK can't open DSK created with JavaCPC (Disk not directoryable / readable).

ManageDSK doesn't work under Linux / Mac OS. It makes use of CPCXFS.exe which only runs under windows.

Quote from: Axys on 17:30, 01 July 16
Request:
Is it possible to add a directive in assembler: incbin ?


JavaCPC update 2.9.5b is out. (b because I now just read about your request about the GFXViewer problem)
Fixes so far:
- Fixed INCBIN instruction in assembler.
- Improved assembler speed up to 300% (Especially when using disassembled code)

New features:
- Assembler understands command "define" e.g.:
define .myfile = "MYFILE.BIN"
INCBIN .myfile

this works with INCBIN, INCLUDE and READ (READ is similar to INCLUDE)
When you use INCBIN / INCLUDE / READ instructions, make sure, the additional files are in the same folder than your assembly code.

- Assembler: added IFDEF check (Like in Winape)
IFDEF does not check the value given to a label, just checks if this label has been defined.
Syntax:
ifdef mylabel
<asm code here>
else
<asm code there>
endif

- Fixed LD IXH,x and related instructions

Updates:
- Embedded JavaGX4000 emulator has been updated.
- RasterPaint is improved. You can now select every single zone/line to disable autogeneration for palette. (last palette is used then)
This is VERY useful to remove some unwanted stripes.
Use right mouse button into preview window:
1x clicked: rastermode 1: zones are selectable. (You can see them) Click one to toggle as active (default) or inactive
2x clicked: rastermode 2: lines are selectable. Click them to toggle, too
3x clicked: rastermode 3: zones AND lines are visible and toggle on click
You need to play around with that. But it really can improve the result.
- RasterPaint: Image can be opened in a 3x zoomed frame. It has the same rastermodes to select zones and lines like the main window. Makes it easier to find / hit the correct zones.
- RasterPaint: Image, which is vertically higher than 320x200 pixel ratio can be scrolled up/down now.
- An emulator has been added :P (You can only use it with a special cheat command from console...) (Hint: It's not a toaster but may have to do with bread)

Many more things fixed, which I forgot now to list were made, too.
And, as usual: Many new bugs added for your pleasure ;)

Grab your update as usual here:
http://sourceforge.net/projects/javacpc (http://sourceforge.net/projects/javacpc)
Title: Re: JavaCPC Desktop 1.0 official release
Post by: Devilmarkus on 20:33, 12 July 16
Seems that SF has some trouble today.
When you let JavaCPC check for updates, it will give you the latest copy, too...
Title: Re: JavaCPC Desktop 1.0 official release
Post by: GUNHED on 17:37, 20 March 17
Update works! A GEM and a CHARM like always!

Powered by SMFPacks Menu Editor Mod