- Top Stats

Top Posters Top Topic Starters Top Topics
Devilmarku... 888
Gryzor 491
arnoldemu 345
TFM 326
PhilZeVibe 278
Devilmarku... 46
13
freemac 9
Gryzor 9
arnoldemu 7
CPCBox, your C... - 98980 Views phi2x 20:49, 09 September 10
JavaCPC Deskto... - 61877 Views Devilmarku... 23:46, 25 December 09
JavaCPC Deskto... - 55904 Views Devilmarku... 13:05, 14 August 11
'CPCInAJar' em... - 39906 Views Devilmarku... 16:56, 12 January 11
arnold wip - 25667 Views arnoldemu 21:52, 20 January 16


Author Topic: CPCBox, your CPC emulator in Javascript  (Read 98981 times)

0 Members and 1 Guest are viewing this topic.

Offline charlionline

  • CPC464
  • **
  • Posts: 5
  • Liked: 8
Re: CPCBox, your CPC emulator in Javascript
« Reply #575 on: 20:23, 15 March 16 »
Great job! Love it



www.sohobarpalma.com


Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 390
Re: CPCBox, your CPC emulator in Javascript
« Reply #576 on: 01:23, 17 March 16 »
CPCBox is not open-source.

 CPCBox is JavaScript, doesn't that make it open source by definition?

Offline PhilZeVibe

  • 464 Plus
  • *****
  • Posts: 460
  • Country: fr
    • CPCBox - CPC emulator in JavaScript
  • Liked: 154
Re: CPCBox, your CPC emulator in Javascript
« Reply #577 on: 11:46, 17 March 16 »
CPCBox is JavaScript, doesn't that make it open source by definition?

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.
Atwood's law (2007): "Any application that can be written in JavaScript, will eventually be written in JavaScript."

Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 390
Re: CPCBox, your CPC emulator in Javascript
« Reply #578 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)).

Offline PhilZeVibe

  • 464 Plus
  • *****
  • Posts: 460
  • Country: fr
    • CPCBox - CPC emulator in JavaScript
  • Liked: 154
Re: CPCBox, your CPC emulator in Javascript
« Reply #579 on: 14:54, 17 March 16 »
Yes, good obfuscators remove comments, variable names, function names and concatenate all the source code files in one big file.
But pretty printers can't fix any of that afterwards  ;)

What I found is that good obfuscators render my code much harder to understand.

So much in fact that it's certainly easier for crooks to go rip someone else's code instead of mine.

And that's the whole point of it, right?
Atwood's law (2007): "Any application that can be written in JavaScript, will eventually be written in JavaScript."

Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 771
  • Country: gb
  • Liked: 211
Re: CPCBox, your CPC emulator in Javascript
« Reply #580 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...

Offline PhilZeVibe

  • 464 Plus
  • *****
  • Posts: 460
  • Country: fr
    • CPCBox - CPC emulator in JavaScript
  • Liked: 154
Re: CPCBox, your CPC emulator in Javascript
« Reply #581 on: 14:32, 03 April 16 »
Oh boy, you have no idea what my to-do list for CPCBox looks like... It's freaking huge!
I'm really not asking for suggestions at the moment.
Atwood's law (2007): "Any application that can be written in JavaScript, will eventually be written in JavaScript."

Offline PhilZeVibe

  • 464 Plus
  • *****
  • Posts: 460
  • Country: fr
    • CPCBox - CPC emulator in JavaScript
  • Liked: 154
Re: CPCBox, your CPC emulator in Javascript
« Reply #582 on: 15:03, 03 April 16 »
It's probably a good time to tell you where I am with this project. ;)
It will be short... Basically, CPCBox is on a hiatus.

Things are moving fast in the browser landscape at this point, so it doesn't make much sense to work on such feeble foundations.
Most importantly, I'm waiting for an important piece of technology called "Web Components".
My plan is to create the UI of CPCBox using this new W3C standard. But this spec is so new that no browser has a valid implementation of it now...
« Last Edit: 15:24, 03 April 16 by phi2x »
Atwood's law (2007): "Any application that can be written in JavaScript, will eventually be written in JavaScript."

Offline PhilZeVibe

  • 464 Plus
  • *****
  • Posts: 460
  • Country: fr
    • CPCBox - CPC emulator in JavaScript
  • Liked: 154
Re: CPCBox, your CPC emulator in Javascript
« Reply #583 on: 23:05, 06 January 17 »
The author of YAKC emulator made an interesting article about the technicalities of implementing Z80 cycle-accuracy:
https://floooh.github.io/2017/12/10/z80-emu-evolution.html


I also found some crazily detailed information about the Z80 timings here:
http://baltazarstudios.com/zilog-z80-undocumented-behavior/
« Last Edit: 04:59, 12 March 19 by PhilZeVibe »
Atwood's law (2007): "Any application that can be written in JavaScript, will eventually be written in JavaScript."