CPCWiki forum

General Category => Emulators => Topic started by: PhilZeVibe on 20:49, 09 September 10

Title: .
Post by: PhilZeVibe on 20:49, 09 September 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:37, 14 September 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: nurgle on 01:08, 14 September 10
Very nice. You must be a masochist to do this in Javascript.  ;)


If you add sound, this thing will actually become useful. I only get a Framerate ~20 fps right now, but my PC is a few years old. So performance should not be a big issue in the future.


Btw.: I just played Bombjack, and although I know there is no sound I swear I could hear all the sound effects I know very very faint. I even turned the volume nob on my speakers to reassure me that it is just my imagination. The human mind is a strange thing.  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:33, 14 September 10
I was really wondering how come there were no replies in this thread, but didn't have the time to post...

Anyhow, this is a great exercise that shows lots of promise. Of course a few things are needed, like sound, more speed, more compatibility, maybe gfx filters if possible (probably not), but it's really something!!! Well done!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 14:26, 14 September 10
Heheheh I went to add it to the wiki's homepage and it's already there... :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Alcofribas on 14:45, 14 September 10
Btw.: I just played Bombjack, and although I know there is no sound I swear I could hear all the sound effects I know very very faint. I even turned the volume nob on my speakers to reassure me that it is just my imagination. The human mind is a strange thing.  :)

You're suffering from Proustian memory. (http://en.wikipedia.org/wiki/Involuntary_memory)

http://www.haverford.edu/psych/ddavis/p109g/proust.html

Keep playing! :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:30, 15 September 10
http://www.haverford.edu/psych/ddavis/p109g/proust.html


That was a great one...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: nurgle on 19:30, 15 September 10
That was a great one...


Yes. Read through it all the way. Very good links.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:18, 03 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 05:54, 04 October 10
I got a $4000 Laptop, and that CPC in a Java Box tells me that it won't run with my browser... So, which browser is the browser of choice to use it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 10:01, 04 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 14:02, 04 October 10
I get ~7fps.  It recommends Chrome 6 or later (I'm using Firefox 3.6.10, under Ubuntu 10.04 x86_64, CPU is a 2.53GHz C2D E7200).

Reminds me of MAME running Naomi games...  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:14, 05 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 04:30, 05 October 10
I got a $4000 Laptop, and that CPC in a Java Box tells me that it won't run with my browser... So, which browser is the browser of choice to use it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: dragon on 11:08, 05 October 10
Not work in playstation 3 webbrowser  :(

(is netfront 3.5)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:58, 05 October 10
Are you dumb or something ?
It's clearly stated on the website.

Thank you for your extraordinary kind help  :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Xyphoe on 07:14, 06 October 10
Are you dumb or something ?
It's clearly stated on the website.

Yea that was a bit snappy and rude ... no need for that dude - people just want to try your stuff. We all appreciate any hard work done for the CPC scene, so chill out  :police:


TFM - It's using the new HTML5 standard for it's clever stuff, only some browsers will work 'properly' with this and other HTML5 based bits and bobs. The latest version of Google Chrome will do the trick. Running the site in Firefox on a very high end PC will still end up with stutter.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 11:59, 06 October 10
For me it also don't work  :'(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: remax on 14:42, 06 October 10
You only surf with your integrated browser?  :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 18:25, 06 October 10
You only surf with your integrated browser?  :D

Pssssssssssssssssst....  :P
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: andycadley on 18:34, 06 October 10
Oddly, it seems to think IE9 doesn't support Javascript 1.5, which I'm pretty sure it does. Maybe some of the detection logic is not quite right?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:39, 06 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 20:41, 06 October 10
TFM - It's using the new HTML5 standard for it's clever stuff, only some browsers will work 'properly' with this and other HTML5 based bits and bobs. The latest version of Google Chrome will do the trick. Running the site in Firefox on a very high end PC will still end up with stutter.

Ok, thank's a lot for the info. Will install Chrome and see what happens then.
Now, I also found the information onto his site, but who expects that you have to scroll down an empty page (that is displayed when using IE). You just see an error message on top of the screen, 90% below is just empty, then you scroll down a long way (depending on monitor and resolution) to find at the very bottom in small letters some message about Chrome 6+. The designer of that site should be sued  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:12, 06 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 21:44, 06 October 10
It doesn't matter if you have to scroll _much_. What matters is that you have to scroll, and nobody expects that. So you can't get the information easiely, just by looking at it.
If I ask then which browser would be good, you insult me instead of answering me "Take Chrome". What kind of guy are you???
 
But I had now a closer look at it (Quad Core, 3.8 GHz) and I only can tell you it's soooooo slow! It crashes more often and IMHO it's a piece of filty crap.
It's quality is as good as the "nice character" of it's producer. You better go back in your box and overwork it _completely_. And if you ever come back with something usable, then please _before_ also overwork your manners - they really need it!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:54, 06 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:16, 06 October 10
Well, to calm this bullshit a bit down:
You both were not the best opponents here:
Quote
Are you dumb or something ?
It's clearly stated on the website.
Could be seen as joke, could be not.

And you, TFM, indeed, I don't know what to say about your comment, and I also don't quote it.
But your manner is also not the best here and not very appreciated.
(And we both know us good together, so I am really surprised here)

So, come on guys, calm down and relax!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:17, 06 October 10
I won't take the bait. But you are reported to moderation.


Wait, you report me to the moderator, because you have insulted me  :laugh:  That's the best joke of the day. At least you have good humor. So there is hope for you  :laugh:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:19, 06 October 10
And you, TFM, indeed, I don't know what to say about your comment, and I also don't quote it.
But your manner is also not the best here and not very appreciated.


So please _where exactly_ my manners are questionable?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:20, 06 October 10

So please _where exactly_ my manners are questionable?

You don't really want to disuss this now, do you?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:26, 06 October 10
You don't really want to disuss this now, do you?


Yes, I want to discuss this now seriously. This guy is insulting me and I told him how to react better. So where is the problem?


Further I didn't tell that his program is bad, I said IMHO it's filty crap. And I live (as you know) in a country where it is allowed to tell the own opinion.


So now, tell me, where did I wrong?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:31, 06 October 10
Well, we German say: "Wie es in den Wald hineinschallt, so schallt es auch heraus".
(Means: As we shout in the forest, thats how the echo comes back)

You make such a noise here because a stupid reply.
Well, really, don't you think, you are a bit over-sensible?

But no problem, tomorrow this thread will be deleted.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:40, 06 October 10
Well, we German say: "Wie es in den Wald hineinschallt, so schallt es auch heraus".
(Means: As we shout in the forest, thats how the echo comes back)


Exactly! You got my point. But despite this fact, I was still nice to him. So why do you wonder about my comment at all?

You make such a noise here because a stupid reply.
Well, really, don't you think, you are a bit over-sensible?


Making noise? If you don't want me to answer your questions, why do you ask? Sorry for my perfect, clear and logical argumentation, which can't be prooven wrong. And btw: Nun stehest Du aber ganz schön im Wald (german sentence: Somebody stays in the wook, means to be obviously on the wrong track). Und hack jetzt nicht auf mir rum, ich hätte auch anders auf den Typen reagieren können, habe mich eh zurückgehalten. Aber wenn Du jetzt auch noch anfängst, dann reichts echt bald.


But no problem, tomorrow this thread will be deleted.


Thank you! That tell's me that my argumentation is right, and the only "argument" you have is to delete everything.


Why don't you care about important things, stop others from real insults. Because we all know, this post from this guy was not a joke!

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:44, 06 October 10
Why don't you care about important things, stop others from real insults. Because we all know, this post from this guy was not a joke!

Sure?
I think it was not meant so rude. (Maybe because I like sarcastic humour)

But:
Think this:
I ask you, how to add FutureOS roms into my emulator.
You reply:
Hey are you stupid? The roms are named in order how to put them into the ram banks

Then I also see this as funny reply. (maybe rude for third persons, but not for me.)

But I reply:
FutureOS's quality is as good as the "nice character" of it's producer. You   better go back in your FutureOS lab and overwork it _completely_. And if you ever   come back with something usable, then please _before_ also overwork   your manners - they really need it!

Don't you think, this is a bit overloaded?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:50, 06 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:52, 06 October 10
Yep you nailed it. My response was not to be taken literally.

 :( 8)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:54, 06 October 10
But:
Think this:
I ask you, how to add FutureOS roms into my emulator.
You reply:
Hey are you stupid? The roms are ...

Well, I never would do that! And that's the difference!!!  8)  and I'm not going to waste more time  8)
 
bla...bla....bla  And I still think TFM/FS deserved it, no matter how hard it is for him to swallow it.

As you deserve my answer!  8)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:55, 06 October 10
Well, I never would do that! And that's the difference!!!  8)

 ??? :( :'(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:58, 06 October 10
But here for you, TFM:
(I hope, this matches to your screen resolution)
(http://cpc-live.com/chrome.png)
(I do things like this)

Now what?
Back to topic?
What do you think, guys?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:02, 07 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 00:12, 07 October 10
To end this "crisis":
Last words:
Come on, guys, we are living in WWW here.
A forgotten comma, or a dot too much can cause terrible wars between users.

But don't forget:
We are all CPC users.
So, when I wrote something "rude" or when someone thinks, I tried to overrun him, I beg for pardon here.
We are all living on one boat here.
So let's play together and not against each other.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:20, 07 October 10
Well told
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 10:36, 07 October 10
Btw.: @ phi2x:
The emulator indeed runs very slow only.
With ~20 fps on my system.
The biggest problem I see is, that also the complete emulation slows down here.
Can this improved by adding an auto-frameskip?
(JEMU by Executioner and also JavaCPC (which is based on JEMU) use this. You still have full CPC speed also when the frames per second are limited down)

Well, I don't know, why your emulator is so slow, but when this is because gatearray emulation or painting the screen itself, it could be a solution.

Edit: Also a disabled wait for vsync could improve speed.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:52, 07 October 10
Sheesh... away to Frankfurt on business for a few days and WWIII breaks up. And it'd be kinda cool, except there are no zombie nazis to shoot.

I see things did calm down in the end, so if I may, I will say a couple of words to commemorate this and then, if you agree, I'll delete the problematic posts.

This was a classic instance of flame feedback. TFM maybe was a bit careless in checking, phil was quite rude (ok, maybe you didn't mean it that way, but that's the way I read it too), then TFM started nitpicking and it all went downhill from there.

What worried me most, though, since it seems we have reached a semi-amicable solution, is the trashing of another man's work. This should never have happened, it's a real shame. Personal fights may occur, sure, but dissing a work of love because you don't get along with the creator is a disgrace :(

Now, I'm off to try it in Opera. Should I delete the offensive posts and clean the thread up?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 11:29, 07 October 10
Are you dumb or something ?
It's clearly stated on the website.
First line was not needed, second could have been worded better.
If you had a bad day, don't bring it here.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 11:32, 07 October 10

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

Sorry I will not try Chrome. I don't want to give my life to Google.
But keep on going, it is looking promising.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 11:33, 07 October 10
(http://cpc-live.com/chrome.png)

Sorry I will not try Chrome. I don't want to give my life to Google.
But keep on going, it is looking promising.

Psssssst... I'm sure, phi2x earns billions of $$$ from Google now because this smart advertising.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 11:36, 07 October 10
I think that writing an emulator like this in HTML5 is very impressive and highlights the potential of the emerging browser engines.  So I congratulate you on your efforts as it must have been quite a task.

Chrome supports of this because Google want Chrome to be the only thing on your computer (http://en.wikipedia.org/wiki/Google_Chrome_OS).  If Chrome can run all this type of stuff then who needs Windows?

Which is why IE9 doesn't support it.  Because Microsoft want you to keep their OS installed on your PC.

It's amazing though that we're going to need *really* fast PCs to do in a browser what we've been doing on desktops for 20 years.  But I guess Google can't advertise on your desktop  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 11:41, 07 October 10
Btw.: This CPCBox emulator for me also runs with the same speed on:
Apple Safari

Well, dear Apple, you can ask me for my account number, IBAN and BIC via PM
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 11:47, 07 October 10
Well, dear Apple, you can ask me for my account number, IBAN and BIC via PM

I went to a real Apple store to buy my sister an iPod and have to say the people in there (customers and staff) put me off Apple for life - Style over substance or what?!

And have you ever used iTunes on a Apple computer?  It's just as crap as on Windows.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:27, 07 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:58, 07 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:54, 07 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Grim on 15:57, 07 October 10
I'm using Opera on a 6yo laptop here, and it works quite nicely for what it is (~17fps).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 18:31, 07 October 10
All I do is pushing the canvas every time I finished rendering a frame and the rest is automagically taken care of by the browser.

So simple:
Add code, which prevents a "update image" until previous image has not been painted.
(I mean: Also don't do a internal vsync/gatearray render update until last paint hasn't finished yet)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:03, 07 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:33, 17 October 10
Finally got to try  the last version.

Athlon II 635 @2.9GHz,
Windows 7 Ultimate 64x,
Opera 10.70.34.77

Seems to be working with no issues at 40fps with tons of other windows open. Now waiting for sound implementation... ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:32, 17 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:42, 18 October 10
But, wait, I thought that there are HTML-based video players that also play audio?

Otherwise, I find it strange that they'd design something as powerful as this without any sound support...?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: andycadley on 15:27, 18 October 10
But, wait, I thought that there are HTML-based video players that also play audio?
The HTML5 video tag will let you play back videos with audio, but it's a whole different kettle of fish if you want to generate audio programmatically
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 17:10, 18 October 10
It shouldn't be that different.


You have to decode the audio stream of the video file somewhere. And that place is the same where you should have to put your programatically created audio data.


Edit: The "Media" interface from which the "Audio" object inherits seems to have a nice set of functions for controlling the media and its rendering. I don't now if it's a must to write a codec for the media type or you can do it on the fly.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:59, 18 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 19:24, 18 October 10
Do you know if there is some kind of communication between the codec and the HTML5 code running?


If some info could be sent to the codec, it would appear to the browser like a streamed file but under control of the code.


Of course it's only a crazy idea, but It seems too odd for me that you can make palette rotation in an image canvas and not something similar for audio...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:42, 18 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:11, 18 October 10
Another problem I see here is:
The emulator does not run with 100% speed!
So a probably emulated sound would make a crap output.
Sad, the timing does not depend much on painting the image, because if not, phi2x could simply skip 3 frames and have less fps but faster emulation.
(Add manual frameskip could be a solution with radiocheckboxes to choose how many frames should be skipped)

But until the emu does not reach 100% speed it also makes not much sense to emulate sound.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:21, 18 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:34, 18 October 10
And that's not even mentioning the fact that, due to the added computations, AY sound emulation would slowdown CPCBox even more  :(

Well, only a 1mhz device more to emulate  :P
(But I think you already emulate it partially to enable keyboard input)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 21:42, 18 October 10
I think you can play an audio file within the audio tag with a different speed, that would made it work like a tracker (in  some way).


Could it be possible to use a sample of a square wave and play it looped altering the volume and pitch to match the desired sound?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:13, 18 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 23:17, 18 October 10
Ok, it's a bit of a  longshot but the theory is sound, hehehe  :P


Maybe I'll be trying it just for curiosity... maybe...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:27, 18 October 10
A YM player is simple to code  8)
It only took me 1-2 hours to get some sound of the AY-emulation from JavaCPC (JEMU).
Then another 1-2 days to build the GUI and improve some things...
You only need is:
- AY emulation
- Timers
- PPI emulation + IO
- some crap
- and a few cans of coffee
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:34, 22 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:27, 30 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 19:32, 30 October 10
So I can now play at full speed on my netbook?? ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:41, 30 October 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:44, 30 October 10
Yeah, well, 9-10fps :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:53, 30 October 10
Yeah, well, 9-10fps :D

So, the same framerate as on the PC...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Octoate on 01:02, 31 October 10
On my PC at work (Quad core) I get 40fps with Opera 10.63.
On my notebook at home (Core 2 Duo 2GHz) with Opera 10.63 I get 28fps.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 02:48, 31 October 10
On my PC at work (Quad core) I get 40fps with Opera 10.63.
On my notebook at home (Core 2 Duo 2GHz) with Opera 10.63 I get 28fps.

They advised Chrome to me... Maybe Opera would have been better... However, I'm not going to install a third browser just to see this thing
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 16:42, 31 October 10
...except that Opera and Chrome are the best browsers out there nowadays :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:35, 04 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:49, 04 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:24, 04 November 10
Ecole Buissionaire at 33fps with lots of programs running in the background (and while burning a DVD) is not bad at all!!! And it looks quite nice and accurate, though you have some sort of filtering?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:21, 04 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 10:20, 23 November 10
You should try the new Firefox 4 beta...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:36, 23 November 10
47fps? Wow. What do you get with Chrome?

Such a shame that the last few FF betas have proven very buggy for me...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 10:43, 23 November 10
With Chrome I have about 15-19 fps
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:49, 23 November 10
Wow... but which Chrome branch? They have like a zillion out there...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:35, 23 November 10
Wow... but which Chrome branch? They have like a zillion out there...

I dunno.
I downloaded, installed and ran Chrome. I did not ask them, which branch.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:19, 23 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:48, 23 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:30, 24 November 10
FF b5: 5fps.
Chrome Canary 9.0.591.0: 37fps.

Running on my work desktop PC, average office PC with a bunch of stuff running...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 13:33, 24 November 10
Browsers using GeForce cards...  it's all getting too much for me.  No wonder Firefox keeps crashing every time it 'upgrades'.

Nice project though, but I am nervous about Google wanting to take over the desktop  ???
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:53, 24 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:11, 27 November 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 00:01, 28 November 10
On eBay? How much?

:D

Nice one, mate!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:12, 15 December 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 18:10, 16 December 10
Nice stuff... 1943 looks pretty darn perfect. Wish we had sound - then it'd be complete. But we've already discussed this!

Won't you consider entering the site to the Topsites list?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:43, 16 December 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:01, 16 December 10
For CPC-Topsites, I'm not comfortable associating CPCBox with a site picturing a nearly nude girl on the frontpage. :o
And to tell you the truth, I think that CPCWiki would be a much better place to reference CPC websites.

Hey! It took me ages to render this picture!
And now you are stealing all my illusions :(
Shame on you!  8) :D

(No, really, if nobody likes this picture, I could also replace it)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:58, 17 December 10
Ah! you prude! But you are French, no? ;)

Anyway, the point ot the Topilists site is that it's outside every site. Wouldn't be very fair for any one site to measure all the rest, would it? :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:50, 17 December 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:35, 19 December 10
Well, yes... I do see your point, and if there were no such services out there it'd be a good idea to implement one. But since Markus was the first to think of it, well, it wouldn't be too right to duplicate it here... would it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:32, 19 December 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:53, 23 December 10
Oh - I know, was just saying :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:05, 29 December 10
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:40, 05 January 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:51, 11 January 11
.

(http://img692.imageshack.us/img692/2012/cpcboxdev20110110.png)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:21, 11 January 11
Ohhhh the colors, man....
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 14:03, 11 January 11
Hi !!!


Is there some emulator for 6128+ ?

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 14:29, 11 January 11
Hi !!!


Is there some emulator for 6128+ ?
winape, arnold and mess emulate 6128+.

and in time cpcbox too.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 17:40, 11 January 11
.
(http://img262.imageshack.us/img262/5049/cpcboxdev20110111.png)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 18:45, 11 January 11
It seems good :) But for the palette ?


i think it's easy to put good palette on emulator no ?


Just delockate ASIC


Connecte asic


Read palette Adr


Put real color


No ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:57, 11 January 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 19:25, 11 January 11
Ok so good luck, i'm waiting ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: remax on 01:15, 12 January 11
Nice, it's ugly but i'm sure you were full of hapiness to see these screens
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:23, 12 January 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:20, 13 January 11
.
(http://img641.imageshack.us/img641/9748/cpcboxdev20110113title.png)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 21:25, 13 January 11
Yeah great :)


For the menu, you must make the GA gestion of the multimode. RMR register: See it: http://www.grimware.org/doku.php/documentations/devices/gatearray (http://www.grimware.org/doku.php/documentations/devices/gatearray)


with GA adressage (#7f)
if bit 7 and 6 are :%10 then bit 0 an 1 are screenmode... Just use it ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:59, 14 January 11
Progressing nicely here... what fps do you get?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 11:36, 14 January 11
Just bit the bullet and installed Chrome  >:(

But I do get 42fps on the current CPCBox.  Impressive stuff.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 11:57, 14 January 11
Yeah great :)


For the menu, you must make the GA gestion of the multimode. RMR register: See it: http://www.grimware.org/doku.php/documentations/devices/gatearray (http://www.grimware.org/doku.php/documentations/devices/gatearray)


with GA adressage (#7f)
if bit 7 and 6 are :%10 then bit 0 an 1 are screenmode... Just use it ;)
I am thinking more that the cpc+ raster interrupts are not working correct here.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:27, 14 January 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 21:22, 17 January 11
What is the problem ?


Interruption ?


Can i help you ?


When a cpc plus interruption is on, all others are off... And if i'm ok, interruption is régénrated on the hbl of the line number...


For hardware sprite, all position are CRTC dependent. So just put it on a screen with CRTC count ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:17, 17 January 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 14:43, 23 January 11
Is the problem resolved ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:26, 09 February 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 18:57, 09 February 11
Also, CPC function keys are now mapped to PC function keys (in addition to numpad keys). So it's now possible to use CPC function keys on laptops.

Yay, that's really cool as it's something that bugs me with other emulators.  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:48, 12 February 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:34, 17 February 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Ghost on 20:50, 18 February 11
What about CPC+ emulation ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:42, 18 February 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mr_lou on 21:45, 18 February 11
Since it's written in Javascript, and modern phones support Javascript... I wonder if it'll run on an Android device.

Gryzor, have you tried that?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Mochilote on 11:45, 19 February 11
Since it's written in Javascript, and modern phones support Javascript... I wonder if it'll run on an Android device.

Gryzor, have you tried that?

Hi to all, i have tried it on iphone4 latest IOS but it don't work, it shows "Your browser doesn't support HTML5 File API".
Otherwise, emulator is great for desktop browsers, thanks for it.

Cheers.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mr_lou on 13:28, 19 February 11
Hi to all, i have tried it on iphone4 latest IOS but it don't work, it shows "Your browser doesn't support HTML5 File API".

Well, if Apple speaks the truth, it shouldn't be long before all of HTML5 is supported on their devices. HTML5 was one of their main arguments for ditching Flash. So let's see what happens next update.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:57, 22 February 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:58, 22 February 11
Yeah, it doesn't work on my 2.2 device, not even with Opera... :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:32, 09 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:49, 09 March 11
Running 11.0.696, do you know what engine it uses?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:24, 09 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 08:38, 10 March 11
38 fps while running 1943 on my Quad AMD x64, using Canary as ever :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Mochilote on 09:34, 10 March 11
38 fps while running 1943 on my Quad AMD x64, using Canary as ever :)

More statistics (Chrome 10.0.648.127, Intel Core 2 Quad Q8200, ATI Radeon  HD5570):
40 fps on menu, 44 fps in game, running game 1943
45/46 fps on 464 basic

Cheers.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 04:35, 12 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: remax on 13:50, 12 March 11
congrats ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:18, 12 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:00, 12 March 11
Strangely nerdy and exciting. Russian hackers? 16-bit registers? Stress tests? Mess??! Great stuff mate, congrats!

Can't you load the test dsk in your emu and let us experience it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:27, 12 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:42, 12 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Executioner on 02:12, 13 March 11
And here is the post from those Russians that caused havoc :D in the emu scene: http://zx.pk.ru/showpost.php?p=43800 (http://zx.pk.ru/showpost.php?p=43800)

Very interesting, thanks for the info. The documentation is a little unclear with the LDIR/LDDR and CPIR/CPDR where it says MEMPTR = PC + 1, where PC = instruction address. Which instruction? The ED of the first part of the instruction itself?

Am I right in assuming that MEMPTR after LDIR/LDDR (ED xx) (when BC <> 1) will be pointing to the xx, and CPIR/CPDR will be pointing to the address after the xx.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:51, 13 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:19, 14 March 11
Great to see how quick and well this project advances!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 11:25, 14 March 11
As of today, I'm proud to announce that CPCBox has passed all Zexall tests successfully! 8)

I've personally tested several CPC emulators (WinAPE, CPCE, Caprice32, Arnold, JavaCPC, PC-CPC and WinCPC) under Zexall. They all fail at it to some degree. >:(

Good result!

Arnold does fail them, but not in my work in progress version (which now passes 99%). Not quite as good as cpcbox yet ;)

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Mochilote on 11:42, 15 March 11
Tested on Internet Explorer 9 Final (released today):



CPCBox won't work on this browser:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:41, 15 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Mochilote on 13:22, 15 March 11
Your browser doesn't support HTML5 File API
That's the major letdown. And Opera 11 is also plagued by this :(
The only possible workaround here is to do a browser specific path to handle those faked HTML5 browsers.

Safari for iphone and Opera Mini for iphone unfortunately have this problem too.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:59, 15 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Mochilote on 15:22, 15 March 11
   
Android... iphone... wut!?

Seriously guys, you have unreasonable expectations. We're talking about a Javascript CPC emulator here...
Even if it'd happened to work, performance would be abysmal.

Performance would be abysmal, but it would be nice to see it running however :-)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 15:27, 15 March 11
Mochilote beat me to it. Yes, it'd be slow as a snail with arthritis, but so friggin' what? It'd be fun! :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:42, 18 March 11
.

(http://img191.imageshack.us/img191/5075/burningd.png)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 00:05, 19 March 11
Congrats!
Next step are hardware sprites.
Easy in theory ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 19:42, 19 March 11
Urning Ubber! ell f   ame!!!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 19:44, 19 March 11
Urning Ubber! ell f   ame!!!
Urin' Upper is kewl!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:31, 20 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:04, 22 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 00:14, 22 March 11
Hmmm am I doing something wrong?
I still get the message "WRONG DISK FOR YOUR CONFIGURATION"?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:32, 22 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 00:34, 22 March 11
Ah ok... I see ;)
Well will give it a go...
BTW.: Does your emu accept the new Benediction demo?
It's a corrupted DSK image (151k only)
JavaCPC ignores non-existing tracks and only speaks a warning, that your DSK is corrupted and does not allow you to store on this DSK.

Edit: Yes, works... Nice...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:09, 22 March 11
.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 01:25, 22 March 11
edit: You're right, a warning is probably the smartest thing to do.

Yeah I love the female voice saying "Corrupt disk image loaded" in JavaCPC ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 08:03, 23 March 11
Testing in Firefox 4, runs a bit more than twice as fast as it did in 3.6.  About 38-44fps, almost usable now. :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 18:02, 23 March 11
Hmmm FF 4.0RC gives me only 33fps, vs Chrome Canary 43fps...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:45, 23 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 22:51, 23 March 11
Maybe it's because I'm using a 32-bit version, rather than 64-bit.  Not sure if the versions on the Ubuntu repositories are 64-bit or not, I'd presume they are.  Mozilla doesn't offer 64-bit binaries. :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:54, 29 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:45, 30 March 11
You should probably add the Batman demo to the drop-down list... :)

Btw, what about frame-skipping?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:45, 30 March 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 19:43, 30 March 11
Both points understood... :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:08, 03 April 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:52, 03 April 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:58, 03 April 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:19, 03 April 11
Sounds like a conspiracy to me ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: dlfrsilver on 01:11, 04 April 11
@phil2x : I have some disk images here that will send CPCbox to hell.

Those are Hercule II from esat, La chose de grotemburg, Le necromancien and another one.

CPCbox says Read track not implemented.....
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:47, 04 April 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 01:13, 06 April 11
Got a new PC today. (Acer Aspire X3910)
Running with Win7 (Pentium E5500 CPU, 64 bit, 4gb DDR3, 2gb ATI Radeon HD5570)
Result so far:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:33, 06 April 11
Yes! Finally, it took a ninja PC to emulate the CPC @50fps (but no soudn)! :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:04, 12 April 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 15:32, 12 April 11
Heheh yes it's working! On par with Chrome 12.x...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:54, 03 May 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:51, 04 May 11
Building for the future, mate; good work :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: antoniovillena on 14:05, 04 May 11
I would apply the same. I think that this "market segmentation" will be good for the users.
My emulator is focused on slow machines, with bad emulation. I have seen games (like Monty) that use different video modes in the same screen. I would never emulate that, because I will never do it as good as your emulator does, and it will slow down performance.

Also I am able to collaborate with you if you need. I admit that I have been tempted to spy your source code, because my bad FDC 765 emulation. Finally I have solved it (partially) with many debugging hours, in my own crappy code. Your "spagetti" code is better structured than mine, so I can't say which emulator is easy to read for an external programmer. It's courius how every string in your code is reversed.

Regards
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:04, 04 May 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: antoniovillena on 11:18, 05 May 11
That would be the hard way. There are plenty of great open-source emulators to "spy" upon, if that's your thing: Caprice, Arnold, JavaCPC...


Yes I have read some GPL code when I had a little doubt, but in that case the FDC code should be 500-1000 lines of code, and when you traslate from C to javascript you can introduce bugs.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:05, 04 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:28, 12 June 11
Missed this post. What? WHAT? :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:04, 14 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 21:12, 14 June 11
Oooooh yeah man!!! And I was wondering about that, especially after I saw that there are actual games running in Chrome....
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:35, 14 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:34, 16 June 11
So please do explain to us how it's done, once you done it :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:43, 16 June 11
So please do explain to us how it's done, once you done it :)

Simple: He will embed 3 Polish people (For each AY channel 1).
This works in HTML5 very easy:
Code: [Select]
<script type="polskiskript" src="kurva.ps">
initSingers();
polski1.ifNotSings(){
      throw_forehead1_against_box();
 }
 polski2.ifNotSings(){
      throw_forehead2_against_box();
 }polski3.ifNotSings(){
      throw_forehead3_against_box();
 }
</script>
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: MaV on 14:45, 16 June 11
kurva.ps

You - of course - know what kurva means in Polish.  :laugh:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:46, 16 June 11
You - of course - know what kurva means in Polish.  :laugh:

Sure... you don't?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:51, 16 June 11
Well, let's go back to topic ;)
I just was sure, also if phi2x would explain, what and how he does this, Gryzor, me, and all others still would not understand what he is talking about.
So also a pseudo-explanation would do ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 16:11, 16 June 11
Simple: He will embed 3 Polish people (For each AY channel 1).


You must be... German  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:04, 16 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:19, 18 June 11
Argh... Imageshack again.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:14, 18 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 21:16, 18 June 11
Explained here (http://www.cpcwiki.eu/forum/index.php?topic=2342.0) :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:36, 19 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:48, 19 June 11
Oh no, I really dislike FF now... :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Linusmag on 16:00, 19 June 11
Great News for online CPC Gamers like I am. :-) Thanks a lot Phi2x
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:39, 21 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:04, 21 June 11
On my FF 4.0.1, apart from being very slow compared to Chrome, it's still mute...??
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:21, 21 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 14:37, 21 June 11
Hm; I've got an ancient ATI 1600 with 512MB (only reason is because it doesn't need a fan... it's usually more than enough for everything save modern games) and I enabled webgl and still get 28-32fps on my quad Athlon II X4 @2.9GHz. So sound sounds awful, too, but hey, it works!!

FF5 works even slower, at 25fps :(

And yes, I had unmuted sound, don't know why it didn't work before :p
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:09, 21 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 15:33, 21 June 11
35-38fps here, a few more if sound is disabled.  (2.53GHz C2D E7200, GeForce 8600GT, Firefox 4.0.1, Ubuntu 10.04).  Sound works, but is stop-start (probably since it's not running at 50fps).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 16:29, 21 June 11
Hm; I've got an ancient ATI 1600 with 512MB (only reason is because it doesn't need a fan... it's usually more than enough for everything save modern games) and I enabled webgl and still get 28-32fps on my quad Athlon II X4 @2.9GHz. So sound sounds awful, too, but hey, it works!!

FF5 works even slower, at 25fps :(

And yes, I had unmuted sound, don't know why it didn't work before :p

I have a Pentium Dual Core E6500 and an Ati HD4650 and I get about 38fps with stuttering audio in FF4. In Chrome I can't unmute the sound  ::)

I use Windows 7 64bits.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:48, 21 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 20:53, 21 June 11
I tried the emulator with FF hardware acceleration on. Normally I have it disabled cause it screws up the fonts rendering and I need them to work ok to do web design.

I was playing a few demos, DTC, Ecole... etc. While I was testing the emulator I was looking at 2 performance monitors that I use (one for the cpu, another one for the gpu). On the cpu, one of the cores was getting about 50-60% load, the other one about 80%, and the gpu only about 20%. The audio was still stuttering and the performance was moving between 36-43fps


Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Linusmag on 23:07, 21 June 11
Dont' Bother Phi2x,  it is an excellent Work ! And really i like it (result and coding).
   
    It works well on my Cpu with sound 45~50fps (laptop core duo T9400 2.53ghz) with FireFox 5.0 and Nvidia 275.33 Drivers.
 
 Thanks again for online CPC Gamers. ;)
 
 (Fr: Encore Merci d'un codeur qui apprécie pleinement les efforts réalisés et le résultat final)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:42, 22 June 11
Oh god. I'm getting about 6fps with that test. Also, although I just installed the last drivers ATI released for my card, inf FF it reads: GPU Accelerated Windows:0/1.
Also:
Direct2D Enabled: Blocked on your graphics driver. Try updating your graphics driver to version 10.6 or newer.
DirectWrite Enabled: false (6.1.7601.17563, font cache n/a)

Wtf, do I need a new video card to run the web now? Crap...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 10:20, 22 June 11
Oh god. I'm getting about 6fps with that test. Also, although I just installed the last drivers ATI released for my card, inf FF it reads: GPU Accelerated Windows:0/1.
Also:
Direct2D Enabled: Blocked on your graphics driver. Try updating your graphics driver to version 10.6 or newer.
DirectWrite Enabled: false (6.1.7601.17563, font cache n/a)

Wtf, do I need a new video card to run the web now? Crap...

Wich version of windows do you use?

By the way, that IE test runs fast as hell on IE, but slower on FF5 and reaaaally slow on Chrome. I've seen HTML5 and WebGL demos on Chrome running pretty fast.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:23, 22 June 11
Win7 64bit. In IE9 I get 8 fps (yeah!) and with the ticking sound as well.

Now, Canary on the other hand (14.0.798.0) manages... 60fps!!!! So there must be something really wrong with the implementation...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 10:27, 22 June 11
Strange indeed. I've just realized that I haven't tested the emu on my other computer. It has a Geforce GTX560Ti, maybe nVidia performs better.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:14, 22 June 11
Weird indeed. I'm tempted to get a new-ish card, but then again forking out €60 or €70 just to try online emulators seems a tad high... :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 11:24, 22 June 11
If you don't use it for gaming, forget about it.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:26, 22 June 11
That's what I'm thinking :( Darn...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 11:45, 22 June 11
You can always overclock the x1600  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:46, 22 June 11
Onwards and upwards we go!

Well, I could get it to 30fps :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:06, 22 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 12:09, 22 June 11
So an E6500 is not enough to run the emulator?  :'(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:11, 22 June 11
It has a Geforce GTX560Ti, maybe nVidia performs better.

Nope... The image rendering is the smallest problem here ;) It's fast enough.
I also get 38-45fps max. and stuttering sound...

Also this would make no sense... We both play "The Witcher 2" with many enabled details... And a fucking 768x272 screen should be too slow?  :laugh: :laugh: :laugh: :laugh:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:18, 22 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 12:21, 22 June 11
Also this would make no sense... We both play "The Witcher 2" with many enabled details... And a fucking 768x272 screen should be too slow?  :laugh: :laugh: :laugh: :laugh:

Gotta tell you... I touched some setting on the motherboard (auto overclocking whatever) and now all the games run faster  :laugh:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:22, 22 June 11
Gotta tell you... I touched some setting on the motherboard (auto overclocking whatever) and now all the games run faster  :laugh:

I hope you can still follow them ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:28, 22 June 11
Yeah, I know. Haters gonna hate! ::)

http://knowyourmeme.com/memes/haters-gonna-hate (http://knowyourmeme.com/memes/haters-gonna-hate)

Hmmm did something went wrong for you?
I just mentioned that the timing problem is not caused because too slow screen rendering...

All cpc emulators produce a 768x272 (or 270 or whatever) screen, so I can name it "a fucking...." ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 15:45, 22 June 11
So 409 seconds is not a good score in that test, huh?  :-[
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 15:46, 22 June 11
So 409 seconds is not a good score in that test, huh?  :-[

409 seconds? For what? :D Didn't get it...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 15:52, 22 June 11
So try this benchmark on Firefox:
http://ie.microsoft.com/testdrive/Performance/SpeedReading/Default.html (http://ie.microsoft.com/testdrive/Performance/SpeedReading/Default.html)

EDIT: Upgraded to Firefox 5.0.  Is marginally faster, 378 seconds. :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:25, 22 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: antoniovillena on 17:56, 22 June 11
So now you know!

Actually the graphics requirement are not high, hardware acceleration is only used to perform canvas stretching. The only barrier is the Firefox drivers blacklist.
So if you have an integrated graphics chip on your motherboard, it can prove useful to unplug your graphics card and use the integrated graphics instead.

Also, keep in mind that Chrome and Opera are working right now on supporting hardware acceleration. And hopefully their drivers blacklist won't be the same as the one in Firefox ;)
And in the longer run, we have W3C working right now on defining Web Audio API, which will be the standard audio output API for browsers.


Hello phi2x


The Web Audio API is implemented in Chrome dev-channel. The specification is not totally defined, but you can implement in your emulator. Unfortunately you can not choose the sample rate or the buffer size like in Firefox. There is also a transparent API here:
https://github.com/grantgalitz/XAudioJS (https://github.com/grantgalitz/XAudioJS)
that receives samples at your desired rate and do the resampling for you. The output is Web Audio API, Mozilla Audio Data Api or Adobe Flash for the rest of browsers.


I am also focused in sound, and I have problems with Web Audio API. When it works well in speccy I will traslate into Roland (my cpc emulator). If your machine is slow, try to press F9 (it uses a fastest scaling algorithm).
http://jbacteria.antoniovillena.es/128?batmant1.tap (http://jbacteria.antoniovillena.es/128s?batmant1.tap)


And congratulations, your emulator is excelent
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:42, 22 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:04, 22 June 11
Well I still think I missed something... :D
I also ran this test: Using Firefox 5
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:37, 22 June 11
Well I still think I missed something... :D
I also ran this test: Using Firefox 5

8 seconds... are 8.000.000 instructions on a real CPC  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 03:52, 23 June 11
OK, found the issue - for sure I get no hardware acceleration in Firefox, apparently Firefox keeps a whitelist of supported video drivers, and under Linux the only supported driver is the proprietary NVidia X server.  I guess the version I have installed in Ubuntu 10.04 is not good enough...  Intel and AMD's drivers, or any open source drivers are "disastrously buggy" so Mozilla won't support them.  This also goes for Windows OpenGL drivers also.  OpenGL on OS X is fine, as is DirectX9/10 on Windows.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 10:11, 23 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:40, 26 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:15, 27 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 11:34, 27 June 11
I may need a new computer to check the ay emulation  :laugh:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:16, 27 June 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 23:26, 27 June 11
I guess it's an improvement, I can't test the emu  :laugh:

Still there are a few thing that doesn't sound right, mainly the "hard" sounds and the noise generator. The noise sounds at a higher pitch than the real AY output, if you compare it with my recording. Another thing, can you make the output in stereo? That way you could check it side by side.

http://soundcloud.com/mcklain/take-off (http://soundcloud.com/mcklain/take-off)

And thank you  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:27, 02 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 12:26, 03 July 11
Wow, pretty good, sounds like the original one  :D

Now it just needs stereo  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:43, 07 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: arnoldemu on 12:55, 07 July 11
To go further into emulation, what's now needed is mimicking the synchronisation lag between the CRTC and the Gate Array output.
As I implemented CPCBox, there is actually no delay between those 2 chips. It makes things simpler for a code point of view, and it enables nice optimizations.

But at the end of it, it's not how the real thing works.
I tried my best to hack around to mitigate the side effects. But some demos are impossible to fix due to this synchronisation issue, and so it claims for proper emulation!

I've thought a little about it. Implications are enormous from a code point of view. Making proper emulation of this synchronization delay will be CPU intensive, and I'll have to ditch the optimization tricks I used that won't fit anymore. :(
Is it worth it, just to be able to fix a handful of demos? Given how slow CPCBox currently is, I'm not sure. But it's bothering the heck out of me. >:(

?? There are some delays.

it is known the the hsync is delayed by 2 crtc clocks before it leaves the gate-array, and is cut by the gate-array to a maximum of 6us.
this partly explains how the image is centralised in the display, and also why some values of hsync do not trigger interrupts.

I believe the same may be true of vsync, but I've not checked it.

do not forget the gate-array reads 2 bytes of memory for each crtc clock, it buffers these, then clocks them out to the display.

there is probably a delay in here, which explains why colours etc are delayed.

is it worth doing it for a few demos? depends on how far you want to go.

for me, I would do this.

I am currently investigating the dk'tronics ram expansion and how it's operation differs on a 464 compared to a 6128.
so I can emulate this in arnold correctly.

how far do you go with the timing of the instructions? do you do "inter instruction timings" where you consider that the i/o operations occur within the timing of the instruction? (e.g. outi, outd, the time for i/o happens before the instruction has finished executing), *this* will also explain why you have to work around the timings?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:00, 07 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:19, 07 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Executioner on 02:26, 08 July 11
That's another synchronisation issue: synchronisation between Z80 and GA. There is a 0.5µs lag between these 2 chips. Palette is modified right in the middle of a Z80 "µs cyle".
It's really the worst of those synchronization issues. And it's interesting to note that no emulator emulates this. I don't plan to do it either!

The display output shows the palette change 14 (MODE 2) pixels into the 16 pixels read in one go. I think this may be slightly different on the Plus also. So the actual change happens 14/16 * 4 T-States in, ie. It's aligned to 3.5 T-States. This could be emulated by getting the renderer to render the first 14 pixels, then do and internal palette update if necessary, but it would involve a lot of overhead just to get the emulation 2 MODE 2 pixels correct (only 1 pixel in MODE 1, and no difference in MODE 0).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 17:38, 08 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 17:46, 08 July 11
Well, I avoid that with a little, dirty trick :P
(Deinterlaced screenshot, so if you miss some pixels, go and search'em ;) )
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:10, 08 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 18:33, 08 July 11
Java CPC is the sleeping beast.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 19:34, 08 July 11
I am still curious, why no emulator shows these effects properly, too:
First is completely missing in all emulators I tested,
and 2nd looks very worse...
(Still deinterlaced screenshots)

Accurate images:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:42, 08 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 19:42, 08 July 11
I tried to get it working but with no luck at the moment. I can make those effects work but then there are glitches that appear in other demos, so i've not enabled it :(

It's easier as it seems ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 19:45, 08 July 11
Try a thing like this in your CRTC emulation:
(I only emulate CRTC 1 or 0 so you will understand what I do here)
Code: [Select]
// Some scrollers use register 8 (CRTC 0)
// and register 6 (CRTC 1). This routine makes them visible
// JavaCPC is the only known emulator which emulates booth correct!
    public void checkHDisp() {
        if (hDisp) {
            if (CRTCType == 0) {
                if ((reg[8] & 0x030) == 0x30) {
                    listener.hDispEnd();
                } else if ((reg[8] & 0x030) == 0x00) {
                    listener.hDispStart();
                }

            } else {
                if (reg[6] != 0) {
                    listener.hDispStart();
                } else {
                    listener.hDispEnd();
                }

            }
        }
    }

and call it every GateArray cycle...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:10, 08 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 20:15, 08 July 11
It seems that everybody thinks that they get things right  :P
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:45, 08 July 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 22:05, 08 July 11
Nice...
Now just fix Reg 6 / 8 registers ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Executioner on 02:44, 09 July 11
Oops, my post earlier was completely wrong. I was thinking of the HSYNC blanking timing on the standard CPC I think. The Grim documentation is accurate for palette changes.

@Markus, it appears JavaCPC most likely delays the palette change one whole extra microsecond for you to get the correct screen output on Vanity.

WinAPE also has a slight interrupt timing issue which I never tracked down. I'm not sure if it's common to all emulators, but I dicussed it with someone back on CPC Zone. About the only things I'd really like to get back from Malc are those posts.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 11:39, 09 July 11
@Markus, it appears JavaCPC most likely delays the palette change one whole extra microsecond for you to get the correct screen output on Vanity.

Its just done with a very dirty trick ;)
All other rasters behave like other emulators do, too...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:54, 28 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:42, 28 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 17:34, 28 August 11
Thanks phix2!!!  :D

Wonderful Job!!!  ;D ;D ;D

I get a solid 30 fps, i think that it's great with so good emulation :)

Is there any way to load my own DSKs???

We are using in http://amstradcpc.es/ (http://amstradcpc.es/) the javascript emulator of Antonio Villena, and i don't know if i told before in the CPCWiki, but thanks to Antonio, we made the database freely avalaible here (http://www.megaupload.com/?d=6WTPKOA1) for all the community, surely you can find useful for CPCBox, too.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:10, 28 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 18:32, 28 August 11
Great!!! ;) I have tested more mode 5 pictures, another of my raster examples, a few scroll hardware, ruptures, ... you said it and CPCBox emulate it with accuracy!!!  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 18:42, 28 August 11
Now it just needs to ask for less resources :P
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Morn on 21:10, 28 August 11
Now it just needs to ask for less resources :P


Well, my favorite CPC  emulator runs perfectly even on a lowly 4 MHz Z80 and comes with its own stylish case and monitor. And the emulation is so perfect that it almost feels like the real thing. Oh wait, it is!  :D

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 04:54, 29 August 11
Now it just needs to ask for less resources :P

Well... INDEED! If I compare other Emulators ... OMG! 30 fps or 900 fps (if needed!) are VERY different.
The max speed of an emu is a factor that deserves way more consideration.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 10:10, 29 August 11
I just need stable 50fps. With sound enabled the emu sometimes drops to 41 or less fps and stutters on my Phenom II X4 955BE. I think that I have enough cpu for an amstrad emulator.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:36, 29 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:40, 29 August 11
Well,
sure a FPS rate of 900 could be cool.
But, as far I understand it, CPCBox is an experiment.
And it's a cool thing to have an emulated CPC in javascript with extremely accurate CPU and CRTC/GateArray emulation.
Sure it could run better, but isn't that a thing for the browser-providers to improve javascript execution speed?
On the other hand, Roland runs much smoother. But also it's emulation core is not so complex than in CPCBox.
So, both emulators are cool in their way:
- CPCBox is highly accurate and will run better in the future (I'm sure)
- Roland is a speedy emulator which is good enough to run games in it.
The fact, that both use javascript, apologizes the lack of speed ;)

Sure it would be also possible to code a CPC emulator in Flash... But then, surely without sound!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: steve on 14:59, 29 August 11
I find it funny that you think nothing of buying a new and faster PC so that you can emulate a computer that you can buy on ebay for <£50. :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: antoniovillena on 17:57, 29 August 11
  Hello Phi2x

  I think that Syx wanted to say that we would like to include cpcbox in amstradcpc.es webpage. That page is not exclusively for Roland and we don't earn money with it (as there are no ads).

  It would be interesting to access with your emulator to a huge database of 4000 games without loading local files. Also, my emulator is poor in accuracy, and doesn't work with many games with splited modes.

  Thanks for your great emulator and your regular updates.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:33, 29 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: antoniovillena on 23:07, 29 August 11

Thank you for your reponse, phi2x. So DevilMarkus if you are reading this post (and you are interested) contact me.

Nope, I'm not interested at all in seeing CPCBox used on other websites.
In fact, this is partly why CPCBox is NOT an open-source project, to block this kind of initiative to happen!

But you have more interesting alternatives anyway: I think you should work with DevilMarkus on that project.
His online Java emulator is open-source. And it is already used on different websites, like cpc-power.com (http://cpc-power.com/)

Another advantage is that its emulator is accurate AND fast. So it would certainly fit better with what you're trying to do ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:54, 30 August 11
Nope, I'm not interested at all in seeing CPCBox used on other websites.
In fact, this is partly why CPCBox is NOT an open-source project, to block this kind of initiative to happen!


Well, it's your right of course, but it sounds strange - why wouldn't you want that? Just curious...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 10:44, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:09, 30 August 11
You could have saved some typing, as I wasn't referring to the license scheme :D I believe each author's choice of license is their own business, though:

a. for instance, an open-source Batman would lead to better demos and
b. Open source does not prevent, of course, IP.

I was talking about not wanting to incorporate the emulator in other projects.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:32, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:41, 30 August 11
Erm... not quite. Going closed-source does not prevent you from allowing the emulator to be used in other projects and vice-versa. One is a condition subset of the other that does not necessarily affect the end result. You could very well keep the emulator closed but allow it to be used - how on earth would you lose IP then? As for piggy-backing, aw, come on, we're a small community where there are people trying to offer something to the rest of it. If you see it as piggy-backing and play it all defensive then you see it wrong...

Winape, for instance (as other emulators, too) isincluded in the CPCGamesCD which is a wonderful package and builds on top of other people's efforts to present something really nice. Honestly, I can't see how *anyone* could lose from it. Has zit to do with who holds the copyright, who is credited and who has the right to make millions of €€€ off of it.

An emulation community's prime aim, raison d'être and -really- survival prerequisite is sharing and spreading. If we kept everything separate, in silos and with limitations in use then we'd be far, far behind - especially a small community like ours (the Spectrum and c= communities are large enough to be able to support commercial projects).

PS Oh, also, an open-source project doesn't automatically mean 'free'. It could be commercial or donationware, too.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 11:56, 30 August 11
An emulation community's prime aim, raison d'être and -really- survival prerequisite is sharing and spreading.


Amen to that  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:06, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:07, 30 August 11
Just one thing:
JavaCPC and it's sources are still open source.
The sources are STILL available on sourcforge.
I just removed 1-2 classes (Which contain personal data like a full mail account)
But with a few changes you still can build JavaCPC from these sources.
*EOF*
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:08, 30 August 11
...and Phi2x wins the argument by not agreeing and calling 'bullshit'! Woo-hoo, we broke new ground in logic here! :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:11, 30 August 11
...and Phi2x wins the argument by not agreeing and calling 'bullshit'! Woo-hoo, we broke new ground in logic here! :D

Well we German use a phrase like this:
'People who live in glass houses should not throw stones' ;)

Right: WinApe is not open source.
But also true: Always when I asked Richard for some source, he sent me... :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:12, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:16, 30 August 11
I do not speak with dishonest people.

Wow... thats hard stuff...
So tell us, who is dishonest...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:18, 30 August 11
I do not speak with dishonest people. Do not speak to me EVER again.

(http://www.cpcwiki.eu/facepalm.gif)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 12:25, 30 August 11
@Gryzor: I want a "Dislike" feature!!!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:26, 30 August 11
Yeah... one is not available, unfortunately!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Morn on 12:28, 30 August 11
You could very well keep the emulator closed but allow it to be used - how on earth would you lose IP then?


Gryzor, many people seem to think that Open Source = Public Domain or Open Source = GNU license and that making the source available somehow makes you lose copyright. Or that Open Source and restrictions on how and where the project is used are mutually exclusive. Which of course is not true at all, because there are many other licenses besides GNU and BSD. I think Stallman's evangelism for GNU is the problem, because it has created this impression that Open Source has to mean a project can be reused by anyone without even asking and that is has to allow users to distribute modified versions, etc. But that's actually GNU, not Open Source.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:33, 30 August 11
You're 100% correct, this has been a big issue for several years; but I'd expect that everyone who cares about IP would know it by now - or at least do a cursory google search to read on the matter. As a matter of fact, I just did, and I found articles dating back several years explaining the difference in no uncertain terms.

Stallman does have some merits, but of course you can disagree with those; after all, he's ideologically motivated, and his position includes quite a bit of hypothesizing and theorizing. On the other hand, laws and licenses are facts, not theories...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 13:13, 30 August 11
Sharing (http://www.youtube.com/watch?v=fmR-BBj3U1M#ws)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 18:49, 30 August 11
@Gryzor: I want a "Dislike" feature!!!

Well, I intended to ask before.... but now I got serious competition in winning that contest  :laugh:
 
Ok, guys, some nice excourses for the emotions. Now let's all relax a bit and come back to topic  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 18:51, 30 August 11
I thought it was quite fun while it lasted...!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: MaV on 19:20, 30 August 11
@Gryzor: I want a "Dislike" feature!!!

I don't want to know what happens then. It'll be a bloodbath.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 19:27, 30 August 11
I don't want to know what happens then. It'll be a bloodbath.

Vampires love that!
 
  :P  (at the left you see a blood licking smily, at the right the same dude a daylight)  8)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: MaV on 19:31, 30 August 11

Vampires love that!
 
  :P  (at the left you see a blood licking smily, at the right the same dude a daylight)  8)

Shall I show you my herb garden? I happen to have a very complete collection of various types of garlic. Don't worry. It's for your own good. *cackle*
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 21:26, 30 August 11
Ohmm, no not so really...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:55, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:27, 30 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: MaV on 23:30, 30 August 11
How can I get out of here?
Going step by step to point out the lies and expose the falsifiers.

I honestly don't know where it'll get us to, but it's time to take a closer look at what has been said here.

You don't have to, really. All those who responded wished for an open source JavaScript emulator. It is still your decision. And I assume everybody still respects your decision, even if they would have liked to see it open sourced.

Nothing more to say.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:35, 30 August 11
Well nobody wanted it to be open source.
But some people asked if it could be possible to put CPCBox on another server, because people find this emu cool.
I don't think that anybody wanted to erase any copyright or whatever else...
But that's your personal thing, how you treat the people...
WinApe is also not opensource but anybody is allowed to download it for free, to share it etc...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 23:36, 30 August 11
Compare it with open-sourcing CPCBox for instance. Other emulator authors would then directly go looking at my code and understand how I perform pixel-accurate rasters!
Can someone explain to me in clear terms what would then be the value of CPCBox?
Then, it would just be a snail slow Javascript emulator where all the advantages were sucked up without effort by his competitors.

Excuse me but, are we talking about competitors here? In the emulation of an obsolete platform, wich is mostly a hobby for everyone involved on the scene?


Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:41, 30 August 11
Excuse me but, are we talking about competitors here? In the emulation of an obsolete platform, wich is mostly a hobby for everyone involved on the scene?

Spoiler: ShowHide
http://decrass.ru/flash/gollum.swf
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 23:55, 30 August 11

@phi2x:

I think that the day that anyone discovers how to work those rasters in other emulators, CPCBox will be again at disadvantage for being written in JavaScript. I mean, it's ok as an exercise, and some time in the future, you'll be able to run it at full speed, but by not sharing your knowledge you're only making everyone else's life more difficult.


And I bet, you've read information about the CPC that wasn't written by you, so you used knowledge that other people shared. You're not competing with anyone here, users will choose the emulator that best suits their needs, and that hasn't to be the most accurate. Of course, if everybody could get accurate emulation, then the extra features of the emulator is what will make the difference.


That's my two cents.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:04, 31 August 11
Excuse me but, are we talking about competitors here? In the emulation of an obsolete platform, wich is mostly a hobby for everyone involved on the scene?

Careful with the words! The CPC is not obsolete at all! And for me it's my lifeblood. Else you're right.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 00:07, 31 August 11

Careful with the words! The CPC is not obsolete at all! And for me it's my lifeblood. Else you're right.

Would you prefer... discontinued?  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:10, 31 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:33, 31 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 01:17, 31 August 11
No motivation anymore to reply to this bullshit...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:28, 31 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 01:32, 31 August 11
Ok, now listen:
My Name also has a © now.
I don't want YOU to quote my name again, to reply to ANY of my threads and to write ANY comments about me, my nickname, my emulator or the colour how I shit in the toilet
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Bryce on 11:57, 31 August 11
I swore I wasn't going to join this thread, but I will:

@Phi2x:
First of all, whether you release the code or not is completely up to you. Don't let other people put you under pressure, and don't take too seriously what other people say about you or your work (here or anywhere else). With hardware it's very similar situation, some people (like me) release their entire plans, schematics and layouts and some prefer to keep it all a secret. I believe that "Copying  is the highest form of compliment", so I don't mind if people use my stuff to come up with better/other hardware. The fact that they needed to copy it, means they think it's really good, but weren't able to do it themselves. It also improves the quality of hardware/software available for our obsolete dis-continued but much loved 8-Bit machines. If you are worried that your work will be claimed by others as their own work, then you just have to make it MORE public, by releasing a technical description in the Wiki and calling it something like "Phi2x Rastering" or "Phi2x Rastering Method", that way, no matter who copies it, it will always be seen as your achievement and referred to as such.
Much the same happened with the ACID crack last year. Nocash cracked the ACID, he could have kept it for himself, but he released the information although he hadn't yet created the hardware (and still hasn't), so even if I released hardware that required just one transistor and a diode to replace the ACID, it would still be thanks to nocashs information and acknowledged accordingly.
It's all a matter of view point of course. I'd prefer to be seen as the person who improved EVERY emulator rather than the person who wrote one of many emulators. But that's just me, you might see it completely differently.

Just my two cents.

Bryce.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:34, 31 August 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 12:40, 31 August 11
I looked at JavaCPC sourcecode. Well, that code is a complete mess of doing demo detection and patching.


At least he's not so insecure that he won't let you look at it.  You only know this because Devilmarkus is sharing, and I applaud him for that.


Retro communities only survive through sharing, and this whole wiki/forum/community is based upon that ideal.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 13:34, 31 August 11
I looked at JavaCPC sourcecode. Well, that code is a complete mess of doing demo detection and patching.
I saw things like: if (from scratch is detected) then tweak some timings; if (camembert4 is detected) then poke memory; etc...
Yep, there is really stuff like that in JavaCPC!

I'm very sorry for DevilMarkus, but it's up to him to clean that mess. All the necessary information is available on the web. I certainly won't code his emulator for him.

Even if I use code like this, it's not your turn to moan around here like a stupid.
I never said that JavaCPC uses a clean code like CPCBox.
I'm not god, and I don't behave like him.
And I never said that I know about emulating things.
As you perhaps have seen, I am using the emulation core from JEMU and this emulator is very restricted in it's features.
Sure, I did also many improvements, but also I am doing a few patches to make some things work.
If you don't like this, printout my sources on soft paper, and clean your ...... with it.

YOU can be very proud of yourself... Why don't you marry you?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 13:45, 31 August 11
Ahem, maybe this is going a bit too far.


The thing is if phi2x would have said at the beginning of the topic that he's not sharing his sources because it is a clean emulation, and maybe pointed to some useful info, this ugly discussion wouldn't be taking place.


Also, the point in sharing is that no one is born knowing everything, and emulation is a tricky subject, so knowing how phi2x organized his code, may help people understand a better way to do things and improve. Of course, he's in his right not to do so, and that's the end of it.


I suggest moving on...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 13:56, 31 August 11
Yup, I'm unsuscribing from the topic.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 18:11, 31 August 11
Would you prefer... discontinued?  ;D
Well, sadly it really doesn't matter what I want...  :(  But... since you ask.... let's say... a genious system, that is temprary not available in the shelfs  ;)  And to make a kind of shake hands... well, if you like you can use that sentence also for other 4/8/16/21/27 Bit systems (Some PDP had 21 and 27 bit CPUs).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: steve on 18:18, 31 August 11
Don't forget the PDP-8 which had a 12-bit CPU :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 18:20, 31 August 11
... I don't see that much open-source demos, much less of great demos.
But I do. OdieSoft and Prodatron for example. They released a lot of source codes of thier demos and in OdieSofts case also a lot of sources for games. Just take a look outside your borders.
But I agree with BF, it's source would mainly show how to play movies. The result is a nice demo though.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 18:30, 31 August 11
Don't forget the PDP-8 which had a 12-bit CPU :)
Right, I forgot that... it's soooo long ago. But I always liked the "divine" numbers of bits.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:15, 31 August 11
Wow, lots of replies,the fun continues! Let's see...

@phi2x: how on EARTH using the emulator in another project would mean "throwing you out of control of your ownership on CPCBox" is beyond me - and, I suspect, anyone else's with a modicum of common sense. Or you're meaning to say that all the authors other emulators (and not only for the CPC) that are used in a myriad of third-party projects have lost "control" and "ownership"? If nothing else, those third-party projects have raised the emulators' popularity and awareness. Boy, you should probably work for RIAA or something, I hear they're good at distorting reality and sense.
   
If you didn't understand the video then, well, nevermind, obviously you have no feeling of sharing. But one wonders, why on earth would you release your emulator for free after all?

And even though I didn't mention open source myself, you actually respond as if I did. Of course, with open source the advantage is PRECISELY that people can build on others' work and produce something even better, that's the magic. Noone's losing their copyright or credit, but the end result is very positive for the common good, especially in a closely-knit community as ours. If you can't feel that, well, each to his own.
   
*competitors*? For the love of god... I don't have enough facepalm gif's to express my reaction...

Oh! Oh! I got an idea! Let's prohibit linking to the wiki, or using the knowledge that is there, to prevent 'competitors' from doing things with OUR material!
   
The diploma analogy is ridiculous, to say the least. A much, much more appropriate analogy would be this: imagine you got your engineering diploma and made a discovery that could help the entire society if it got open and free. Maybe a pysics law or something. Now imagine keeping it for yourself; not much future for science I suspect... As Robcfg pointed out, I really doubt you came up with the emulator without sourcing freely available material. The fact that those people made their knowledge available, and that you used it, merely proves that this model actually works. Taking freely available knowledge and others' efforts and using it to built something closed is nothing short of hypocritical.

Also, going open source does not prevent competition - of course. It only promotes it...

But, anyway, once more: it was YOU who brought up the open source thing, I merely asked about using the emulator in other projects which is, of course, a totally different issue. This is precisely why I didn't reply to your open source bullshit -because it was just an effort from your part to shift the issue. NOT so clever.

The fact that the demoscene does not agree with me doesn't prove much. I do understand the competitive spirit of the demo scene, but this doesn't mean that we wouldn't be enjoying more and better demos if the knowledge was public. Ahhh see what I did there? It's called "logic".

Claiming that open source =/IP is totally stupid and a load of crap. This has been done to death over the years - you obviously don't understand the concept of IP.

And how the (c) symbol has ANYTHING AT ALL to do with using the emulator in other project is, again, beyond me and logic. Its quite obvious you don't understand the most basic things behind copyright, creativity and IP. Or you didn't know that everything (EVERYTHING) on the wiki or elsewhere is copyrighted? What's more, under our license, typically what you create using knowledge found herein MUST follow the same license.
   
...and then you attack Marku's emulator... as if this proves anything AT ALL? Yes, patching is a bad emulator practice... so what??? Man, you're all over the place...

@Mav: no, noone talked about going open-source but Phi2x himself. All I asked was why he wouldn't allow the emulator to be used elsewhere.

@Bryce: you hit it right on the head; it was actually what I was thinking - instead of staying in "history" as the author of a great technique that helped moving emulators forward he'll just be that Scrooge who made something, somewhere and was afraid of everyone else.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:09, 01 September 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 01:24, 01 September 11
Quote from: phi2x
That's your opinion. And I don't care about it.


At this point, I'd close the thread, but being CPCBox's thread and not an IP discussion thread, I'd move the messages to another thread and close it.


It makes no sense to continue talking about it.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Bryce on 01:31, 01 September 11
It's a never ending discussion, because somewhere along the way the words "truth" and "lies" have been mistakenly used to describe what are in fact opinions, and opinions tend to differ and be very difficult to change.

Bryce.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 06:43, 01 September 11
Well, let everybody decide for own projects and it's good that way. Any contribution to the scene - in which way ever - is appreciated  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 08:24, 01 September 11
Watch it, mate; first you called me dishonest, then I was a mothership, now I've got a sneaky tongue? I'm getting really annoyed, not because of your opinions of course, but because of your conduct in here. Watch it. Obviously, you have some serious issues to turn this into a personal matter, but please take it elsewhere.

-IP as a first step... yadda-yadda... yeah, but guess what - you're not replying to my own point. As a matter of fact you're 100% off-topic.

-Obfuscated logic...?? Well, sorry if you can't understand it. I (obviously) keep my logic close-sourced so noone else can use it.

-Third point is, once more, not replying to my *very initial* point. You have an appetite for going off on a tangent, don't you?

-That's your emulator. And obviously not many people will be caring about it in the end :D

-Who the heck ordered you? You are really, really seeing ghosts everywhere. Go re-read the thread, might do you some good.

-I've got obsessions about money? :D :D :D Oh, wait, I see what's going on, you probably had a beer too many...

-My opinion is based, conveniently, on thousands of years of human experience and evolution. Yours, on the other fact, is based on "I don't think so".

-Of course I mentioned commercial apps as an example of needing strong protection, where on earth you would find a "malicious semantic shift" (????!!) is a wonder. Here I recognised some merit in the whole IP crap and you kicked it away :D

Gather yourself, mate. Maybe writing late at night doesn't agree with you, but regardless of the hour you're obviously a small, pitiful person with lots of issues you're trying to unload unto others.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 08:25, 01 September 11
Well, let everybody decide for own projects and it's good that way. Any contribution to the scene - in which way ever - is appreciated  ;)

Of course it is. What's more, it's a dev's own right to go as they please. But this does not preclude others from discussing such opinions and choices, nor does it give a right to be offensive.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:28, 11 September 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:48, 30 September 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 14:13, 30 September 11
Yep, the interface is really good and the execution too.


Oh, and the name is fantastic  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 08:00, 03 October 11
I don't find it so fantastic; sure, it's very nice, but it's not like we haven't seen such things on the Webs before...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: norecess on 14:28, 05 October 11
This is very nice. I especially like the fact the user interface is not intrusive (the clicks in left/right borders to display menu is well designed).


I wonder who will be the first to propose a full-featured, web-based development suite like Bespin (http://arstechnica.com/open-source/news/2009/02/ide-in-the-cloud-mozilla-labs-browser-based-ide-prototype.ars (http://arstechnica.com/open-source/news/2009/02/ide-in-the-cloud-mozilla-labs-browser-based-ide-prototype.ars)) adapted for Retro (or CPC) development (including an emulator).


Yes, it would be CPU-intensive but still - we all know this is the future, right? :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:06, 16 October 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:37, 23 October 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:15, 28 October 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:41, 30 October 11
I use Opera, and I have commented here before but I thought it didn't work at all?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:26, 30 October 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 21:14, 30 October 11
I wasn't talking about the file API, I thought CPCBox didn't work at all under Opera. Maybe I had tried an older version...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:07, 30 October 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 22:09, 30 October 11
Eek... growing old :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:16, 15 November 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:32, 18 November 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:20, 19 November 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:49, 03 December 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 18:01, 03 December 11
Wow!

You're doing a lot of bugfixing lately.

Keep up the good work!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:09, 03 December 11
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:05, 03 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:33, 05 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 03:18, 08 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:33, 08 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:38, 08 January 12
So what's the difference here without jitter correction?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:44, 08 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 20:54, 08 January 12
Ok... I see now...

Let's compare to JavaCPC's output ;)

Indeed your flames are a bit smoother...
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:49, 11 January 12
Can you try and make it run faster? Currently getting only 33fps on my Athlon II X4 635... so, despite any improvements, it's still rather unusable :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:58, 11 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 13:20, 18 January 12
I was giving it a try again, I have a Phenom X4 955 BE (3,2Ghz), 4GB of ram and Windows 7 64bits. I was testing it with the "From Scratch" demo.

On Firefox 9 the emu runs at 50fps most of the time. The drop in fps is pretty rare and barely noticeable.

On the latest stable version of Chrome (16.0.912.75 m) I get about 21-24fps.

Meanwhile in one of the latest Chromium builds (18.0.1001.0) I get 46-48fps. It won't reach 50, no idea why.

I've had the 3 browsers running at the same. Right now Chrome is the one that requires more processor power, almost the same that the other 2 browsers together, I would say.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:32, 18 January 12
Wtf... maybe I'll reinstall Windows...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 13:38, 18 January 12
Wich browsers have you tested? And what OS do you use?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 13:48, 18 January 12
Win7 64-bit, Chrome Canary and FF 6.0.2 (I don't upgrade because I only use it to run Webrunner and keep Gmail running as an app).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 14:02, 18 January 12
You can always try another compilation of firefox like Palemoon (there is a 64bits version) or use a portable version of firefox  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 18:04, 19 January 12
You can always try another compilation of firefox like Palemoon (there is a 64bits version) or use a portable version of firefox  :)

Right, thanks for the suggestion (stupid me...). Ran FF 10 nightly and it shot up to 50fps right away! Great sound, too! Finally!!!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:25, 19 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 03:44, 22 January 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:08, 24 March 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 10:48, 25 March 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 11:20, 25 March 12
CPCBox 20120325 changelog:
- Made a few bugfixes to the FDC emulation. Fixed R-Type 128K :)
I remembered that we can upload our game to play it online (tested old beta version of R-Type on it).
It's no more possible?

I don't see it on the list. It run fine?

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:41, 25 March 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:05, 27 March 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:07, 28 March 12
Does it support ROMs now?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:15, 28 March 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 10:18, 28 March 12
The control panel is a nice idea and a great implementation. Here's to more to come :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 15:41, 28 March 12
RUM support is great!
Cheers!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:11, 01 April 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:42, 10 April 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:47, 06 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 09:09, 06 June 12

Quote
Reworked the canvas renderer to use direct 32-bit access
Increase the framerate ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:44, 06 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:00, 10 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:50, 19 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 20:32, 19 June 12
As you say CDT/TZX is too much complex if you want to support everything, although is very helpful to hack and fix... (i have made a few tools), if PZX is a more clean and it's easy to convert all the TZXs and we don't lose anything, then GREAT!!!  :)

But aside of one "digital" format, we should support an "audio" format, too. And CSW is perfect for it and you can get a WAV easily from it.

The rest of formats can be generated from these two.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:53, 19 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:13, 19 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 23:40, 19 June 12
Well, then if everything can be reduced to PZX, then my emulator only would suport this format and i would make a tool to convert from every format to PZX  ;D

For me, using WAV or MP3 in emulator is silly  :P
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:15, 20 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 17:13, 20 June 12
It'd be nice to have a simple, neat format to supersede all others and could easily produce reliable sound files. However, the difficult part is this: you'd need to check every file you convert, and this would take ages...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 22:18, 20 June 12
Already at the beginning of 2011 I was absolutely amazed about this crazy project! An Emulator for a whole 8bit machine in JAVASCRIPT? First I couldn't believe it at this time, but then I saw, that it really worked.
 In the beginning of the 2000er for me Javascript was something like Basic in the beginning of the 80ies. Nice to use, but slow. But I know, it's getting more and more powerfull.
 When I saw CPCBox the first time in early 2011, it was already fast enough on my Computer, and I was really wondering, how someone could be so crazy to start such an unbelievable project.
 
  [ You are not allowed to view attachments ]
 
 Now it runs better and better, and today I had a lot of fun to see SymbOS running on CPCBox "in Javascript"  (http://www.cpcwiki.eu/forum/Smileys/SoLoSMiLeYS1/grin.gif)
 
 @Phi2x: Fantastic work!!
 
 CU,
 Prodatron
 (who is coding in Javascript since 15 years, but never thought before, that this would be possible!)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:23, 21 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 03:47, 21 June 12
@Phi2x: Thanx a lot for these very nice compliments! :)

Anyway I think CPCBox is another impressive step after Marco Vieths very first CPC-Emu for MS-DOS or after Richard Wilsons really perfect WinApe Emulator for Windows (Delphi) or his JEMU (Java), as it again enters another world of actual technology. I think there is nothing else comparable for other 8bit systems yet (the C64 JS emu [JSC64] seems to be still very crappy?).
Keep on the great work! In the past it was an amazing proof of concept, now it's a full working and very accurate reality :)

CU,
Prodatron
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:27, 21 June 12
Wow, mate, long time no see! :)


Was CPC-Emu really the first CPC emulator? If so, huge amounts of respect...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 13:37, 21 June 12
Well that is, what I remember. Maybe 1-2 other ones appeared at the same time or a little bit later (like Arnold or !CPCemu).
At least with CPC-Emu Marco Vieth created the first version of the standard disc format "DSK" which was later used by all other emulators ;)

CU,
Prodatron
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:48, 22 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 14:40, 22 June 12
Checking converted files is a task that's a perfect fit for crowdsourcing.
The checking will then be handled by all the people (dumpers, users...) that will be interested in replacing their CDT with PZX. It would be a smooth and gradual replacement.
 


That is true, this could be organised between members of a community. But yes, it's not easy changing default formats, there must be merit to it!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:20, 23 June 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:16, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 14:13, 01 July 12
Well, all the hard work was made by TotO, he always get the best from the CPC colours ;)

And Great Work phi2x!!! It looks more as the cpc in my tv :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:59, 01 July 12
But doesnt the colour palette depend on accurate RGB adjustage in the CTM?
Mine was bit reddish... (Until I adjusted it)
Anyway: good work.
Please share your test program ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:31, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 15:45, 01 July 12
SyX!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:03, 01 July 12
Ok, once I measured the colours from CPC's output signal.
The result is here:
[attachimg=1]

As you can see, there are also differences between the dithered pixels.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 16:05, 01 July 12
>>> Mir'Color (http://www.cpcwiki.eu/forum/applications/mir'color/) <<<

EDIT:
OK, you got it... ;)

With a perfect but improbable "linear palette", the 3 grays strips have to look the same on the light, middle and dark part.
On a real CPC, it may look more blue, or red or green, depending the resistors inside the computer.
So, you can adjust your CTM and/or fix CPC resistors using this tool to get a best display result.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 16:14, 01 July 12
As you can see, there are also differences between the dithered pixels.
I can see a CRTC emulation problem too. :D
The Mode 2 look 1 pixel shifted to the left, no?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:20, 01 July 12
I can see a CRTC emulation problem too. :D
The Mode 2 look 1 pixel shifted to the left, no?

Sure it is ;) Like I posted in the other thread.
Question about GateArray (http://www.cpcwiki.eu/forum/emulators/question-about-gatearray/)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:26, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:28, 01 July 12
Well I don't think so.
The difference is:
Grim measured directly @ the GA's output.
I measured AFTER the resistors...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:31, 01 July 12
Some more: (To not confuse TotO, without pixelshifting)
 [ You are not allowed to view attachments ]  [ You are not allowed to view attachments ]  [ You are not allowed to view attachments ]

First: Linear palette
Second: Green screen
Third: Monochrome screen

Edit: monochrome result needs better measuring... These are calculated values. But a monochrome monitor is NOT gray only! (Like the greenie is NOT green only)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:41, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:43, 01 July 12
I am using these values:
Code: [Select]
    protected static final int[] inkTranslateMeasured = {
        /*R G B */
        0x677867, /*13*/
        0x677867, /*27*/
        0x0FF878, /*19*/
        0xF8F865, /*25*/
        0x020850, /* 1*/
        0xEF186F, /* 7*/
        0x087067, /*10*/
        0xF8896F, /*16*/
        0xEF186F, /*28*/
        0xF8F865, /*29*/
        0xF8F821, /*24*/
        0xF7F8F8, /*26*/
        0xE81F13, /* 6*/
        0xF818F8, /* 8*/
        0xF88F07, /*15*/
        0xF889F8, /*17*/
        0x020850, /*30*/
        0x0FF878, /*31*/
        0x11F80E, /*18*/
        0x28F8F8, /*20*/
        0x000706, /* 0*/
        0x0A10D8, /* 2*/
        0x086F08, /* 9*/
        0x0F7EF8, /*11*/
        0x570F59, /* 4*/
        0x78F870, /*22*/
        0x80F80C, /*21*/
        0x79F8F8, /*23*/
        0x510F08, /* 3*/
        0x6011E8, /* 5*/
        0x677807, /*12*/
        0x6F7FF8 /*14*/
    };

Grim these:
Code: [Select]
    protected static final int[] inkTranslateGrim = {
        /*R G B */
        0x6E7D6B, /*13*/
        0x6E7D6B, /*27*/
        0x00F36B, /*19*/
        0xF3F36D, /*25*/
        0x00026B, /* 1*/
        0xF00268, /* 7*/
        0x007868, /*10*/
        0xF37D6B, /*16*/
        0xF00268, /*28*/
        0xF3F36D, /*29*/
        0xF3F30D, /*24*/
        0xFFF3F9, /*26*/
        0xF30506, /* 6*/
        0xF302F4, /* 8*/
        0xF37D0D, /*15*/
        0xFA80F9, /*17*/
        0x00026B, /*30*/
        0x00F36B, /*31*/
        0x02F001, /*18*/
        0x0FF3F2, /*20*/
        0x000201, /* 0*/
        0x0C02F4, /* 2*/
        0x027801, /* 9*/
        0x0C7BF4, /*11*/
        0x690268, /* 4*/
        0x71F36B, /*22*/
        0x71F504, /*21*/
        0x71F3F4, /*23*/
        0x6C0201, /* 3*/
        0x6C02F2, /* 5*/
        0x6E7B01, /*12*/
        0x6E7BF6 /*14*/
    };

So, if I use Grim's measured values, the result looks like this:
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:53, 01 July 12
On a real CPC it should look like this:
 [ You are not allowed to view attachments ]

If not, ALL CPCs are bad, only emulators are perfect  :P 8)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:53, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:56, 01 July 12
Yeah thats true: A greenscreen cant display a real dark black.
It's always greenish

The greenie palette I use, was also measured by Grim ;)

Edit: Think, that a greenie would just show green values: What would it result in? Into only 15 green colours. But a CPC has 27 colours (green tones)

And here we find the most important problems for emulators, which are 8 bit RGB based:
We only can difference between 15 values (0x00 - 0x0f)
Thats why we need at least RR,GG,BB values
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 17:22, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:22, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:39, 01 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 00:11, 03 July 12
Doesn't the CPC have a luminance pin in the din video connector for the monochrome signal?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:42, 03 July 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 04:30, 05 August 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 03:30, 08 August 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 14:54, 08 August 12
Did you ever wonder why CPCBox runs so slowly on Chrome?
Yeah, me too...

Look what I found: CPCBox - Tiny JS benchmark (http://cpcbox.com/bench.htm)
 :o




Ouch! Opera 12 reports 65 calls/sec on my office PC while Chrome 21 only 5!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Bryce on 15:49, 08 August 12
Firefox 14 on win7 is reporting 74 calls per second. I wouldn't even consider installing Chrome just to find out what it gets.

Bryce.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: ralferoo on 15:52, 08 August 12
I got 89 calls per second. I was going to moan about how pathetically low that number seems given the work it's actually doing, but it looks like my PC is faster than most!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:12, 08 August 12
I've got 85 calls... FF 14.0.1
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:55, 01 September 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Wondermac on 01:34, 03 September 12
Phi2x do you think it could be possible to adapt cpcbox to run on an iphone and ipad ?
Can you imagine having this great computer in your pocket ?
There is actually no cpc emulator on iphone and maybe you are the guy who could do that ?
Thank you for your great work
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:22, 04 September 12
Firefox 14 on win7 is reporting 74 calls per second. I wouldn't even consider installing Chrome just to find out what it gets.
Chrome gives me 4 calls/sec.
 
Explorer is 1 call/sec
 
And Firefox 15 (installed just now) gives:.... changing numbers, 98 at the beginning, then between 60 and 80. The mean is around 72 calls/sec.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Bryce on 00:29, 04 September 12
4 calls/sec??? What's it running on, A C64? :D

Bryce.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 10:42, 04 September 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Wondermac on 00:10, 05 September 12
Ok you are right. I ve made a test with chrome for ios but same as safari : it does not work :-(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: ralferoo on 23:47, 09 September 12
There's no CPC emulator on iphone because that goes against Apple policy.
Apple forbids and rejects any app that is submitted to them that contains a VM that can execute arbitrary code.  :(
I don't have iphone / ipad etc so I'm not 100% sure, but I think I read that this rule has been unofficially dropped and there's suddenly a plethora of VM type things, including development environments for interpreted languages.

But I guess, emulators are still probably in the area they want to discourage because people playing free games on an emulator aren't buying games on the app store...
Title: Cpcbox on iPad 2
Post by: Mario on 01:20, 24 September 12
After upgrading to ios 6 cpcbox works ! But i can.t play on it as it doesn't support touch control. I guess it'll work with Bluetooth keyboard ? Or maybe you could implement some kind of on screen joystick ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 20:43, 24 September 12
4 calls/sec??? What's it running on, A C64? :D

Bryce.
On a $4000 laptop (3.6 Ghz) with Windows 7. Not FutureOS!  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:37, 24 September 12
.
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:53, 24 September 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:00, 25 September 12
Well, my job keeps me pretty busy, so no time for pranks. But look up a Dell XPS M1730 (blue version), you shall find it in the net.  :)
Like this: http://cocmall.com/pic/08101455610.jpg (http://cocmall.com/pic/08101455610.jpg)
 
And OMG! It's cheaper now!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:21, 25 September 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: McKlain on 00:24, 25 September 12
Doesn't look really portable  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 15:26, 25 September 12
I agree it would be cool to have touchscreen controls, but it's not high priority for me now.
 



Nah, not really. Even games specifically designed for touch controls can't pull it off most of the times...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:49, 25 September 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:36, 03 October 12
Indeed. The only games I've found that I really enjoy and play again and again are either very simple ones, control-wise (like Canabalt) (or, even better, I must run!), or needing just simple clicks like defense titles (Anomaly Warzone Earth FTW!). All the other control styles - I've played some games that would have been fantastic on a pc with physical input devices, but dropped them within minutes on my mobile.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:43, 10 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 13:22, 10 November 12
Since you swapped the initial display size to the largest possible on the page, its very slow now.
(~30fps)
I am using Firefox 16.0.2
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:49, 10 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 15:28, 10 November 12
I always have the latest display drivers installed.

I use an ATI Radeon HD 5570. Would be crazy when it would be blacklisted...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 15:47, 10 November 12
Btw, the actual CPCBOX Version runs fine on my Android Smartphone (Samsung Note II) in Firefox with about 12fps  :) Thats not bad for a mobile I guess. It doesnt run with Chrome or the standard browser because of a missing Html5 Api.
I just have to fins out how to activate the touchscreenkeyboard...

CU,
Prodatron
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 17:41, 10 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:28, 10 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:49, 11 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:34, 11 November 12
How stupid: My gfx driver was 1 rev. older than the actual... (I had rev. 12.9 and actual is 12.10)
And it had been blacklisted...
What a lousy crap :-D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 03:33, 12 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:26, 12 November 12
Nice, we <3 tapes. Does it also play the sound?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 14:42, 12 November 12
Got trouble with the keyboard.
It's AZERTY now?!?

Only when I change my kb-translation to FR it works ok...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:47, 13 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:04, 13 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 01:48, 13 November 12
In JavaCPC (Java is also weird with keycodes etc...) I coded a KeyTranslator class, which changes the required KeyEvents:

Code: [Select]
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jemu.ui;

import java.awt.event.KeyEvent;

/**
 *
 * @author Markus
 */
public class KeyTranslator {

    protected boolean DEBUG = false;

    public KeyEvent translate(KeyEvent g, String localkeys) {
        KeyEvent e = g;
        // Special CPC keys
        if (e.getKeyLocation() != 1) {
            // small enter key
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                e.setKeyCode(KeyEvent.VK_END);
            }
            // F-Key mapping (When joystick is off)
            if (Switches.joystick != 1) {
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD0) {
                    e.setKeyCode(KeyEvent.VK_F12);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD1) {
                    e.setKeyCode(KeyEvent.VK_F1);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD2) {
                    e.setKeyCode(KeyEvent.VK_F2);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD3) {
                    e.setKeyCode(KeyEvent.VK_F3);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD4) {
                    e.setKeyCode(KeyEvent.VK_F4);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD5) {
                    e.setKeyCode(KeyEvent.VK_F5);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD6) {
                    e.setKeyCode(KeyEvent.VK_F6);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD7) {
                    e.setKeyCode(KeyEvent.VK_F7);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD8) {
                    e.setKeyCode(KeyEvent.VK_F8);
                }
                if (e.getKeyCode() == KeyEvent.VK_NUMPAD9) {
                    e.setKeyCode(KeyEvent.VK_F9);
                }
            }
        }

        // german keyboard mapping
        if (localkeys.equals("DE_DE")) {
            if (DEBUG) {
                System.out.println("DE: " + e.getKeyChar());
            }
            if (e.getKeyChar() == '\u00FC' || e.getKeyChar() == '\u00DC') {
                e.setKeyCode(KeyEvent.VK_OPEN_BRACKET);
                return e;
            }
            if (e.getKeyChar() == '\u00E4' || e.getKeyChar() == '\u00C4') {
                e.setKeyCode(KeyEvent.VK_QUOTE);
                return e;
            }
            if (e.getKeyChar() == '\u00F6' || e.getKeyChar() == '\u00D6') {
                e.setKeyCode(KeyEvent.VK_SEMICOLON);
                return e;
            }
            if (e.getKeyChar() == '\u00DF' || e.getKeyChar() == '\u003F') {
                e.setKeyCode(KeyEvent.VK_MINUS);
                return e;
            }
            if (e.getKeyCode() == 0x2d) // - key to /
            {
                e.setKeyCode(KeyEvent.VK_SLASH);
                return e;
            }

            if (e.getKeyCode() == 0x81) // ß key to ^
            {
                e.setKeyCode(KeyEvent.VK_EQUALS);
                return e;
            }
            if (e.getKeyCode() == 0x99) // <> key to [
            {
                e.setKeyCode(KeyEvent.VK_ALT_GRAPH);
                return e;
            }
            if (e.getKeyCode() == 0x82) // ^ key to TAB
            {
                e.setKeyCode(KeyEvent.VK_TAB);
                return e;
            }
            if (e.getKeyCode() == 0x208) // # key to \
            {
                e.setKeyCode(KeyEvent.VK_BACK_SLASH);
                return e;
            }
            if (e.getKeyCode() == 0x209) // + key to ]
            {
                e.setKeyCode(KeyEvent.VK_CLOSE_BRACKET);
                return e;
            }

            if (e.getKeyCode() == KeyEvent.VK_Z) // change Z to Y
            {
                e.setKeyCode(KeyEvent.VK_Y);
                return e;
            }
            if (e.getKeyCode() == KeyEvent.VK_Y) // and Y to Z
            {
                e.setKeyCode(KeyEvent.VK_Z);
                return e;
            }
        }
        // german mapping end

        // spanish keyboard mapping
        if (localkeys.equals("ES_ES")) {
            if (DEBUG) {
                System.out.println("ES: " + e.getKeyChar());
            }
            if (e.getKeyChar() == '\u00BA' || e.getKeyChar() == '\u00B2') {
                e.setKeyCode(KeyEvent.VK_TAB);
                return e;
            }
            if (e.getKeyChar() == '\u00E7' || e.getKeyChar() == '\u00C7') {
                e.setKeyCode(KeyEvent.VK_BACK_SLASH);
                return e;
            }

            if (e.getKeyChar() == '\u00D1' || e.getKeyChar() == '\u00F1') {
                e.setKeyCode(KeyEvent.VK_SEMICOLON);
                return e;
            }
            if (e.getKeyCode() == 0xde) {
                e.setKeyCode(KeyEvent.VK_MINUS);
                return e;
            }
            if (e.getKeyCode() == 0x2d) // - key to /
            {
                e.setKeyCode(KeyEvent.VK_SLASH);
                return e;
            }
            if (e.getKeyCode() == 0x81) {
                e.setKeyCode(KeyEvent.VK_QUOTE);
                return e;
            }
            if (e.getKeyCode() == 0x209) // + key to ]
            {
                e.setKeyCode(KeyEvent.VK_CLOSE_BRACKET);
                return e;
            }

            if (e.getKeyCode() == 0x206) {
                e.setKeyCode(KeyEvent.VK_EQUALS);
                return e;
            }
            if (e.getKeyCode() == 0x99) {
                e.setKeyCode(KeyEvent.VK_ALT_GRAPH);
                return e;
            }
            if (e.getKeyCode() == 0x80) {
                e.setKeyCode(KeyEvent.VK_OPEN_BRACKET);
                return e;
            }
        }
        // spanish mapping end

        // french keyboard mapping
        if (localkeys.equals("FR_FR")) {
            if (DEBUG) {
                System.out.println("FR: " + e.getKeyChar());
            }
            // ,;:=
            if (e.getKeyCode() == 515) {
                e.setKeyCode(KeyEvent.VK_CLOSE_BRACKET);
                return e;
            } else if (e.getKeyCode() == 130) {
                e.setKeyCode(KeyEvent.VK_OPEN_BRACKET);
                return e;
            } else if (e.getKeyCode() == 57) {
                e.setKeyCode(KeyEvent.VK_9);
                return e;
            } else if (e.getKeyCode() == 522) {
                e.setKeyCode(KeyEvent.VK_MINUS);
                return e;
            } else if (e.getKeyCode() == KeyEvent.VK_Q) {
                e.setKeyCode(KeyEvent.VK_A);
                return e;
            } else if (e.getKeyCode() == KeyEvent.VK_A) {
                e.setKeyCode(KeyEvent.VK_Q);
                return e;
            } else if (e.getKeyCode() == KeyEvent.VK_Z) {
                e.setKeyCode(KeyEvent.VK_W);
                return e;
            } else if (e.getKeyCode() == KeyEvent.VK_W) {
                e.setKeyCode(KeyEvent.VK_Z);
                return e;
            } else if (e.getKeyChar() == '\u00B2' || (e.getKeyCode() == 0 && (int) e.getKeyChar() == 65535)) {
                e.setKeyCode(KeyEvent.VK_BACK_SLASH);
                return e;
            } else if (e.getKeyChar() == '\u0025' || e.getKeyChar() == '\u00F9') {
                e.setKeyCode(KeyEvent.VK_QUOTE);
                return e;
            } else if (e.getKeyCode() == 151) {
                e.setKeyCode(KeyEvent.VK_ALT_GRAPH);
                return e;
            } else if (e.getKeyCode() == 77) {
                e.setKeyCode(59);
                return e;
            } else if (e.getKeyCode() == 44) {
                e.setKeyCode(77);
                return e;
            } else if (e.getKeyCode() == 59) {
                e.setKeyCode(44);
                return e;
            } else if (e.getKeyCode() == 517) {
                e.setKeyCode(KeyEvent.VK_SLASH);
                return e;
            } else if (e.getKeyCode() == 513) {
                e.setKeyCode(KeyEvent.VK_PERIOD);
                return e;
            }
        }
        // french mapping end
        return e;
    }
}

I call it every key press and key release.
E.g.:
Code: [Select]
public void KeyPressed(KeyEvent e){
    translator.translate(e, localkeys);
    computer.handleKeyEvent(e);
}

Works fine ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:10, 13 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 02:11, 13 November 12
Hmmm sad... I hoped my code was helpful :(
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:31, 13 November 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:53, 07 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 23:23, 07 December 12
It's amazing how far your project has come phi2x. Congratulations!!! :)

The first versions were practically unusable in my computer, now i get a solid 50fps (although in full-screen mode only 30 fps :P) and of course, the most accurate cpc emulator (great Z80, pixel perfect rasters, ... :) ), so accurate that these days CPCBox is my last test, before checking in the real machine.

I think that you will be interested in the new ZEXALL test (faster and with tests for the recently discovered CCF/SCF flags) that Patrik Rak is working, you can see more info in this thread (http://www.worldofspectrum.org/forums/showthread.php?t=41704).

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 23:27, 07 December 12
[attachimg=1]

Looking forward to it!  :P
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: db6128 on 02:51, 08 December 12
I think that you will be interested in the new ZEXALL test (faster and with tests for the recently discovered CCF/SCF flags) that Patrik Rak is working, you can see more info in this thread (http://www.worldofspectrum.org/forums/showthread.php?t=41704).
Jeez... The Z80 is a great little device, but things like that just seem unnecessarily complex and obscure. ;) But I'm definitely glad there are people who care that much about accuracy.
 
Quote from: Patrik Rak
Well, if we are lucky, it will behave in such a way that single bit is enough to represent this state. OTOH, when you consider how F register works, it would make sense if there was some place to assemble new F, and then just store it to F. The way how F is paired with A for PUSH/POP AF and EX AF,AF' furthermore makes F seem like an ordinary register, so having another place for flag assembly makes sense.
I really wish F was an ordinary register. Can you tell I'm kinda running out of spares at the moment? :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: SyX on 11:37, 08 December 12
Jeez... The Z80 is a great little device, but things like that just seem unnecessarily complex and obscure. ;) But I'm definitely glad there are people who care that much about accuracy.
A long time ago, i would think the same... but while coding pac-man, i had a bug where the right eye of the ghost was an 0 (Ghost in the Shell eyes  :P ), instead the correct tile. And this bug only was visible in Caprice, CPCBox and the real machine. The problem was related to bad flags emulation, it's because that i think it's a great idea the emulators pass these tests :)

I really wish F was an ordinary register. Can you tell I'm kinda running out of spares at the moment? :D
Sure  :D , that is the only reason for coding a little in the 6502, then you will feel free again :P

And after use the alternative registers, we always have the stack, sm-code, I, the high bit of R, the second I/O port in the PSG, ... :P

PD: Patrik has announced already the new tests (sources included) here (http://www.worldofspectrum.org/forums/showthread.php?t=41834).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:08, 08 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: db6128 on 17:59, 08 December 12
A long time ago, i would think the same... but while coding pac-man, i had a bug where the right eye of the ghost was an 0 (Ghost in the Shell eyes  :P ), instead the correct tile. And this bug only was visible in Caprice, CPCBox and the real machine. The problem was related to bad flags emulation, it's because that i think it's a great idea the emulators pass these tests :)
Oh, definitely, I'm very glad that people care enough to find these things out and then emulate them! What I meant was that it's just a bit of a shame that this otherwise very cool little chip has some major peculiarities like this, especially for the dedicated programmers of emulators, etc. :)
 
Quote
Sure  :D , that is the only reason for coding a little in the 6502, then you will feel free again :P
Haha, maybe some other time, when I'm not running out of the Z80's many more registers! I can only imagine how much more free programmers felt who had been using the 8080 when the Z80 came out and added the alternate set of registers. Especially if you're not using interrupts, they can be a massive advantage. I do wish IX/IY were more useful, though; I've been coding something with data arranged in a struct-like format, and I have to do all sorts of acrobatics using INC/DEC (H)L, so I was disappointed when I calculated that doing it via IX/IY would be quite a bit slower and thus probably not worth the extra readability. The only real use I've found of IX/IY so far is to use the undocumented 8-bit IXH, etc. as counters in outer loops, seeing as operations on them are only 1 NOP slower than the equivalents on H/L

Quote
And after use the alternative registers, we always have the stack, sm-code, I, the high bit of R, the second I/O port in the PSG, ... :P
Ah, SP. I love SP. Who needs a real stack, anyway? :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:34, 09 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:03, 09 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 22:40, 09 December 12
The Rtc time in an emulator should always be the rtc time of the host system. Dont know if anything else would make sense?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:54, 09 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:09, 10 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 22:56, 10 December 12
Cool... A Nocash page:
  Pictures  I love it ;)

Using this chip?
Does SymbOS use it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:07, 10 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:16, 10 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 23:26, 10 December 12
Sure its always useful to see the real time while playing Ikari Warriors ;)

Nah, joking...
It's sure a useful featue for several things!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 00:51, 11 December 12
I've noted that OCP Art Studio use the Kempston mouse positions as if it was for a 640*400 CPC screen. But with my PC settings and my simple optical mouse, it's totally unusable if the mouse is not slowed down further than what OCP does.

So in my implementation, I first tried to divide the sensitivity by 2 on each axis. That means that CPCBox is working internally as if the CPC screen was of 1280*800 resolution. It still felt a bit too fast for OCP, but it had very much a PC mouse feeling to it.
I then divided it by 4 on each axis, so it's exactly as if the CPC had a 2560*1600 resolution! Then it felt a bit slow, perhaps even painful, to move the mouse over the screen.

What I understood now is, that you are currently transfer the relative movement of the PC-mouse directly to the emulator (with some multiplications/division). What's about transfering the absolute position of the mouse pointer (when it's over the emulator screen area) to the emulator?
Let's say:
- emu window is 960x600 (without border), CPC is in Mode1 320x200
- PCmouse is at 96x60 and moves to 288x180
- this would be 32x20 moving to 96x60 on CPC side
- emulated Kempston mouse should move 64 in X and 40 in Y direction
- when entering and re-entering the window, there must be some special tricks to handle the emulated mouse in a good way
I think this is how Richard is doing this in WinApe with the SYMBiFACE II mouse, which works quite good.

Would this be realisable or doesn't it make sense??

CU,
Prodatron
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 02:06, 11 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Bryce on 11:16, 11 December 12
Won't it depend on what the users mouse has been set to on the PC? The DPI resolution can be set directly in the mouse, and also in windows depending on what the user likes, the CPC mouse movement will then be similar to what the user normally uses. So ph12x method does make more sense.

When I was designing the AMX Mouse adapter, I found that the mouse had to be set to it's least sensitive setting, otherwise the pointer shot across the screen with even the slightest movement of the mouse. Due to no PC being present, my adapter sets this directly in the mouse, but even then the PIC further de-sensitises the mouse movement by ignoring any movement below a certain threshold, this removes pixel-jitter. The final result was that about 3cm mouse movement was required to move the pointer from one side of the screen to the other.

Bryce.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:31, 11 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:18, 14 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 17:10, 18 December 12
Rum... board... rum... board... a board of rum... damnit, he's at it again with his riddles.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 19:58, 18 December 12
Drunken pirates always talk in riddles  :laugh:  That's the way to teach the parrots  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 16:20, 29 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:58, 29 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 04:14, 30 December 12
Do you talk about the RTC of Dobbertin? (I guess yes, since you mentioned the Time ROM).
 
If people want to know how to program hardware they usually start to disassemble FutureOS, but we can't wait that long, can we :laugh:
 
Now, how to read and write from the Dobbertin Smartwatch?
The watch itself is installed like a ROM. And as you know you can read from a ROM. So that tells you how to read from the Watch.
 
And writing? Writing is done by reading from prefinde addresses. For example wrinting from XXX1 writes an "1" and reading from XXX0 will write a "0" to the RTC.
 
And yes it's done bit oriented.
 
You need Z80 code for it?
 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:47, 30 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:23, 30 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 09:05, 31 December 12
Nice to see that you're coming forward.
Well, to be honest I don't have any time for scanning and updating the Wiki. PM me if you need help / sources, I can not post any source here, because I don't have permission of releasing it into public. (I talk about discs I got from FA Dobbertin in May 2012, they are all DSK now, but still not free for public release).
 
EDIT: I may get permission of release soon, but I have to be careful. Small routines would not be a problem though - I think.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:55, 31 December 12
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 13:37, 04 January 13
I just found a video on YouTube presenting CPCBox and a Java-based Spectrum Emulator:

Play ZX Spectrum and CPC games in your browser! (http://www.youtube.com/watch?v=vMMtPHondmI#ws)

CU,
Prodatron

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:50, 04 January 13
.
Title: AW: CPCBox, your CPC emulator in Javascript
Post by: Prodatron on 22:12, 04 January 13
At least the video shows that CPC-Box looks much better than the small javabased Spectrum one :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:25, 22 February 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 15:29, 22 February 13
Good enough for the Ides of March. Not like we're expecting a new and improved version every single day mate :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 21:41, 22 February 13
Good enough for the Ides of March. Not like we're expecting a new and improved version every single day mate :)

No?!?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:40, 07 July 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:24, 07 July 13
Heheheh is this the Compo Version? D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:39, 07 July 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:18, 11 July 13
Nah, nevermind, just give us :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:20, 12 July 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 12:02, 14 July 13
An option to actually play the wav to the user? :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:32, 14 July 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:58, 14 July 13
Not really, but listening to the tape loading soothes my nerves ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:29, 14 July 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Markus Mobius on 05:19, 16 October 13
Is it possible to have cpcbox as a packaged chrome app? That would allow me to use it offline as well as online. It could also be in the chrome store.


It's a fantastic website by the way.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 09:16, 16 October 13
Is it possible to have cpcbox as a packaged chrome app? That would allow me to use it offline as well as online. It could also be in the chrome store.


It's a fantastic website by the way.


Oh, that's a great idea... 
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 22:14, 16 October 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 23:10, 16 October 13
But I see a problem with the Chrome web store: it only works with the Chrome browser!
And that's not good I think. I prefer to see CPCBox running equally on any browser that respect web standards


Does it run on IE now? If not, Chrome is all you need  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:23, 16 October 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: andycadley on 00:08, 17 October 13

Does it run on IE now? If not, Chrome is all you need  ;)

Nope, it fails on IE11 due to Uint8ClampedArray
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:43, 17 October 13
Well, guess I stick with Chrome then...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mahlemiut on 01:10, 17 October 13
Here's something completely unrelated, but really the news is of importance (when you remember what happened in the past in this thread)!

According to this post, MAME will switch from their current not-for-profit license to the BSD license:
David Haywood's Homepage » The End? Newer Update (http://mamedev.emulab.it/haze/2013/10/15/the-end/)

Basically, it means that everyone is now authorized to make commercial exploitation of the MAME sourcecode.
And that decision has been taken without consulting the people who contributed in the project.

So, at the moment, I'm having a thought for all the volunteers that believed in the lies of the MAME team, contributing to the MAME project naively believing that they were protected by the MAME license that there wouldn't ever be any leechers legally making money out of their work.

The moral of the story is that if you decide to publish your code with an open-source license, you'll loose every concrete control on the code you worked hard for.
And there's just enough malevolant people in this world that it won't be long before those people will rip your work and exploit it for their sole profit.

The proof has been made by the MAME team :(

Haze loves his drama :)

Current situation is:  MAME core will be BSD, and MAME and MESS devices and drivers will be licensed according to the wishes of the author(s) (MAME, BSD, LGPL, or GPL).

The MAME license is essentially BSD with a non-commercial clause. 

Taking those malevolent people to court costs money.  MAMEdev doesn't have that sort of money.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:31, 20 October 13
A 'malevolent' person could equally take any other emulator out there and sell "it" (actually they're not selling the emulators, rather they sell compilations of ROMs and programs; that's entirely different). So while I understand your way of thinking the overall picture doesn't change...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Zoe Robinson on 10:58, 23 October 13
I have to say I really like CPCBox - it's nice to use the same emulator regardless of the computer I'm sat at at the time. My only gripe is the default AZERTY keyboard, which confused the hell out of me for the first few times I used it. Is there an option to switch to QWERTY? If not, is that a planned update for the future?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 09:32, 24 October 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: redbox on 13:57, 24 October 13
In the next CPCBox release I'm working on,  I've overhauled the keyboard handling to fix the issue.

The current version works on my iPhone (with Safari) at about 25fps which is impressive.

However, there is no sound and I can't control the keyboard.  Any plans to update these factors for Safari?

Would be great if you could - who needs an App (and all of Apples meglo-mania control mechanisms) when it works in a browser  ;)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Zoe Robinson on 16:13, 24 October 13
The current version works on my iPhone (with Safari) at about 25fps which is impressive.

However, there is no sound and I can't control the keyboard.  Any plans to update these factors for Safari?

Would be great if you could - who needs an App (and all of Apples meglo-mania control mechanisms) when it works in a browser  ;)


Oooh, a virtual keyboard displayed under the screen would be a cool way of dealing with the keyboard-on-phones issue. Add in cloud/Dropbox support and you could use the disk drive/tape deck with files stored on the phone, too...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:55, 25 October 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 12:04, 25 October 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: ralferoo on 12:51, 02 November 13
Yes, I'm aware it's a big downside at the moment.
In the next CPCBox release I'm working on,  I've overhauled the keyboard handling to fix the issue.
I just tried using CPCBox to test some tape functionality (that's another matter) and found I couldn't even try CPCBox with my own tape at all... Why?

Well, choosing the 464 configuration with a tape player lets me select my tape image, but I can't RUN" because there's an AMSDOS ROM loaded and I can't switch to tape mode because I can't type | nor it seems any punctuation apart from a comma.

Is there a workaround?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:04, 02 November 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: dragon on 19:34, 16 December 13
i try it in ps4 web browser, and it works,but control keys are bad mapped. Is possible fix it?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:42, 27 December 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:40, 28 December 13
Well, except you everybody is a newcomer. So you did well including that.  :)


When creating a own product it's hard to write good docs, because one knows everything about it and it's hard to imagine the questions of newbies.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:07, 28 December 13
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:51, 02 February 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 21:54, 02 February 14
On my machine chrome gets 250ms per frame. That's 4 frames per second... Hmmm, yes, that's crap.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 22:23, 02 February 14
192 here. But the computer is couple years old.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:06, 03 February 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:01, 03 February 14
300ms Opera Chromium and Chrome, 550ms FF, 350 IE. Pffft!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Lone on 11:03, 03 February 14
I think WebGl and asm.js offer some shortcut to avoid lots of layers of code. Also, modern computer developpement focus on "good code that can be maintain",  despite of "fast code"


Since I found that modern OS and CPU don't allow self modifying code, I'm like you, I lost my illusions...


PS : 130 ms on chrome (bu with a nice core I7 CPU)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Sykobee (Briggsy) on 12:32, 03 February 14
Thanks for putting in the English keyboard option.


Please note that on UK keyboards the " and @ are swapped from the US keyboard, so in CPC Box the "{" is showing up for shift-2, and the quote for shift-' (to the right of ;).


There might be other similar issues.


Chrome gave me around 125ms here, on my fast work PC in Linux.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:20, 03 February 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:48, 05 February 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 03:21, 05 February 14
So... what now? Back to Java?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:14, 05 February 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 20:18, 05 February 14
Lol... troubleshooting 101 :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 21:05, 05 February 14
Take a deep breath...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 01:16, 19 March 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 14:10, 19 March 14
Pffft I wanna play in Opera :D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:29, 10 May 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:47, 11 May 14
Haha. Not me. But lot's of people use it. So it's great to see, that it works now.


My browser is called FutureScape and will be releases at June 15. in the year of 3834.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 13:20, 17 May 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 20:55, 17 May 14
Well, in this case take a break and do something else for couple days. That always helped me.

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:39, 21 August 14
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: andycadley on 00:02, 22 August 14
Finally got round to trying this on my Surface 2 and it works! :-)

Gets about 15fps and I can't do much since I don't have the keyboard plugged in (too lazy to go find where I put it!) but it's still pretty damn cool to see. Shame about the audio stuff but that's the web for you I guess!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: nitrofurano on 00:55, 22 August 14
i didn't test it with cpc+ palette and gx4000 .cpr or .rom files yet - would it work?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: mr_lou on 08:21, 22 August 14
This time it's official! Mozilla completely removed the Audio Data API from Firefox :'(

As far as I understand, the Web Audio API is going to be a standard.
So that's probably why they deprecated their own API, and now completely removed it.
You're going to have to dig into Web Audio API if you want sound back.

Personally I'm looking forward to seeing Web Audio API stuff. It looks like the old MOD and XM music files might gain new life again in HTML5 games because of Web Audio API. That's good news for composers using IndieGameMusic.com  :)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Devilmarkus on 16:04, 28 January 15
Seems that there is no more audio available in CPCBox.
Doesnt work for me in Firefox and also no audio in Chrome.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:12, 28 January 15
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: robcfg on 22:21, 28 January 15
As with most things in life, the next time you do a program, you do it better because of the lessons you learned before. To do it better takes time and effort, but it's worth it.


The real problem is finding the time to do it  ;D


Btw, on my new MacBook Pro, CPCBox on Chrome runs at 45 fps, pretty playable. Keep up the good work!
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 18:42, 29 January 15

That's because CPCBox uses the obsoleted Audio Data API for sound output.
Audio actually still works in CPCBox if you use an older Firefox release (up to FireFox 27).
I'm still working on the next generation of CPCBox at the moment, so all hope is not lost ;)

Well, I'm curious how much time (in percent please 8) ) you have to waste just because browsers constantly update things and stop to support things. That must be a real pain in the a... .
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:29, 29 January 15
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TFM on 00:37, 30 January 15
Quite interesting!

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: greatxerox on 03:04, 11 February 15
i added cpc box in Emufrance (http://www.emu-france.com/emulateurs/305-multi-systemes/423-emulateurs-en-ligne/6811-cpcbox/). it's really a very good emulator for browsers !


i hope you'll update the sound engine. (no sound in Opera 27)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:40, 10 August 15
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 17:35, 11 August 15
That's nice news. Apart from accuracy, what else do you envision for the next version?


By the way: is there any way to associate a dsk file, say, with an online emulator? I think maybe a small program that would launch the browser, open the page and pass the file path would be possible...?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 19:08, 11 August 15
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: trabitboy on 16:05, 14 March 16
I was looking into running cpc box on firefox android and it seems to work fine ,
apart from keyboard input using touch screen ( I'll try an OTG keyboard this week )

It is pretty easy to run a local js application with firefox for android .
It really could be a solution for cpc emu on android .

Is there a github to check the source of cpc box ?  ( can't find anything with google )
I just want to hack something in js to pass the text input from touch in the emu.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 20:49, 14 March 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: trabitboy on 11:12, 15 March 16
ok , sorry for not reading the thread properly.   ;)   My mistake.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: trabitboy on 12:00, 15 March 16
out of curiosity, is it an emscriptem port of something?  8)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:04, 15 March 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: charlionline on 20:23, 15 March 16
Great job! Love it



www.sohobarpalma.com

Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Executioner on 01:23, 17 March 16
CPCBox is not open-source.

 CPCBox is JavaScript, doesn't that make it open source by definition?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 11:46, 17 March 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Executioner on 14:30, 17 March 16
Technically speaking yes, the javascript code that is fed to the browser is visible to everyone via the F12 devtools of any browser.

And that explains why there's so much javascript obfuscation tools that currently exist ;) .

Their goal is to protect source code from being stolen, or being tampered with.

It's sad but counting on a simple copyright banner to protect your work will just make crooks laugh at it while they're ripping it.

 Unfortunately, all you can do is change variable and function names and remove all the whitespace so the code is hard to read, then someone just
reformats it in NetBeans or Eclipse and works out what the functions actually do. Mind you, Java is not much better, there's tools like JAD can rip apart
a Java class file, and a good assembly hacker can rip apart x86 (or Z80) code fairly quickly (this I have done, eg. Frogger and Snapper (6502)).
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:54, 17 March 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Munchausen on 10:37, 03 April 16
I was just looking at some code listings on the forum and thought it would be really cool if you could load them automatically in cpcbox to see what the code does (perhaps an extra feature to add to the [   code   ] blocks). If there was an assembler built in this could even work for asm listings. Just an idea anyway...
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 14:32, 03 April 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:03, 03 April 16
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:05, 06 January 17
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 11:33, 04 July 19
Hi,



I integrated CPCBOX on my personal site to play online.
I wanted to congratulate you for this emulator, it's really good work.


I took the time to read all the comments about your emulator. But I did not find any trace on the next version you wanted to make.


I admit that if the future version (if there is one) could take into account the sound it would be really a plus.


Otherwise, I did not find how to load a .dsk file in javascript. I use snapshots, but some games need to access the disk.


Finally, here, I really wanted to congratulate you and I really hope that there will be an upcoming version.


Good job.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:14, 05 July 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 00:31, 05 July 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: norecess on 20:15, 10 July 19
The emulator will now be found in www.retrovm.com (http://www.retrovm.com)
Hmm. I personally think the domain name is not appropriate, because of this another Amstrad CPC emulator: http://www.retrovirtualmachine.org/en/
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 21:04, 10 July 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: AMSDOS on 08:54, 11 July 19
Was wondering if you were going to consider a BBC Micro machine as part of the other Computers?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 15:33, 11 July 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 07:02, 18 July 19
Also the cpcbox.com domain name will expire in a few days from now and I won't renew it.
You have renew it. Do you think the opposite too?  ::)
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 09:42, 18 July 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: TotO on 15:29, 18 July 19
Well. Probably your registrad had renew it for you during one year if you change your minds.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: Gryzor on 11:54, 19 July 19
Very often there's a couple of weeks' worth of grace period.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: soukron on 20:38, 04 November 19
The reason is that my goal in the future is that my emulator will also be able to emulate some other computers than just the CPC.
So it won't make sense to still keep the CPCbox name.

Any chance to release the code from the old version considering such deep change in the emulator?

On the other hand, is there any way to pre-load an specific rom when the page loads? I'm trying to automate some tasks with Puppeteer like loading a game and pressing some keystrokes but I wonder if there's any way to load a rom directly to save time.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 23:15, 04 November 19
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: soukron on 09:53, 05 November 19
Nope. I don't plan to release the source code.

Okay, no worries. I thought I could use the emulator in a fancy project but I'll need to check out other options. As said, I want to automate the interactions with Puppeteer to create an AI agent which plays a game and CPCBox was great enough but without being able to include some features it doesn't feet my needs.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 02:09, 05 January 20

Happy New Year everyone !


Hi PhilZeVibe,


I take the liberty of asking you about CPCBox.
I wanted to know if with CPCBox, it was possible in javascript, to load a DSK file from a URL in the reader without going through the selection of a file (as for the snapshot)?
I've been trying for months, but I can't.
If you have advice or an idea, it would be nice.
If not so be it  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 08:34, 05 January 20
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 10:38, 30 March 20

Hello PhilZeVibe,


Have you started your new project ?
Still developed in JavaScript ?
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:33, 30 March 20
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 17:15, 31 March 20
I look forward  ;D
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 12:36, 05 May 20
Hi PhilZeVibe,

Another question, in the next version, will it be possible to read the RAM?
It could be used to recover the player's score.



Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 17:35, 10 June 20

I do not have an answer to my question and I see that PhilZeVibe has not connected since March 20.
I hope he is well.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: PhilZeVibe on 18:46, 10 June 20
.
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 21:13, 10 June 20

I'm glad to hear from you. Having no answer I was afraid that you would be a victim of COVID19


Great, this is good news for RetroVM.
I watched several emulators, and it is really CPCBox that I prefer even if the big problem is the sound.
It's a good job. Strongly the release of RetroVM.  ;D


Best regards,
Title: Re: CPCBox, your CPC emulator in Javascript
Post by: BZHGames on 11:42, 01 June 21

Hi,


While searching the internet a bit to see if the RetroVM project was progressing, I found an "@retrovm" account on twitter. It is not you ?