Zeta - a different approach to modern-day ZZT

Discuss how totally awesome Bang! is here.

Moderator: Terryn

Nerezza
newcomer
Posts: 6
Joined: Thu Sep 26, 2019 1:53 am

Re: Zeta - a different approach to modern-day ZZT

Post by Nerezza »

It's not -perfect- but yes this is much much better! The repeated notes are audible now and sound much better.

The only issue is that now Windows 10 thinks it's a virus and deletes it unless I turn off real time protection, for some reason...
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

Nerezza wrote:It's not -perfect-
The grand question is: Do you have opinions on how I could make it more perfect? Note that ZZT doesn't really have an uniform "way it sounds", but maybe your input can lead me to a better solution (or, at the very least, config options) with observations.

EDIT: Beta 21 is now out, with at least that initial take on these audio fixes.
Nerezza
newcomer
Posts: 6
Joined: Thu Sep 26, 2019 1:53 am

Re: Zeta - a different approach to modern-day ZZT

Post by Nerezza »

I don't have a ton of suggestions since I don't have my 486 anymore, (So I can't check against a real dos machine at the moment) but there is some 'popping' when a lot of notes play in sequence which wasn't how it worked on a real pc speaker from what I remember. You can hear it during the more rapid-fire notes in kaboom.zzt, but not in the slower repeated notes that come later.

But seriously, you've now programmed a pc speaker emulator that works better than the official dos box one, that's something to be proud of. Plus, Evil Sorcerer's Party's campaign song sounds correct now and that's wonderful.
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

Nerezza wrote:But seriously, you've now programmed a pc speaker emulator that works better than the official dos box one, that's something to be proud of
Hot take: It's not a PC Speaker emulator, actually! It's very inaccurate when it comes to real PC Speaker code - it's just deliberately tuned to take what ZZT puts into the PC Speaker ports and make something that sounds good *and* faithful at the same time.
nooBsaIBoT
newcomer
Posts: 7
Joined: Mon Mar 25, 2019 3:34 am

Re: Zeta - a different approach to modern-day ZZT

Post by nooBsaIBoT »

Hello. I just got around to updating Zeta to the latest version and noticed the audio improvement right away!

I'm having trouble loading the character set and palette file, it just hangs. Is there something I'm doing wrong here or is there an easier way?

Code: Select all

ZetaLoad({
     engine: {
         charset: "ascii.png",
         palette: "vic20.pld"
     },
});
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

nooBsaIBoT wrote: I'm having trouble loading the character set and palette file, it just hangs. Is there something I'm doing wrong here or is there an easier way?

Code: Select all

ZetaLoad({
     engine: {
         charset: "ascii.png",
         palette: "vic20.pld"
     },
});
It seems you haven't specified a path to any files - without ZZT or Super ZZT in the virtual filesystem, it has nothing to load, so it just hangs.
nooBsaIBoT
newcomer
Posts: 7
Joined: Mon Mar 25, 2019 3:34 am

Re: Zeta - a different approach to modern-day ZZT

Post by nooBsaIBoT »

Isn't the path set to root? It works with those added lines removed. There must be a syntax error somewhere.. I can't figure it out.

Code: Select all

ZetaLoad({
	render: {
		canvas: document.getElementById("zeta_canvas")
	},
	storage: { // optional - if not present, saves to RAM (lost on page refresh)
		type: "auto", // can also be "localstorage" or "indexeddb"; "auto" is recommended
		database: "test_database"
	},
	path: "./",
	arg: "TENNIS.ZZT", // optional

	engine: {
         	charset: "ascii.png",
         	palette: "vic20.pld"
	},

	files: [
		["zzt.zip", {
			"filenameFilter": function(f) {
				let fl = f.toLowerCase();
				return fl.startsWith("zzt.");
			}
		}],
		"deluxe.zip"
	]
});
Edit: Also just noticed Zeta is crashing completely over at the Museum. Is that happening on your end?
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

nooBsaIBoT wrote:Edit: Also just noticed Zeta is crashing completely over at the Museum. Is that happening on your end?
No. But this may happen on some browsers in private mode and/or with localstorage disabled - I'm not sure if I fixed that in the end.
nooBsaIBoT
newcomer
Posts: 7
Joined: Mon Mar 25, 2019 3:34 am

Re: Zeta - a different approach to modern-day ZZT

Post by nooBsaIBoT »

Confirmed. Private mode / localstorage issue.

Dusted off beta 16 and still no luck here with just the charset loaded. Get the following error in my browser console:

Firefox:
TypeError: t is null

Chrome:
Uncaught (in promise) TypeError: Cannot read property 'length' of null
at T.loadCharset (zeta.min.js:19)
at zeta.min.js:19
at Object.Module.onRuntimeInitialized (zeta_native.js:8)
at doRun (zeta_native.js:8)
at run (zeta_native.js:8)
at runCaller (zeta_native.js:8)
at removeRunDependency (zeta_native.js:8)
at receiveInstance (zeta_native.js:8)
at receiveInstantiatedSource (zeta_native.js:8)

Any ideas?
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

nooBsaIBoT wrote:Confirmed. Private mode / localstorage issue. (...) Any ideas?
You could simply disable local storage, for now, I think? I do not give support for older versions of Zeta, sorry.

EDIT: I've fixed it and it will be pushed in beta 23. Sorry for taking so long - this specific bug kept slipping my TODO list. The changes work as follows, right now:
  • If storage.type is set to "auto", an in-memory fallback will be used if the automatically chosen storage method fails to initialize, the same as if storage.type was not set. (I'm considering adding a warning, but I don't have a rendering facility for such yet.)
  • if storage.type is explicitly set to "indexeddb" or "localstorage", failure to initialize the specific method will cause an error message to be displayed.
EDIT 2: It's out as-is, for now.
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

PSA: I will be live-streaming an announcement related to Zeta on Sunday, March 15th at 10PM UTC (3PM Pacific, 6PM Eastern) on my Twitch channel. The stream is scheduled for about 15 minutes. You don't want to miss it.
User avatar
emmzee
newcomer
Posts: 12
Joined: Thu Aug 01, 2019 2:24 pm

Re: Zeta - a different approach to modern-day ZZT

Post by emmzee »

I noticed today that "Ctrl+Plus/Minus - resize Zeta window by integer amounts" doesn't work for me in Windows. Is this just a "doesn't work in Windows" thing or am I just unlucky that it just doesn't work for me? (Using latest Zeta version)
zzo38
newcomer
Posts: 22
Joined: Sun Dec 15, 2019 11:25 pm

Re: Zeta - a different approach to modern-day ZZT

Post by zzo38 »

Are you going to implement EMS in Zeta, now that some forks of ZZT (such as OpenZoo and FreeZZT) can now use EMS?
I have set up a NNTP to discuss ZZT and other stuff.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Zeta - a different approach to modern-day ZZT

Post by Commodore »

Hi asie. I am trying to run zeta on linux but I can not get it to run.

First I could not get it to compile and had to mod the makefile, I don't really think this is the problem though. On first compile I got:

gcc: error: unrecognized command line option ‘-std=gnu18’; did you mean ‘-std=gnu11’?

so I edit the makefile to change the two rules to 'gnu11' and the program compiles. Albeit it throws a warning:

Code: Select all

src/posix_vfs.c:428:13: warning: ‘vfs_check_error’ defined but not used [-Wunused-function]
 static void vfs_check_error(FILE* fptr) {
             ^~~~~~~~~~~~~~~
Then with zzt3.2 in the same dir as the binary (build/unix-sdl) it says 'Could not load ZZT!'

What am I doing wrong?
*POW* *CLANK* *PING*
asie
1 full minit uv 1 secend mesiges
Posts: 67
Joined: Sun Mar 17, 2019 4:55 pm

Re: Zeta - a different approach to modern-day ZZT

Post by asie »

I recommend using the Autoconf method instead. The Makefile is really dodgy and a very "only works on my machine" deal.

As explained in the repo:
./autogen.sh && mkdir build && cd build && ../configure --with-frontend=sdl2 && make
Apologies for the overall roughness - Zeta began as an HTML5-only affair, and I didn't really have good packaging practices in mind when I made it.

As for it not finding ZZT.EXE - it has to be in the current working directory, not in the Zeta directory.
Post Reply