Jump to content
IGNORED

Js99'er


Asmusr

Recommended Posts

  • 2 months later...

The latest version of js99er.net, 6.2 (as shown in the log), fixes an issue with missing sound in Chrome. Chrome now requires user interaction before a web site can play any sound, so you need to press a key or click with the mouse before you will hear any sound. I believe this has been the case in Safari (Mac OS) for a while, and I have previously added a specific fix for Safari, but the new, general fix is supposed to work in all browsers.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

I'm working on rewriting JS99'er using a new set of tools. Things are moving fast in the JavaScript lane, and the way I did this four years ago is no hopelessly out of date.

 

The new version is rewritten in the TypeScript language, which is a type-checked extension to JavaScript that is "transpiled" into plain JavaScript (or ECMA script, as it's called now).

 

I'm using Angular as my development framework, and Angular-cli as build tool. For the UI display I have switched from Bootstrap 3 to 4.

 

When the first version is ready, the changes to the end user are going be minimal: a new screen layout that allows a bigger TI screen will be the most obvious change. But in the future the new modular design will allow a better debugger, for instance, and it will be possible to run any registered cartridge simply by providing the right url.

  • Like 7
Link to comment
Share on other sites

I'm working on rewriting JS99'er using a new set of tools. Things are moving fast in the JavaScript lane, and the way I did this four years ago is no hopelessly out of date.

 

The new version is rewritten in the TypeScript language, which is a type-checked extension to JavaScript that is "transpiled" into plain JavaScript (or ECMA script, as it's called now).

 

I'm using Angular as my development framework, and Angular-cli as build tool. For the UI display I have switched from Bootstrap 3 to 4.

 

When the first version is ready, the changes to the end user are going be minimal: a new screen layout that allows a bigger TI screen will be the most obvious change. But in the future the new modular design will allow a better debugger, for instance, and it will be possible to run any registered cartridge simply by providing the right url.

Cool I've had to study about angular and our client is using some typescript, so it will be interesting to see what you're doing.

Link to comment
Share on other sites

I'm working on rewriting JS99'er using a new set of tools. Things are moving fast in the JavaScript lane, and the way I did this four years ago is no hopelessly out of date.

 

The new version is rewritten in the TypeScript language, which is a type-checked extension to JavaScript that is "transpiled" into plain JavaScript (or ECMA script, as it's called now).

 

I'm using Angular as my development framework, and Angular-cli as build tool. For the UI display I have switched from Bootstrap 3 to 4.

 

When the first version is ready, the changes to the end user are going be minimal: a new screen layout that allows a bigger TI screen will be the most obvious change. But in the future the new modular design will allow a better debugger, for instance, and it will be possible to run any registered cartridge simply by providing the right url.

 

That is cool stuff. I wonder if you will notice a performance impact switching to Angular. Guess it comes down to what components you really use angular for?

Haven't looked at js99.er source code to see how the screen drawing is handled. Guess you are using canvas for that. Will you keep that native or are you using some kind of library for that? A few months back I did a project prototype for work with Fabric.js but due to the amount of objects used on canvas it got slow as hell. I then went down going the native road and switched to using position div's which worked well enough for me and was superfast.

 

Going back to js99er. If the debugger is reworked perhaps source maps/lists for assembly language could be supported?

Link to comment
Share on other sites

 

That is cool stuff. I wonder if you will notice a performance impact switching to Angular. Guess it comes down to what components you really use angular for?

Haven't looked at js99.er source code to see how the screen drawing is handled. Guess you are using canvas for that. Will you keep that native or are you using some kind of library for that? A few months back I did a project prototype for work with Fabric.js but due to the amount of objects used on canvas it got slow as hell. I then went down going the native road and switched to using position div's which worked well enough for me and was superfast.

 

Going back to js99er. If the debugger is reworked perhaps source maps/lists for assembly language could be supported?

 

Angular will only be used for the user interface surrounding the emulator, so I don't expect this to affect performance much. The core emulator is a set of TypeScript classes that can be used with or without Angular. The emulator is drawing directly to the canvas image data - line by line, pixel by pixel - in a very low-level fashion.

 

The problem with source maps in JS99er is that you cannot load a file into a browser without asking the user, so every time you changed the source you would have to click a button and load the file again. But it would definitely be a cool feature to have.

Edited by Asmusr
Link to comment
Share on other sites

  • 2 weeks later...

The new beta version is available from http://js99er.net/beta or http://beta.js99er.net

 

I think there are still things not working, and there are definitely things not carefully tested.

 

For the UI I decided to switch from Bootstrap to Angular Material because it's much simpler to learn and it has some really nice features.

 

The biggest change at the moment compared to the old version is probably the larger TI screen area, which has been optimized for 16/9 screens. The Disk tab should also be a bit more logical to use. I don't think the performance has suffered much.

 

The "More" software menu is currently missing. I'm working on that, and the ability to load any cart directly from a URL.

 

Source code at: https://github.com/Rasmus-M/js99er-angular

Edited by Asmusr
  • Like 9
Link to comment
Share on other sites

I have noticed that the Google Drive integration in JS99er is broken and probably has been so for a while. Since nobody has reported it I assume that nobody is using this feature (including myself), and I can remove it rather than converting it to the new version. Please let me know if you disagree.

Link to comment
Share on other sites

That sounds like Oracle Java, not OpenJDK. Linux distributions switched to OpenJDK a long time ago (I think it was when Sun Microsystems was sold), but OpenJDK is also available for other platforms.

 

Oracle is an utter PITA, and they crash every community they can get hold of. In a tech forum someone posted: Well, the yacht needs to be paid.

  • Like 2
Link to comment
Share on other sites

I have noticed that the Google Drive integration in JS99er is broken and probably has been so for a while. Since nobody has reported it I assume that nobody is using this feature (including myself), and I can remove it rather than converting it to the new version. Please let me know if you disagree.

 

I must use it when I use JS99er on my Android phone, but I do not remember the last time that was—perhaps, a little over a year.

 

...lee

Link to comment
Share on other sites

I just started using JS99'er recently.

I like it, but i seem to be having a issue.

I saved a wav file from JS99'er late last night and went to bed.

Today, JS99'er will not let me open the wav file.

I get the error pictured.

post-64087-0-42803600-1532356838_thumb.png

I have a solution to it, but i feel i should not have to do this; JS99'er should be able to read the same wav files it creates.

The solution was to use a resampling tool to change the wave file JS99'er outputs from 44100 32bit, to 44100 8 bit.

Further more, CS1er will not read any wav file from JS99'er unless i resample it.

Edited by jrhodes
Link to comment
Share on other sites

I just started using JS99'er recently.

I like it, but i seem to be having a issue.

I saved a wav file from JS99'er late last night and went to bed.

Today, JS99'er will not let me open the wav file.

I get the error pictured.

I have a solution to it, but i feel i should not have to do this; JS99'er should be able to read the same wav files it creates.

The solution was to use a resampling tool to change the wave file JS99'er outputs from 44100 32bit, to 44100 8 bit.

Further more, CS1er will not read any wav file from JS99'er unless i resample it.

 

I also get that in Firefox but not in Chrome or Edge. I will investigate.

Link to comment
Share on other sites

Well, JS99er is not programmed in Java.

 

Yes, it rather bothers me with my TIImageTool. But as I said, I believe all Oracle Java will soon be replaced by OpenJDK.

 

Interesting to see that people still believe that there is a connection between Java and Javascript. That marketing move - renaming Livescript to Javascript to exploit Java's popularity - really paid off.

Link to comment
Share on other sites

 

 

Interesting to see that people still believe that there is a connection between Java and Javascript. That marketing move - renaming Livescript to Javascript to exploit Java's popularity - really paid off.

 

Well, for the uninitiated, it's a natural conclusion to come to :) I'm surprised Oracle didn't sue for name infringement!

Link to comment
Share on other sites

Well, for the uninitiated, it's a natural conclusion to come to :) I'm surprised Oracle didn't sue for name infringement!

 

This happened long before Oracle's involvement, so it would have been Sun's concern. :-) Sun and Netscape cooperatively developed Javascript, which was initially intended to embed Java applets in web pages.

Link to comment
Share on other sites

I have noticed that the Google Drive integration in JS99er is broken and probably has been so for a while. Since nobody has reported it I assume that nobody is using this feature (including myself), and I can remove it rather than converting it to the new version. Please let me know if you disagree.

 

I liked having the option, but the warnings Drive gives about using an unsigned extension might scare people off.

 

But that's part of the magic of open source. If someone here is passionate enough about the feature, they can always fix it and submit a pull request for your consideration.

 

This thing is so cool. Thanks for continuing to improve it! I love the feature to link directly to a cart.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...