Author Topic: JavaCPC 6.3 released  (Read 6241 times)

0 Members and 1 Guest are viewing this topic.

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
JavaCPC 6.3 released
« on: 22:23, 27 April 09 »
Hi together,
 
 today I released the new version 6.3 of JavaCPC.
 
 - CDT support!
 - Tape can save to WAV
 - YM-Recorder changed: - Waits now until AY chip reacts, before start
   recording
 - Better scan-effect and scanlines when bilinear filter is set
 - Drag & drop function - You can now drag & drop all supported files,
   like DSK, CDT, WAV, SNA etc... directly into emulator window
 - Better memory useage (You can still use JavaCPC as applet, but there
   with memory limitations. As application, it can now use up to 256mb
   RAM.) - Larger memory is used for on-the-fly CDT converting.
 - Convert CDT to WAV function to create WAV files from tape images
 - Some bugfixes
 
 
 Thanks to Kev Thacker for great help!
 Also thanks to John Girvin - www.girv.net -
 for his C++ conversation of:
 "TZX to WAV Converter v0.2"
 "(C) 2006 Francisco Javier Crespo"
 
 Download your copy of JavaCPC on my website:
 http://cpc-live.com
 
 Have fun!
 Markus
« Last Edit: 22:26, 27 April 09 by CPC-Live »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #1 on: 11:27, 28 April 09 »
I forgot about 2 new features:

- Breakpoints for debugger (You can define up to 40 breakpoints)
- Debugger can auto-update
Booth points are chooseable from "Help" menu.

A demo-gif about breakpoints:
 
« Last Edit: 14:03, 28 April 09 by CPC-Live »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #2 on: 17:06, 15 May 09 »
Some improvements done.
Who wants to try Work-In-Progress:
http://cpc-live.com/jemu/JavaCPC.jnlp

No downloads yet.

New:
- JavaCPC can keep now display proportions when resizing the window or changing to fullscreen
- Added a position slider into tape drive
- Added a simple memory function into tape drive
- Tape counter has the same speed now than tape counter in my CPC 464
- Optimized CDT2WAV conversion
- Bugfix in calculating WAV header (makes it possible now to edit exported WAV with audio software)
- and some more improvements

Waiting for feedback...
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #3 on: 15:46, 16 May 09 »
Some news:
- Next version of JavaCPC will also be able to load MP3-tapes! (Like games from amstradeus.com website)

Preview: HERE

Still trying to optimize MP3toWAV routines...
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline dlfrsilver

  • CPC6128
  • ****
  • Posts: 249
  • Liked: 73
  • Likes Given: 6
Re: JavaCPC 6.3 released
« Reply #4 on: 10:08, 19 May 09 »
Hello Markus, we need your help.

How do you make JAVA cpc open zip files thru a web page ? Kukulcan from phenix informatique has implemented
JAVA cpc in order to load the games we have online, but impossible to make it load files from another place
than the one "wanted" by the emulator.

Also, we can give you access to many games with different protection schemes if you want to enhance
your emu ^^. I have already done MANY games in mp3 with every parts splitted like this :

Code.mp3
level0X.mp3
etc....

Thanks for your reply !

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #5 on: 11:16, 19 May 09 »
JAVA cpc in order to load the games we have online, but impossible to make it load files from another place
than the one "wanted" by the emulator.

How do you want to load the games?

JavaCPC wants to load them in applet modus like: system/cpc/file/filename.... (beginning from folder, where the emulator is in)

If you like, I can add a parameter, which lets JavaCPC use it's root folder as base for games.

You can also try:
Code: [Select]
<param name="DISC" value="../../../games/arcade/runme.zip">
Not sure, if this works...
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #6 on: 11:22, 19 May 09 »
Just tried this.

It works.
So add ../../../ and you are in JavaCPC.jar root dir.

like in my php script:
http://cpc-live.com/javacpc.php?disc=../../../logo.dsk&doubled=true

This disk is not in system/cpc/file.
It is in the same folder, where JavaCPC.jar is placed.
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #7 on: 11:29, 19 May 09 »
BTW.: Here's my PHP page:

Code: [Select]
<?php
/*

     ____.                   ____________________________  
    |    |____ ___  _______  \_   ___ \______   \_   ___ \ 
    |    \__  \\  \/ /\__  \ /    \  \/|     ___/    \  \/ 
/\__|    |/ __ \\   /  / __ \\     \___|    |   \     \____
\________(____  /\_/  (____  /\______  /____|    \______  /
              \/           \/        \/                 \/ 

                ___.          
                \_ |__ ___.__.
                 | __ <   |  |
                 | \_\ \___  |
                 |___  / ____|
                     \/\/  

________              .__.__                        __                 
\______ \   _______  _|__|  |   _____ _____ _______|  | ____ __  ______
 |    |  \_/ __ \  \/ /  |  |  /     \\__  \\_  __ \  |/ /  |  \/  ___/
 |    `   \  ___/\   /|  |  |_|  Y Y  \/ __ \|  | \/    <|  |  /\___ \ 
/_______  /\___  >\_/ |__|____/__|_|  (____  /__|  |__|_ \____//____  >
        \/     \/                   \/     \/           \/          \/ 


+ ----------------------------------------------------------------------------+
|     JavaCPC Emulator
|     PHP script
|
|     ©Markus Hohmann 2008 - 2009
|     http://cpc-live.com
|     webmaster@cpc-live.com
|
|     $Revision: 2.6 $
|     $Date: 2009/04/29 12:15:23 $
|     $Author: Devilmarkus $
+----------------------------------------------------------------------------+
*/

$gametitle = !empty($_GET[&#39;title&#39;]) ? $_GET[&#39;title&#39;] : &#39;JavaCPC - Emulator&#39;;
echo"<title>JavaCPC Emulator - ";
echo 
$gametitle;
echo
"</title>";
echo 
"<script src=\"javacpc_init.js\" type=\"text/javascript\"></script>";


echo
"<table class=\"contentbody\" cellSpacing=\"1\" cellPadding=\"4\" width=\"100%\" border=\"0\"><tr>";
echo 
"<td class=\"heads\">";


echo 
$gametitle;

echo
"</td></tr></table>";



echo 
"<form name=frmSelect method=post><div align=\"center\">";

$system = !empty($_GET[&#39;system&#39;]) ? $_GET[&#39;system&#39;] : &#39;CPC464&#39;; 

$patch = !empty($_GET[&#39;patch&#39;]) ? $_GET[&#39;patch&#39;] : &#39;false&#39;; 
$audio = !empty($_GET[&#39;audio&#39;]) ? $_GET[&#39;audio&#39;] : &#39;true&#39;; 
$menu = !empty($_GET[&#39;menu&#39;]) ? $_GET[&#39;menu&#39;] : &#39;false&#39;; 
 
if (!empty($_GET[&#39;doubled&#39;])){
echo "<applet name=\"JEMU\" width=\"768\" height=\"544\" code=\"jemu.ui.JEMU.class\" codebase=\"jemu/\">";
echo 
"<param name=\"DOUBLE\" value=\"true\">";
echo 
"<param name=\"TRIPLE\" value=\"false\">";
echo 
"<param name=\"SKINNED\" value=\"false\">";
echo 
"<param name=\"LARGE\" value=\"false\">";
}
else
 if (!empty(
$_GET[&#39;tripled&#39;])){
echo "<applet name=\"JEMU\" width=\"1152\" height=\"810\" code=\"jemu.ui.JEMU.class\" codebase=\"jemu/\">";
echo 
"<param name=\"DOUBLE\" value=\"false\">";
echo 
"<param name=\"TRIPLE\" value=\"true\">";
echo 
"<param name=\"SKINNED\" value=\"false\">";
echo 
"<param name=\"LARGE\" value=\"false\">";
}
else
 if (!empty(
$_GET[&#39;full&#39;])){
echo "<applet name=\"JEMU\" width=\"768\" height=\"544\" code=\"jemu.ui.JEMU.class\" codebase=\"jemu/\">";
echo 
"<param name=\"LARGE\" value=\"true\">";
echo 
"<param name=\"DOUBLE\" value=\"false\">";
echo 
"<param name=\"TRIPLE\" value=\"false\">";
echo 
"<param name=\"SKINNED\" value=\"false\">";
}
else
{
echo 
"<applet name=\"JEMU\" width=\"384\" height=\"272\" code=\"jemu.ui.JEMU.class\" codebase=\"jemu/\">";
echo 
"<param name=\"SKINNED\" value=\"false\">";
echo 
"<param name=\"DOUBLE\" value=\"false\">";
echo 
"<param name=\"TRIPLE\" value=\"false\">";
echo 
"<param name=\"LARGE\" value=\"false\">";
}
echo 
"<param name=\"archive\" value=\"JavaCPC.jar\">";
echo 
"<param name=\"SELECTOR\" value=\"false\">";
echo 
"<param name=\"BUTTONS\" value=\"false\">";
echo 
"<param name=\"BORDER\" value=\"false\">";
echo 
"<param name=\"OSD\" value=\"false\">";
echo 
"<param name=\"COMPUTER\" value=\"".$system."\">";
echo 
"<param name=\"MENU\" value=\"".$menu."\">";
echo 
"<param name=\"CPATCH\" value=\"".$patch."\">";

if (!empty(
$_GET[&#39;samplerate&#39;])){
$sample $_GET[&#39;samplerate&#39;];
echo "<param name=\"SAMPLERATE\" value=\"".$sample."\">";
}

if (!empty(
$_GET[&#39;scanlines&#39;])){
$scan $_GET[&#39;scanlines&#39;];
echo "<param name=\"SCANLINES\" value=\"".$scan."\">";
} else {
echo 
"<param name=\"SCANLINES\" value=\"false\">";
}
if (!empty(
$_GET[&#39;bilinear&#39;])){
$bi $_GET[&#39;bilinear&#39;];
echo "<param name=\"BILINEAR\" value=\"".$bi."\">";
} else {
echo 
"<param name=\"BILINEAR\" value=\"false\">";
}
if (!empty(
$_GET[&#39;scaneffect&#39;])){
$scane $_GET[&#39;scaneffect&#39;];
echo "<param name=\"SCANEFFECT\" value=\"".$scane."\">";
} else {
echo 
"<param name=\"SCANEFFECT\" value=\"false\">";
}

if (!empty(
$_GET[&#39;digiblaster&#39;])){
$digi $_GET[&#39;digiblaster&#39;];
echo "<param name=\"DIGIBLASTER\" value=\"".$digi."\">";
}
if (!empty(
$_GET[&#39;cheat&#39;])){
$cheat $_GET[&#39;cheat&#39;];
echo "<param name=\"CHEAT\" value=\"".$cheat."\">";
}
if (!empty(
$_GET[&#39;digitracker&#39;])){
$dt $_GET[&#39;digitracker&#39;];
echo "<param name=\"DIGITRACKER\" value=\"".$dt."\">";
}
if (!empty(
$_GET[&#39;expansion&#39;])){
$exp $_GET[&#39;expansion&#39;];
echo "<param name=\"EXPANSION\" value=\"".$exp."\">";
}
if (!empty(
$_GET[&#39;monitor&#39;])){
$monitor $_GET[&#39;monitor&#39;];
echo "<param name=\"MONITOR\" value=\"".$monitor."\">";
} else {
echo 
"<param name=\"MONITOR\" value=\"COLOR\">";
}
if (!empty(
$_GET[&#39;joystick&#39;])){
$joystick $_GET[&#39;joystick&#39;];
echo "<param name=\"JOYSTICK\" value=\"".$joystick."\">";
}
if (!empty(
$_GET[&#39;options&#39;])){
$opt $_GET[&#39;options&#39;];
echo "<param name=\"OPTIONS\" value=\"".$opt."\">";
}
if (!empty(
$_GET[&#39;printer&#39;])){
$printer $_GET[&#39;printer&#39;];
echo "<param name=\"PRINTER\" value=\"".$printer."\">";
}
if (!empty(
$_GET[&#39;vhold&#39;])){
$vhold $_GET[&#39;vhold&#39;];
echo "<param name=\"VHOLD\" value=\"".$vhold."\">";
}
if (!empty(
$_GET[&#39;unprotect&#39;])){
$unprot $_GET[&#39;unprotect&#39;];
echo "<param name=\"UNPROTECT\" value=\"".$unprot."\">";
}
if (!empty(
$_GET[&#39;snapshot&#39;])){
$snap $_GET[&#39;snapshot&#39;];
echo "<param name=\"FILE\" value=\"".$snap."\">";
}
if (!empty(
$_GET[&#39;floppysound&#39;])){
$flops $_GET[&#39;floppysound&#39;];
echo "<param name=\"FLOPPYSOUND\" value=\"".$flops."\">";
}
if (!empty(
$_GET[&#39;autotype&#39;])){
$autotype $_GET[&#39;autotype&#39;];
echo "<param name=\"AUTOTYPE\" value=\"".$autotype."\">";
}
if (!empty(
$_GET[&#39;cng&#39;])){
$cng $_GET[&#39;cng&#39;];
echo "<param name=\"CNG\" value=\"".$cng."\">";
}
if (!empty(
$_GET[&#39;memory&#39;])){
$mem  $_GET[&#39;memory&#39;];
echo "<param name=\"MEMORY\" value=\"".$mem."\">";
}
if (!empty(
$_GET[&#39;tape&#39;])){
$tape  $_GET[&#39;tape&#39;];
echo "<param name=\"DISC\" value=\"".$tape."\">";
echo 
"<param name=\"AUTOLOAD\" value=\"launchtape\">"
}
if (!empty(
$_GET[&#39;disc&#39;])){
$disc $_GET[&#39;disc&#39;];
echo "<param name=\"DISC\" value=\"".$disc."\">";
}
if (!empty(
$_GET[&#39;disc_b&#39;])){
$disc_b $_GET[&#39;disc_b&#39;];
echo "<param name=\"DISCB\" value=\"".$disc_b."\">";
}
if (!empty(
$_GET[&#39;mousejoy&#39;])){
$mousejoy $_GET[&#39;mousejoy&#39;];
echo "<param name=\"MOUSEJOY\" value=\"".$mousejoy."\">";
}
if (!empty(
$_GET[&#39;boot&#39;])){
$boot $_GET[&#39;boot&#39;];
echo "<param name=\"AUTOLOAD\" value=\"".$boot."\">"
}

echo 
"</applet>";
if (!empty(
$_GET[&#39;audio&#39;])){
echo "<script type=\"text/javascript\">";
echo 
"document.JEMU.setAudio(".$audio.");";
echo 
"</script>";
}


echo
"<br><table border=\"0\" style=\"border-collapse: collapse\"><tr>";

        
        if (!empty(
$_GET[&#39;discb&#39;])){
        
echo "<td align=\"center\" width=\"150\">";
        echo 
"Click on a disc if you need to change</td>";            }
        

        if (!empty(
$_GET[&#39;discb&#39;])){
        
echo "<td align=\"center\" width=\"50\">";
        echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$disc."&#39;);\">";
        echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$disc."</td>";
        }
            
        if (!empty(
$_GET[&#39;discb&#39;])){
        
$discb $_GET[&#39;discb&#39;];
        
echo "<td align=\"center\" width=\"50\">";
        echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$discb."&#39;);\">";
        echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$discb."</td>";
        }
        echo
"</td>";

        if (!empty(
$_GET[&#39;discc&#39;])){
        
$discc $_GET[&#39;discc&#39;];
        
echo "<td align=\"center\" width=\"50\">";
        echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$discc."&#39;);\">";
        echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$discc."</td>";
        }
        echo
"</td>";
        if (!empty(
$_GET[&#39;discd&#39;])){
        
$discd $_GET[&#39;discd&#39;];
        
echo "<td align=\"center\" width=\"50\">";
        echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$discd."&#39;);\">";
        echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$discd."</td>";
        }
        echo
"</td></tr>";
        if (!empty(
$_GET[&#39;disce&#39;])){
        
$disce $_GET[&#39;disce&#39;];
        
echo "<tr><td align=\"center\" width=\"50\">";
echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$disce."&#39;);\">";        
echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$disce."</td>";
        }
        echo
"</td>";
        
        if (!empty(
$_GET[&#39;discf&#39;])){
        
$discf $_GET[&#39;discf&#39;];
        
echo "<td align=\"center\" width=\"50\">";
echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$discf."&#39;);\">";        
echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$discf."</td>";
        }
        echo
"</td>";
        
        if (!empty(
$_GET[&#39;discg&#39;])){
        
$discg $_GET[&#39;discg&#39;];
        
echo "<td align=\"center\" width=\"50\">";
echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$discg."&#39;);\">";        
echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$discg."</td>";
        }
        echo
"</td>";
        if (!empty(
$_GET[&#39;disch&#39;])){
        
$disch $_GET[&#39;disch&#39;];
        
echo "<td align=\"center\" width=\"50\">";
echo 
"<a onclick=\"document.JEMU.loadFile(&#39;".$disch."&#39;);\">";        
echo 
"<img src=\"3inch_dsk.gif\" border=\"0\"></a><br>".$disch."</td>";
        }
    echo
"</tr></table><p>";


echo 
"<INPUT type=\"button\" VALUE=\"Reset\" onClick=\"document.JEMU.resetComputer();\">";
echo 
"<INPUT type=\"button\" VALUE=\"Reboot\" onClick=\"document.JEMU.reBoot();\">";
echo 
"<INPUT type=\"button\" VALUE=\"Quit\" onClick=\"document.JEMU.Quit();\"><br>";

if (!empty(
$_GET[&#39;audio&#39;])){
echo "<input name=\"cbAudio\" type=\"Checkbox\" onClick=\"toggleAudio();\" value=\"1\"><b>Audio</b>";
} else {
echo 
"<input name=\"cbAudio\" type=\"Checkbox\" onClick=\"toggleAudio();\" value=\"1\" checked><b>Audio</b>";
}

echo 
"<input name=\"cbJoy\" type=\"Checkbox\" onClick=\"toggleJoystick();\" value=\"1\"><b>Q,A,O,P - SPACE/CTRL Joystick</b>";
echo 
"<input name=\"cbTurbo\" type=\"Checkbox\" onClick=\"toggleTurbo();\" value=\"1\"><b>Turbo</b><br>";

if (!empty(
$_GET[&#39;doubled&#39;])){
echo "<input name=\"cbDoubleSize\" type=\"Checkbox\" onClick=\"toggleDoubleSize();\" value=\"3\" checked><b>Double size</b>";
//echo "<script type=\"text/javascript\">toggleDoubleSize();</script>";
}
else {

echo 
"<input name=\"cbDoubleSize\" type=\"Checkbox\" onClick=\"toggleDoubleSize();\" value=\"3\"><b>Double size</b>";
}

if (!empty(
$_GET[&#39;full&#39;])){
echo "<input name=\"cbFullSize\" type=\"Checkbox\" checked onClick=\"toggleFullSize();\" value=\"1\"><b>Full GateArray</button>";

}
else {
echo 
"<input name=\"cbFullSize\" type=\"Checkbox\" onClick=\"toggleFullSize();\" value=\"1\"><b>Full GateArray</button>";
}

echo
"</form><br>";

echo 
"<a href=\"#\" onClick=\"history.go(-1)\">Back</a></div>";

?>
<body bgcolor="#0D0E0F" text="#FFFF99">
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #8 on: 11:32, 19 May 09 »
You also need javacpc_init.js in the same folder:
Code: [Select]
function appletLoaded() {
    var f = document.frmSelect;
    if (f.cbComputer.options.length == 0) {
      populateSelect(f.cbComputer,document.JEMU.getComputers(),0,0);
      populateSelect(f.cbGame,document.JEMU.getFiles(),1,0);
    }

  }
function appletStarted() {
    var f = document.frmSelect;
    populateSelect(f.cbGame,document.JEMU.getFiles(),1,0);
  }

  function selectComputer() {
    var f = document.frmSelect;
    var o = f.cbComputer.options;
    document.JEMU.setComputer(o[f.cbComputer.selectedIndex].value);
    populateSelect(f.cbGame,document.JEMU.getFiles(),1,0);
  }

  function selectGame() {
    var f = document.frmSelect;
    var o = f.cbGame.options;
    var value = o[f.cbGame.selectedIndex].value;
    if (value != "") {
      if (document.JEMU != "") {
        document.JEMU.loadFile(value);
        document.JEMU.focus();
      }
    } 
  }

  function resetComputer() {
    var f = document.frmSelect;
    //f.cbGame.selectedIndex = 0;
    document.JEMU.resetComputer();
    document.JEMU.focus;
  }
  function OpenMenu() {
    document.JEMU.MenuCheck();
    document.JEMU.focus;
  }

  function ejectComputer() {
    var f = document.frmSelect;
    f.cbGame.selectedIndex = 0;
    document.JEMU.ejectComputer();
    document.JEMU.focus;
  }

  function loaddata() {
    document.JEMU.insertDisk();
    document.JEMU.focus;
  }
  function Quit() {
    document.JEMU.Quit();
  }

  function toggleFullSize() {
    fullSize = document.frmSelect.cbFullSize.checked;
    document.JEMU.setFullSize(fullSize);
    w = document.JEMU.getPreferredSize().width;
    h = document.JEMU.getPreferredSize().height;
    document.JEMU.width = w;
    document.JEMU.height = h;
    document.JEMU.focus();
  }

function setSize(){
    document.JEMU.width = 384;
    document.JEMU.height = 270;
    document.JEMU.focus();
}
  function toggleDoubleSize() {
    doubleSize = document.frmSelect.cbDoubleSize.checked;
    document.JEMU.setDoubleSize(doubleSize);
    w = document.JEMU.getPreferredSize().width;
    h = document.JEMU.getPreferredSize().height;
    document.JEMU.width = w;
    document.JEMU.height = h;
    document.JEMU.focus();
  }

  function toggleTripleSize() {
    tripleSize = document.frmSelect.cbTripleSize.checked;
    document.JEMU.setTripleSize(tripleSize);
    w = document.JEMU.getPreferredSize().width;
    h = document.JEMU.getPreferredSize().height;
    document.JEMU.width = w;
    document.JEMU.height = h;
    document.JEMU.focus();
  }

  function toggleAudio() {
      Audio = document.frmSelect.cbAudio.checked;
      document.JEMU.setAudio(Audio);   
      document.JEMU.focus();
      }

  function toggleFloppy() {
      Floppy = document.frmSelect.cbFloppy.checked;
      document.JEMU.setFloppy(Floppy);   
      document.JEMU.focus();
      }

  function toggleJoystick() {
      Joystick = document.frmSelect.cbJoy.checked;
      document.JEMU.setJoy(Joystick);   
      document.JEMU.focus();
      }

  function toggleTurbo() {
      Turbo = document.frmSelect.cbTurbo.checked;
      document.JEMU.setTurbo(Turbo);   
      document.JEMU.focus();
      }

  function populateSelect(select,vector,leave,index) {
    var o = select.options;
    if (leave == 1)
      o[0].text = "(None)";
    var i;
    for (i = o.length - 1; i >= leave; i--)
      o[i] = null;
    for (i = 0; i < vector.size(); ) {
      var option = new Option(vector.elementAt(i++));
      option.value = vector.elementAt(i++);
      o[leave++] = option;
    }
    select.selectedIndex = index;
  }
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline dlfrsilver

  • CPC6128
  • ****
  • Posts: 249
  • Liked: 73
  • Likes Given: 6
Re: JavaCPC 6.3 released
« Reply #9 on: 03:03, 21 May 09 »
Thanks for all those :)

I have a question, samp2cdt would need to be updated, and it appears that kevin thacker is busy nowadays :(

Could you help us to support new decoding scheme ?


Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #10 on: 12:30, 21 May 09 »
Thanks for all those :) I have a question, samp2cdt would need to be updated, and it appears that kevin thacker is busy nowadays :( Could you help us to support new decoding scheme ?


I don't know about converting WAV->CDT.
JavaCPC uses a conversion of TZX2WAV (v0.2b (PC/Windows)     by Francisco Javier Crespo).

It has been converted to JAVA by John Girvin / http://www.girv.net (especially for useage in JavaCPC)
So I am sorry. but I cannot help there...

But I know, that Kev is still active... So perhaps ask him.

« Last Edit: 12:32, 21 May 09 by CPC-Live »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #11 on: 01:44, 09 June 09 »
Some info about work-in-progress:
Next JavaCPC (6.4) will come with keyboard recording/playback function.

It is already working...
You can check it here:
Keyboard playback demonstration

You should see the game "Cauldron" and it should play automatically until the hag has found the lava pod in a cave... After this, you can continue playing using right number pad & num-lock on.
Still needs some testing....
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #12 on: 23:01, 10 June 09 »
Working hard on CRTC-emulation...
Added "CRTC 0" and "CRTC 1" emulation (still very basically but useful for some demos).

An overview:
(CRTC 1)
Demo: TWIST (part of Demo Iz Art)
JEMU (base, not sure if should emulate 0 or 1):


JavaCPC (CRTC type 0)


JavaCPC (CRTC type 1)


Another example:
Overflow preview 1 (Shadow of the beast scroller)
JEMU (CRTC unknown)


JavaCPC (CRTC 0)
 

Last example: Anthology demo, first part:
JEMU (CRTC unknown)


JavaCPC (CRTC 0/1)


All 3 examples show different handlings in CRTC emulation:
- TWIST part: Needs to update screen base address
- Overflow preview 1: CPU timing correction & REG 3 corrections
- Anthology: Needs to reset vSyncCount in setRegister

I hope, that I can learn more about CRTC emulation and make it quite better...
But also the updates, I already made, look impressive (my opinion)

Perhaps Richard could/wants to help me to make CRTC emulation better and more exact...  ;)
(I would like it)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #13 on: 23:53, 12 June 09 »
More progress in CRTC emulation:
h-position correction...
Some demos were x-shifted in display. This I fixed today.
Now also the demo "The Demo" works fully!
Screenshots:
http://cpc-live.com/thedemo
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.366
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3059
  • Likes Given: 5566
Re: JavaCPC 6.3 released
« Reply #14 on: 14:50, 14 June 09 »
Is there a reason I only get a mere 12 fps with http://cpc-live.com/javacpc.php?system=CPC6128&disc=DemoIzArt.zip&full=true&bilinear=true&scanlines=true&scaneffect=true&title=Demo%20Iz%20Art&crtc=1&boot=dia ? What is the parameter that screws things up?

Win7, Sun Java and a quad Phenom should do the trick really... :D

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #15 on: 15:57, 14 June 09 »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.366
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3059
  • Likes Given: 5566
Re: JavaCPC 6.3 released
« Reply #16 on: 19:42, 14 June 09 »
Latest gfx drivers, embedded sound drivers (framerate is low even with sound off).

This configuration works fine (around 48-50 fps), I guess it's all the graphical trickery that does it in... A shame :(

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #17 on: 22:51, 14 June 09 »
Latest gfx drivers, embedded sound drivers (framerate is low even with sound off).

This configuration works fine (around 48-50 fps), I guess it's all the graphical trickery that does it in... A shame :(

Double click with right mouse button into the applet -> this opens JavaCPC menu -> Select: Settings -> Low Performance PC (This will be stored in config file) So you can click also on links including GFX filters/effects...
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline dlfrsilver

  • CPC6128
  • ****
  • Posts: 249
  • Liked: 73
  • Likes Given: 6
Re: JavaCPC 6.3 released
« Reply #18 on: 08:47, 15 June 09 »
Hi Markus, i have uploaded many new games with some interesting protection schemes ;)

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #19 on: 13:43, 15 June 09 »
Hi Markus, i have uploaded many new games with some interesting protection schemes ;)

Link?
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.366
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3059
  • Likes Given: 5566
Re: JavaCPC 6.3 released
« Reply #20 on: 19:39, 15 June 09 »
Double click with right mouse button into the applet -> this opens JavaCPC menu -> Select: Settings -> Low Performance PC (This will be stored in config file) So you can click also on links including GFX filters/effects...

But I *don't* have a low-performance PC! That's the issue...

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #21 on: 20:40, 15 June 09 »
But I *don't* have a low-performance PC! That's the issue...

But something is running with very low performance on your PC... I have an Intel P4 dual core, 3ghz, NVidia GeForce 6800 GT pro and WinXP Pro... Everything works nice here.

(Perhaps you are using a Win7 beta?)
« Last Edit: 20:42, 15 June 09 by CPC-Live »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline dlfrsilver

  • CPC6128
  • ****
  • Posts: 249
  • Liked: 73
  • Likes Given: 6
Re: JavaCPC 6.3 released
« Reply #22 on: 21:11, 15 June 09 »
Link?

Check Phénix informatique Site ;)

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1012
  • Likes Given: 926
Re: JavaCPC 6.3 released
« Reply #23 on: 22:16, 15 June 09 »
Check Phénix informatique Site ;)

Phenix site is huge... Should i download all 324902659864 games?  ;D
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline dlfrsilver

  • CPC6128
  • ****
  • Posts: 249
  • Liked: 73
  • Likes Given: 6