jsbeeb - a Javascript emulator
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Could be; though I'd expect more to be broken if that were the case. I'm fairly certain jsbeeb's CPU emulation is correct after all the tortures I've put it through, at least!
More likely the information being passed to the ACIA from the tape emulation layer isn't quite right on one or other side. There's a lot of funky stuff going on there. There's also a lot of extra cool stuff (frequency stuff, stop bit encoding) that happens in the UEF format that doesn't matter in the "Tapefile" format (that I implemented first).
I'll definitely have a poke (though any bystanders' thoughts are very much welcomed!)
More likely the information being passed to the ACIA from the tape emulation layer isn't quite right on one or other side. There's a lot of funky stuff going on there. There's also a lot of extra cool stuff (frequency stuff, stop bit encoding) that happens in the UEF format that doesn't matter in the "Tapefile" format (that I implemented first).
I'll definitely have a poke (though any bystanders' thoughts are very much welcomed!)
Re: jsbeeb - a Javascript emulator
Sorry Matt, having GitHub login issues.
I just tried jsbeeb on Chrome Canary and it is very slow, probably something I haven't ticked or just that it is beta, but I thought I would mention it.
I just tried jsbeeb on Chrome Canary and it is very slow, probably something I haven't ticked or just that it is beta, but I thought I would mention it.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Interesting...is there anything in the Javascript console? (hit ctrl-HOME to stop jsbeeb, then ctrl-shift J)
Re: jsbeeb - a Javascript emulator
Looks OK (to me ).
It probably just defaults some js optimisation off, but I thought it was worth mentioning.
It probably just defaults some js optimisation off, but I thought it was worth mentioning.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Thanks! Looks like all the things I'd expect to initialise have done so OK: and there's no errors. I'll take a look!
Re: jsbeeb - a Javascript emulator
I'm doing a bit of development and I keep on updating my ssd . It there a away to force jsbeeb to always reread the ssd instead of using the cached version?
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Hmm that's odd; how are you loading the ssd? Caching is app done in the browser not in jsbeeb itself; but there will be away to do this:)
Re: jsbeeb - a Javascript emulator
Just using the Disc menu. It appears I need to change to another ssd then back again to make it reload the ssd that is changed externally.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Are you loading a local file? If so, I can only read the file when you actually pick it from the menu. Javascript security settings is to only allow temporary file system access when the user uses the file picker.
When I do local development, I put the disc image somewhere I can read from (usually in the 'discs/' subdirectory of jsbeeb itself), then hack the url to be "disc=myssd.ssd", then just a reload gets the changes.
When I do local development, I put the disc image somewhere I can read from (usually in the 'discs/' subdirectory of jsbeeb itself), then hack the url to be "disc=myssd.ssd", then just a reload gets the changes.
Re: jsbeeb - a Javascript emulator
Yes local storage.
I'll give that ago.
I'll give that ago.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
(Also re: Chrome Canary: "Get on the bleeding edge of the web | Chrome Canary is currently not available on the linux platform." -- argh!)
Re: jsbeeb - a Javascript emulator
A very small bug. I think. In mode 7 if you set R9 of the 6845 to 31 and display an "A". You get the full "A" but then the top of "B" where are it should I think be the top of "A" . The SAA5050 should should count hsync pulses to work out which row of a character to display and not sneak a look at the 6845
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Thanks for the report! I've added to the list on GitHub and hope that Rich TW has some clues!
Re: jsbeeb - a Javascript emulator
Is there any joystick / analogue support in jsbeeb?
If not, would it be possible to use the mouse position for channels 0 and 1 and the mouse buttons for fire 0 and 1?
I would like to be able to play Circus.
If not, would it be possible to use the mouse position for channels 0 and 1 and the mouse buttons for fire 0 and 1?
I would like to be able to play Circus.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
No joystick or mouse support: I'm not quite sure how I'd do it to be honest. I think the mouse movements are relative for those peripherals and of course the real mouse pointer is absolute. I'm sure something can be done; I've added it to the feature request list.
Re: jsbeeb - a Javascript emulator
Analogue channel 0 = mouse x, 1 = y, scaled 0 to &ffff
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Wow that sounds be pretty straightforward then! Thanks.
Howe on earth did the hardware work?
Howe on earth did the hardware work?
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Ah! You mean use the mouse to emulate the joystick! Yes; can do...
Re: jsbeeb - a Javascript emulator
JsBeeb crashes out in a spectacular way while loading the tape version of Fortress
Peter.
But has come a long way works very well with most titles even ones like Joust Peter.
Re: jsbeeb - a Javascript emulator
Do you want to report the bug?:vanekp wrote:JsBeeb crashes out in a spectacular way while loading the tape version of Fortress
Re: jsbeeb - a Javascript emulator
done, thanks.
Peter.
Hmmmm...
just tried it with the STH copy https://bbc.godbolt.org/?tape=sth%3APac ... ess_B.zip# and it works fine how odd.
Peter.
Hmmmm...
just tried it with the STH copy https://bbc.godbolt.org/?tape=sth%3APac ... ess_B.zip# and it works fine how odd.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Thanks all! Noted, and...subject to finding some time...I'll see what I can do!
Re: jsbeeb - a Javascript emulator
Is this the right place for a bug report?
I nominated Plan B in season 9 of the high score challenge and it doesn't display any of the enemies when run in jsbeeb.
They appear fine in beebem though there are no enemy bullets - not sure if there should be.
I nominated Plan B in season 9 of the high score challenge and it doesn't display any of the enemies when run in jsbeeb.
They appear fine in beebem though there are no enemy bullets - not sure if there should be.
Re: jsbeeb - a Javascript emulator
Or you can report it here https://github.com/mattgodbolt/jsbeeb/issues
Peter.
Peter.
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Thanks - yes the issue page is the canonical place to put the report! I'm actually spending a bit of time working on jsbeeb again, will try and look at these issues too.
Thanks everyone for your support!
Thanks everyone for your support!
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Some recent updates to jsbeeb:
- Discs are read/write by default now. If a game failed because it wanted to write to disc, it should now work. Though any modified data is lost - currently without any warning (sorry!)
- Touchscreen support has been added! Currently on by default, but will eventually need to be enabled by an option. This has meant I've fleshed out the RS423 support, which opens the doors to more peripherals.
- Some bugs in the 1770 emulation and DSD support have been fixed, which was causing some odd problems related to games crashing (due to corrupt data being loaded).
Re: jsbeeb - a Javascript emulator
Hey Matt - I was wondering how feasible it might be to incorporate support for emulation of RobC's VideoNULA in jsbeeb?
Would be terrific to run some of the demos that use it in a browser.
Cheers
Simon
Would be terrific to run some of the demos that use it in a browser.
Cheers
Simon
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
It's absolutely on my TODO list...especially to get Kieran et al's masterpiece going
Re: jsbeeb - a Javascript emulator
Thanks, Matt! The write-access update to JSBeeb is great.Matt Godbolt wrote:It's absolutely on my TODO list...
Any chance you could make the disc-drive noises optional? That would be ideal for bbcmicro.co.uk, which currently uses an earlier version of JSBeeb which doesn't implement the noises and thus loads games "instantly" and silently. The disc-drive motor noises really slow down the loading of games, especially when multiple files need to be loaded in sequence. For example:
More discussion here:
- Matt Godbolt
- Posts: 255
- Joined: Mon Jul 31, 2006 11:02 am
- Location: Chicago
- Contact:
Re: jsbeeb - a Javascript emulator
Absolutely! I need to add more configuration for the emulator state anyway. I think disc drive noises should be a user setting (saved and persisted per user, rather than as part of the URL) - do you think?lurkio wrote: Any chance you could make the disc-drive noises optional? That would be ideal for bbcmicro.co.uk, which currently uses an earlier version of JSBeeb which doesn't implement the noises and thus loads games "instantly" and silently.
I think I'll also speed up the disc access anyway as it's been driving me nuts too