From
Slavik Tretiak
→
To
All
16 February 2006
Hello, boo_boo
boo> original %) no, an alternative worldview is cool, but
boo> installation support according to standards can be done, one for the other
boo> doesn't interfere? I can do it myself if you don't like it ;)
disgusting ;) if you want, do it.
I'll put it in the main development branch ;)
> the excuse about mc doesn't work - go to the directory with the emulator anyway;
fz. I didn’t notice any inconvenience (or am I just used to it?)
> if you run every program like this, then you won’t have time for anything anymore
> will remain... unless you use all sorts of Mazda CDEs with their shortcuts and
> other bullshit.
oh... ge... screw it ;)
I use IceWM myself - rulez fareva.
in general, the disk selection will be in the emulator itself, so there will be no need for configs
edit
> or write idiotic shell scripts for the console/mc. one way or
> otherwise hemorrhoids, and the command line is in flight, this is not gut! :(
command line fan?
fz. I can only use some kind of commander, because there are a lot of different files
copy, then the shell sucks ;)
> no goals, no dependencies, no ease of customizing the build.. when the emulsion
> will grow, this thing will go sideways... however, write makefiles> it's never too late :rolleyes:
and here there is only one goal - to get an emulsion.
and there is nothing to configure.
like this :p
If I get it, I’ll write it.
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello SMT
SMT> in the lib for z80, the declaration of unsigned types for MSVC should be like
SMT> unsinged __int16, unsigned __int8, unsigned __int32. the word signed
SMT> is also there, it usually has no effect other than signed char -
SMT> there is a commandline option that makes everything just char unsigned
Thank you, I fixed it myself :)
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> and here there is only one goal - to get the emulsion.
Sin> and there is nothing to configure.
Sin> like this :p
yyyy, no, I don’t understand how you can live without at least make clean and make dist,
Is it really all done by hand or by scripts? %)
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> in short, here it is.
yeah, it really works :)
however, the music lags noticeably behind - the buffer is very healthy :rolleyes:
Well, that's bullshit. but here’s what’s really missing to really make the emulsion work
test -- command line options and installation support in system
directories: each time go to the directory with the emulator, enter the name in the config
disk, and then do "./zemu" - terrible hemorrhoids :( .
PS, why is everything so gloomy for you? compile.sh some files from the lib
scattered in 2 places, and all cpp are included in one main one? O__o
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> disgusts me ;) if you want, do it.
Sin> will be placed in the main development branch ;)
ok, I'll get straight to it
Sin> fz. I didn’t notice any inconvenience (or am I just used to it?)
Sin>
Has your youth been lost for an hour? if yes, then nothing strange there
you get used to scratching your right armpit with your left heel ;)
Sin> a fan of the command line?
Sin> fz. I can only use some kind of commander, because there are a lot of different things
Sin> copy the file, then the shell sucks ;)
Sin>
no, I copy it to mc too. and for most of the rest - Ctrl-o ;) in general
It’s not clear how you launch the emulsion+disk? (assume that there is a com. line) --
directory with the emulator in one panel, directory with the file in another, and put a line
launch with the full path to the file? Or are you messing up the shell script? I'm with a glitch in
in the old days I managed with a script, but in the end I decided that it was easier to get into the sources,
and do it right
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> I hate the standard Unix file layout.
Sin> I even recompiled Linux itself for my great goal: every so-called
Sin> package in its own folder. like /opt/x11 , /opt/coreutils , /opt/gcc
Sin> here. and I think that's right. and so as not to do "./zemu" I can
Sin> recommend using midnight commander
original %) no, an alternative worldview is cool, but support
After all, installations can be done according to standards; one does not interfere with the other? myself
I can do it if it bothers you ;) the excuse about mc doesn’t work - it doesn’t matter
go to the directory with the emulsion; if you run every program like this, then it takes time
there will be nothing left for anything else...except to use all sorts of Mazda KDEs with their
labels and other bullshit.
or write idiotic shell scripts for the console/mc. one way or another
hemorrhoids, and the command line is in flight, this is not gut! :(
Sin> because compile.sh is clearer to me than makefile ;)
Sin>
no goals, no dependencies, no ease of customizing the build.. when the emulsion
grows, this thing will go sideways... however, makefiles will never be written
late :rolleyes:
From
Slavik Tretiak
→
To
All
16 February 2006
Hello Sinus
#ifdef OFFTOPIC
By the way, I’ve been wanting to ask for a long time, where is the avatar from?
So did you find it somewhere or did you tear it out of an anime (which one would you like to know?)
#endif
From
Slavik Tretiak
→
To
All
16 February 2006
Hello, boo_boo
boo> mania :)
boo> .. here I attached the installer, bummer, well, you can edit it like
boo> I like it better ;)
well yes. I have a couple of ideas. I'll go home now and finish it.
> a) configs are first searched in ~/.zemu/ (because every user of the system
> IMHO has the right to a personal config), after - in the current directory.
>
I agree.
> no) if instead of compile.sh you run superintelligent from root
> script build_and_install.sh, then the roms and binary will be copied
> after compilation to the “appropriate place” (tm), and roms will be searched there
> same.
>
It’s just better to store the path to the roms in some file.
The binary should be as independent as possible from the location of the files and as
configurable.
> I marked the places of my intervention with comments with the word boo-boo.
because I feel like I have a couple more weeks (until we finish it or until I hesitate)
There's a lot of work ahead, so let's do this:
I - [rst]
you - [boo]
i.e. in square brackets, otherwise with a minus, then with an underscore,
search is bad ;)PS in the new build I will also insert an updated ztnik and a fixed sndrender (there
it looks like something wasn’t reset)
and if I have time, I’ll completely remake ULA. because it’s very slow now.
can be done 7 times faster. and necessary ^_~
From
Slavik Tretiak
→
To
All
16 February 2006
Hello, boo_boo
boo> did your youth pass by in an hour? if yes, then nothing strange there
boo> you get used to scratching your right armpit with your left heel ;)
boo>
only TR-DOS can be called DOS ;)
I just recently got a petset. (in fact, there is also an Amiga, but it’s sacred ;) )
> no, I copy it to mc too. and for most of the rest - Ctrl-o ;) a
> it’s not at all clear how you launch the emulsion+disk? (assume that
> com. there is a line) -- directory with emulator in one panel, directory with file
> to another, and create a launch line with the full path to the file?
I copy the file into the socket with the emulsion, look at it, then erase it.
or if I use something very often, I’ll write it into an ext file in mc.
From
Slavik Tretiak
→
To
All
16 February 2006
Hello, boo_boo
boo> yyyy, no, I don’t understand how you can live at least without make clean and
boo> make dist, is it really all done manually or using scripts? %)
and when compiling, the script does not create left *.o and other garbage.
That's why make clean naf is not needed ^_~
and make dist.. I will pack it into tar.gz myself
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> and when compiled by the script, the left *.o and other garbage are not created.
Sin> so make clean naf is not needed ^_~
Sin> what is make dist ?
well, yes, no garbage is created if everything is crammed into one file ;)
make dist - make a distribution, like create tar.gz with the name (and resp.
subdirectory) containing the version, and everything you need inside.
for example in z80ex I have 4 targets - shared, static, clean and dist.
no, of course manual work is cool and a daily feat, if you don’t
breaks, then everything is ok ;)
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> I copy the file into the emulator socket, look at it, then erase it.
Sin> or if I use something very often, I’ll write it into an ext file in mc.
mania :)
.. I’ve attached an installation, it’s a bummer, well, you can edit it to make it more
I like it ;)
a) configs are first searched in ~/.zemu/ (because every user of the system IMHO has
right to personal config), after - in the current directory.
b) if instead of compile.sh you run a super-intelligent script from root
build_and_install.sh, then the roms and binary will be copied after compilation to
“appropriate place” (tm), and Roma will be looked for there.
I marked the places of my intervention with comments with the word boo-boo.
File: zemu.zip http://zx.pk.ru/attachment.php?attachmentid=2611
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> by the way, I’ve been wanting to ask for a long time, where is the avatar from?
Sin> did you find it somewhere or did you tear it out of an anime (which one would you like to know?)
from "pita ten", pink and marmalade is so cute :)
From
Stanislav Lomakin
→
To
All
16 February 2006
Hello Sinus
Sin> but it’s better to store the path to the roms in some file.
Sin> the binary should be as independent as possible from the location of the files and
Sin> is maximally configurable.
In general, yes, adding it to the config is a nice thing.
Sin> because I feel like there are still a couple of weeks left (until we finish it or until
Sin> will hesitate) there is a lot of work ahead, let’s do this:
Sin>
Sin> I - [rst]
Sin> you - [boo]
Sin>
ok
From
Nikolay Istomin
→
To
All
17 February 2006
Hello, boo_boo
offtop on
By the way, I wonder why there are so many anime fans among spektrumists? :rolleyes:
offtop off
From
Slavik Tretiak
→
To
All
17 February 2006
Hello, Electrician
#idef OFFTOPIC
Electrician: who the hell knows.
but let's not clutter up the topic too much. If you want to discuss anime, you're welcome
in PM.
#endif
boo_boo: I didn’t have time to post a new beta (I was looking at Genshiken, a thing for otakus),
but here's what has changed:
all paths are read from the config
The structure of the keys.config file has changed, like:
pckey1 pckey2 ... pckeyx = zxkey1 zxkey2 ... zxkeyx
that is, we can assume that ";" (G) there was a semicolon, and if with a shift ":" -
that will be a colon. steering wheel ;)
That's all for now. on Monday I’ll install a new socket and a fixed ayugrik and if I have time,
then I’ll optimize ULA.
I’ll also make a browser file so that images can be loaded and recorded.
and I want another 512kb ^_~
then it will be right now and you can sit down for a couple of days to work on the correct and
configurable ul.
From
Slavik Tretiak
→
To
All
17 February 2006
Hello, boo_boo
uh .. in the sense of “put the max speed in the config” - this means changing the button or something
or maximum coefficient?
if coefficient - no way. It's just max, not turbo.
and of course I want to use knopari (I’m used to numlock as in Anril ;) )
From
Stanislav Lomakin
→
To
All
17 February 2006
Hello Sinus
Sin> and of course I want to use knopari (I’m used to numlock as in Anril ;) )
well, yes, as in Anril :)
From
Stanislav Lomakin
→
To
All
17 February 2006
Hello Sinus
Sin> the structure of the keys.config file has changed, like:
Sin>
Sin> pckey1 pckey2 ... pckeyx = zxkey1 zxkey2 ... zxkeyx
Sin>
rulez)
and I’m thinking of attaching the loading/recording of snapshots... I need it - zetnik
test. yes, but you can put the maximum speed in the config and also, good
maybe some button?
From
Stanislav Lomakin
→
To
All
18 February 2006
Hello, boo_boo
Wrote here is a z80 snapshot loader. must load files of all "standard"
versions (those 16k, 48k and 128k versions 1,2,3)
PS. where did you get the information about the street from?
File: snap_z80.cpp.zip http://zx.pk.ru/attachment.php?attachmentid=2617
From
Stanislav Lomakin
→
To
All
18 February 2006
Hello, breeze
2breeze: I wonder what had to be redone? like both compilers and SDL on
fre and on linux are the same...
2Sinus: tweaked the z80 loader here and there...
File: snap_z80.zip http://zx.pk.ru/attachment.php?attachmentid=2618
From
Oleg Golenkoff
→
To
All
18 February 2006
Hello, boo_boo
boo> 2breeze: I wonder what you had to redo?
WG's and AY's sorts had to be assembled by gmake - regular make immediately into the beep
sent, when assembling the main there were some libs missing in the include and so on little things in
systax!
From
Slavik Tretiak
→
To
All
20 February 2006
Hello Sinus
breeze: so you posted everything that you corrected for the compile under the bzda.
I'll include it in the thread.
> however! With the simulation of troubles, synchronization periodically gets lost
> for AY, then for video
uh... what do you mean? is the sound interrupted or what?
and with video it cannot break any synchronization at all. purely on principle.
From
Slavik Tretiak
→
To
All
20 February 2006
Hello, breeze
uhhhhhhhhhhhhhhhhh!!! I spent half a day fixing multicolor in Rage.
I haven’t fully fixed it yet.
in epiloche.
Or does the part where the screen seems to become round (on the border) work normally?
or all the others (the rectangle has been enlarged to the size of the screen on the border and mega
part with radial stripes).
It feels like in the part in the “round screen” about 80 bars are added somewhere.
boo_boo, please double-check the alignment. Maybe I described myself somewhere?
The worst thing is that even in a fucking fuss everything works.
I'll go down again today.
-+--
from the good: recording/loading *.z80 (for now only snap.z80), command line.
From
Stanislav Lomakin
→
To
All
20 February 2006
Hello Sinus
Sin> it feels like 80 bars are added to the part in the “round screen”
Sin> somewhere.
Sin> boo_boo, please double-check the alignment. Maybe I peed myself somewhere?
everything can be... what opcodes to check, how are the transfer/delays?
done?
From
Slavik Tretiak
→
To
All
21 February 2006
Hello, boo_boo
boo> everything can be... and what opcodes to check, how is it
boo> transfer/delay done?
Yes, there's a lot of everything there ;) if you have Windows at hand, look there. otherwise I
I switched to 64bit architecture, but Windows stopped working :mad:
but Linux is fine, it immediately rose :p
I’ll probably also build a simple debugger so that bugs can be better examined
(in the z80 kernel of course ;) )
From
Stanislav Lomakin
→
To
All
21 February 2006
Hello Sinus
Sin> there's a lot of stuff there ;) if you have Windows at hand, look there.
Lord... Lana, I'll try to poke in emuzwin under qemu ;) ... details
come on - which part of which deme?
From
Slavik Tretiak
→
To
All
21 February 2006
Hello, boo_boo
I wrote - demo Rage from X-Trade.
there are 3 decisive multicolor parts, at the very end.
like there is a demo, then a part when the picture on the screen is multicolor
spins, and scrolls below on the curb. that's when the pig will be there
spin, there will be a black screen then a red border and...
1) the screen type becomes round. perversions on the curb
2) the screen type ... increases (also on the curb)
3) colored rays go from the center of the screen to the edges (and on the border, of course, too ^_~)
So, no matter how you twist the timings, either (1) or (2) and (3) works.
Let me put together a test release this evening and with a snapshot in the right place
I'll post it. you'll see for yourself.
From
Slavik Tretiak
→
To
All
21 February 2006
Hello, boo_boo
works in Anril.
it sucks in fus, but at least it sucks equally in all parts.
so we have a glitch ;)
Either it’s something I can’t catch up with, or the timings are buggy.
Look at the whole thing and figure it out.
From
Stanislav Lomakin
→
To
All
21 February 2006
Hello Sinus
Sin> let me put together a test release this evening with a snapshot in the right place
Sin> I'll post it somewhere. You'll see for yourself.
come on. But in Anril this thing works as it should, huh? and in fuze?
From
Slavik Tretiak
→
To
All
22 February 2006
Hello, boo_boo
I just posted this for you.
and by the way, I will also use z80ex, because there might be something on Sorsforge
will change, but the version that I will attach works 100%.
Tell me something else, did you see the glitch?
PS and by the way, since now absolutely everything is configured from the config, maybe then
should I not put it in ~/.zemu/config.xml, but just ~/.zemu_config.xml ? ne ?
although, on the other hand, the user can store ROMs and disk-images in the directory.
From
Stanislav Lomakin
→
To
All
22 February 2006
Hello Sinus
Sin> So, new version.
Did you forget to put it in the tarball?)
z80ex IMHO it is not necessary to put it, you can give a link in the readme, and let the people do it themselves
puts it, but there’s nowhere to get it from. and Roma - they can be separated
archive.
and also write in the readme that the config should be placed in ~/.zemu.
From
Slavik Tretiak
→
To
All
22 February 2006
Hello, boo_boo
boo> what a great glitch :) I'll look into the timings today and tomorrow.
ok
> as for the config, IMHO the directory is better, since there are still two files - itself
> config and buttons.
the path to keys.config is also set in the config :p
but I also thought that a directory would be better.
From
Stanislav Lomakin
→
To
All
22 February 2006
Hello Sinus
Sin> tell me something else, did you see the glitch?
Sin>
Sin> PS. and by the way, since now absolutely everything is configured from the config
Sin> can then not be placed in ~/.zemu/config.xml, but simply
Sin> ~/.zemu_config.xml ? ne ?
what a great glitch :) I'll look into the timings today and tomorrow. about the config IMHO
The directory is better, because there are still two files - the config itself and the buttons.
From
Stanislav Lomakin
→
To
All
22 February 2006
Hello Sinus
meh. in the dock from which I took the timings, there was a glitch - all the instructions were with
halves IX/IY there are 9 bars each)
Here is the corrected lib, try with it.
File: z80ex.zip http://zx.pk.ru/attachment.php?attachmentid=2653
From
SMT
→
To
All
23 February 2006
Hello Sinus
Sin> the trouble is not about mixing, but about this: ayugrik fits in
Sin> buffer. The beeper also goes into the buffer. the same buffer is played
if you can figure out why SNDRENDER has the SND_EXTERNAL_BUFFER mode, then
a good beeper can be made in the same buffer as AY, using the same engine ;-)
From
Slavik Tretiak
→
To
All
23 February 2006
Hello, boo_boo
boo> file selector very. dear :)
kawaii ^_~
> Threat, I think in the next version of z80ex to add disasm - it’s bad without
> him...
yeah. I think so too.
The usefulness of inline asm can still be discussed, but disasm should be added (fortunately
it's easy to do)
> ZZY and without a speaker it’s boring... to get into trouble, or what? ;)
probably worth it.
-+-------------------------------------
Now I see two troubles:
1) if there are a lot of sound devices, then how can you use all sorts of buffers? how to mix?
2) memory ports must be taken from the config
-+----------------
If you have something to suggest in terms of sound, suggest it.
In the meantime, I’ll start upgrading the file selector and designing it (I want a little bit more on STS
make it look similar).
From
Slavik Tretiak
→
To
All
23 February 2006
Hello, boo_boo
The trouble is probably not about mixing, but about this: ayugrik goes into the buffer. beeper
also goes into the buffer. the same buffer is played.
or make 3 buffers (for beeper, ayugrik and the one that is being played) = brakes
or somehow mess with one
From
Andrey Alexandrovich Titov
→
To
All
23 February 2006
Hello Sinus
I propose to rename the topic "Behind the Glass 4: Personal correspondence between Sinus and Boo-Boo about
everyday life of emulator writers" ;)
From
Stanislav Lomakin
→
To
All
23 February 2006
Hello Sinus
about the ports from the config - I thought about it, and as a result I came up with
a drop-dead universal scheme... based on the evaluation of expressions,
consisting of processor signals and bit logic. plus groups of random pages
size with z-levels in the memory manager. in principle quite feasible, and any
the memory model, including cache and ATM-based delights, falls on this, but IMHO
overdid it :)
sound - either use SDL-mixer, or your hands, it’s not difficult at all... you just need
catch a glitch with buffer emptying. I'll take a look in my spare time...
disasm - yeah, it couldn’t be easier, using the same tables, I can do it in a couple of hours.
From
Stanislav Lomakin
→
To
All
25 February 2006
Hello Titus
Tit> I suggest renaming the topic to “Behind the Glass 4: Personal Correspondence of Sinus
Tit> and Boo-Boo about the everyday life of emulator writers" ;)
tough :)
From
Oleg Golenkoff
→
To
All
25 February 2006
Hello, boo_boo
boo> spent half a day trying to make zemu sound normal
I'll tell you a secret, I didn't like SDL right away :rolleyes:
From
Stanislav Lomakin
→
To
All
25 February 2006
Hello, breeze
bre> I'll tell you a secret, I didn't like SDL right away :rolleyes:
Well, the graphic tricks there are quite up to par. but the rest is too much
tailored for writing toys -__-
From
Slavik Tretiak
→
To
All
27 February 2006
Hello, boo_boo
boo> IMHO the sound has not become much better: the lag is smaller (but still noticeable),
naf! The lag has become significantly smaller!
> but he stutters, this is visible in smooth sounds (look at “bzdyam” in the boot
> attached)...
hmm. When I come home, I'll take a look.
> maybe you just need to know how to use SDL audio correctly, but
> I suspect it is simply not suitable for emulator needs - in all
> emulators with good sound, even using SDL for graphics, sound
> is made through native interfaces. at the same time, of course, portability
> is lost... but if you need it, you can try portaudio - it
> is designed with music programs in mind, that is,
> normal and predictable synchronization..
in short fz. I don’t have anything that shuts up or stutters anywhere.
You can, of course, try pouring directly into /dev/dsp. maybe it will help.
> small bug: if for drive A a non-existent one is registered in the config
> path, you cannot select a file using f3.
I know. Even the readme says:
* fix dirwork.cpp, namely the operation of the LevelUp function (now there is
subtle, but still major glitches)> offtopic: what kind of delicious anime is this? :rolleyes:
a lot of everything. I'll have to look, I don't remember. When I’m home, I’ll write.
From
Stanislav Lomakin
→
To
All
27 February 2006
Hello Sinus
IMHO the sound has not become much better: the lag is smaller (but still noticeable), but
stutters, this can be seen in the smooth sounds (look at “bzdyam” in the attached boot)...
maybe you just need to know how to use SDL audio correctly, but I suspect it
simply not suitable for emulator needs - in all emulators with good
sound, even those using SDL for graphics, the sound is made through native interfaces.
in this case, of course, portability is lost... but if it is needed, you can
try portaudio - it's designed with music programs in mind
that is, to normal and predictable synchronization..
small bug: if a non-existent path is specified for disk A in the config, f3
the file cannot be selected.
offtopic: what kind of delicious anime is this? :rolleyes:
File: boot.zip http://zx.pk.ru/attachment.php?attachmentid=2700
From
Stanislav Lomakin
→
To
All
28 February 2006
Hello Sinus
Sin> naf! The lag has become significantly smaller!
became, but still big. run the AY version of batty, and kick the ball first
us or at least in fuse, and then in zemu ;)
From
Slavik Tretiak
→
To
All
28 February 2006
Hello, Sinus
#ifdef OFFTOPIC
The following description:
много манги
mindgame
trava
die buster over
sentou yuosei yukikaze over
what ai is yukimasu
cashew nuts
noien
to the heart
honey & clover
And the price of:
bleach
twelve kingdoms
irresponsible captain tylor ova
#endif
From
Slavik Tretiak
→
To
All
28 February 2006
Hello, boo_boo
looked at the boot. I only heard left clicks (I'll look into it). no
howls, stutters and howls... what am I doing wrong? ;)
and about the big lag. Well, I'll try to reduce it further.
although for me (watching the demos) it’s quite good ;)
From
Stanislav Lomakin
→
To
All
5 March 2006
Hello Sinus
Sin> so, here comes 0.04
Sin> absolutely nothing new except for the sound ;)
Sin> please protest!
oh cool! now if you replace wavplay.cpp with *see attachment*, it turns out just
Realtime, can’t be compared with SDL undersound ;)
File: wavplay.zip http://zx.pk.ru/attachment.php?attachmentid=2746
From
Stanislav Lomakin
→
To
All
6 March 2006
Hello Sinus
hasn’t changed, probably because it’s in the default firewood for your sound system
small size/number of fragments are worth it. and without this my lag was healthy.
..tried to screw the beeper into the same buffer as AY. screwed it up, actually
but with the features - 1) the frequency is a little off from normal by ear, I don’t know why (although
in toys and the like nothing is noticeable, only if specifically the height of the beeps
listen). 2) SDL audio doesn’t work any better with this crap :) probably some kind of
It’s a small thing, but these audio callbacks are making my head spin :rolleyes: in
overall, it sounds crooked, but better than nothing...
at the same time I tweaked wawplay a little - I’m clearly setting 4 fragments the size of
frame. Now with all this nonsense, the sound is heard IMMEDIATELY when I press
key, without noticeable delays. (you can compare it with a glitch).
anyway, look here. I stupidly stuck the beeper in the same place as the border, probably in a good way
it needs to be in some thread... whatever you OO people call it... CLASS
:rolleyes:
PS IMHO it’s just easier to use make-up than auto-make)
File: zemu_spk.zip http://zx.pk.ru/attachment.php?attachmentid=2751
From
Stanislav Lomakin
→
To
All
6 March 2006
Hello, boo_boo
Oh, here’s another thing - I’m really missing a few simple features in zemu:
- adding boot to disks
- com line flag to reset trdos when the emulator starts
- recording the changed disk (simply “the disk has been changed, write it down? oh-eeee!/nafik”)
- switch to/from full screen by button.
- pagedown in the file selector
Should I do this myself, or should I wait? I mean, every feature is paired
lines of code, I suspect that if you still plan to do something from
this, it will be easier for you to write it yourself than to remake in your own way what
I’ll write - I’m not an OOP person, I’ve never been an OOP person ;)
PS oh, pagedown/pageap has appeared! :)
From
SMT
→
To
All
6 March 2006
Hello, boo_boo
boo> tried to screw the beeper into the same buffer as AY. screwed
boo> generally, but with features
listen to music like Savage 1,2,3 or dizzy, and you will see what happens
big ge. (hint: you need to create 1 instance of the SNDRENDER object, clean for the beeper
and a couple of variables, how many bytes are filled in the AY buffer and how many bytes are filled with the beeper.
take them from SNDRENDER/SNDCHIP)
From
Stanislav Lomakin
→
To
All
7 March 2006
Hello SMT
SMT> listen to music like Savage 1,2,3 or dizzy, and you will be convinced that
SMT> it turned out to be a big ge. (hint: you need to create 1 instance of the object
SMT> SNDRENDER is clean for the beeper and a couple of variables, for how many bytes
SMT> the AY buffer is full and how much is the beeper. take them from
SMT> SNDRENDER/SNDCHIP)
hmm, that's ge, that's ge... and I thought I'd get off easy, hoping that SNDCHIP
outputs samples exactly per frame :rolleyes:
From
Stanislav Lomakin
→
To
All
7 March 2006
Hello, boo_boo
Well, I screwed the speaker to the zemu correctly, according to the precepts of SMT :)
windows from wavplay.cpp were thrown out - since it has changed a little, but test
I can't do them.
UPD. Damn, it's a mess again! everything plays fine for about fifteen minutes, and then it starts
pop - obviously, the position of reading from the buffer is catching up with the positions for which AY and
speaker writes data. why the hell does she catch up with them when I start on the frame
before these positions, and take exactly the sample frame? and SNDRENDER also outputs in
average frame. I'm going wrong somewhere -__-
File: zemu_sp.zip http://zx.pk.ru/attachment.php?attachmentid=2775
From
SMT
→
To
All
7 March 2006
Hello SMT
oh, I see what’s wrong, the rounding is here:
┌─- CODE ───
frameSamples = ((unsigned long)71680/*frame*/*44100/*sound freq*/) / 3500000
/*Z80 clock*/;
└── CODE ───
in each frame you need to output a different number of samples (+-1), and not the same number
From
SMT
→
To
All
7 March 2006
Hello, boo_boo
boo> obviously, the position of reading from the buffer is catching up with the positions for which AY and
boo> speaker writes data. why the hell does she catch up with them when I start
boo> one frame earlier than these positions, and take exactly the sample frame?
it shouldn’t be like this, the position is updated from the int64 variable, which counts
how many bars are played from the start? maybe end_frame for ay and beeper
gets different frame lengths
From
Oleg Golenkoff
→
To
All
7 March 2006
Hello SMT
I suggest an icon for zemu :)
File: zemu_ico.png http://zx.pk.ru/attachment.php?attachmentid=2779
From
Stanislav Lomakin
→
To
All
7 March 2006
Hello SMT
SMT> ah, I see what’s wrong, rounding here:
SMT> ┌─- CODE ───
SMT> frameSamples = ((unsigned long)71680/*frame*/*44100/*sound freq*/) /
SMT> 3500000 /*Z80 clock*/;
SMT> └── CODE ───
SMT> in each frame you need to output a different number of samples (+-1), and not
SMT> same
damn, that's right :) but now another problem has emerged, and a completely strange one - that's it
well, 15-20 minutes pass, and the speaker begins to noticeably lag behind AY,
further, more... looked at the number of samples: AY produces an average of 902.98, and
speaker -- 903.03 samples. SNDCHIP and SNDRENDER are used in the same way, number of cycles per
end_frame is also transmitted the same... O__o
From
Stanislav Lomakin
→
To
All
7 March 2006
Hello, breeze
bre> I offer an icon for zemu :)
wow, cool :)
Sinus, do you want to make it so that when you start the emulator in the corner (on black
paper) an icon appeared and gradually disappeared? ;)
From
Oleg Golenkoff
→
To
All
8 March 2006
Hello, boo_boo
boo> wow, cool :)
I was thinking :) maybe it’s time to make my own page? I'm already designing sales here
sforganil ;) so to speak Offical Site - ZEMU
boo> Sinus, do you want to make it so that when you start the emulator in the corner (on
boo> black paper) did the icon appear and gradually disappear? ;)
I think it’s already possible to change the graphics a little in emul ;) for example, instead of
make a blue and green cube - a floppy disk and a turbo light bulb :) and when will it be
hdd or cd respectively from the icon :)
From
Stanislav Lomakin
→
To
All
9 March 2006
Hello, breeze
finally, the speaker is really screwed on, tnx, SMT! :) I'm already confused
where did I change anything in the files, so I throw almost everything.
Breeze: you have very correct thoughts IMHO :)
File: zemuspk.zip http://zx.pk.ru/attachment.php?attachmentid=2801
From
SMT
→
To
All
9 March 2006
Hello Sinus
I just don’t understand one thing - why are there all the variables/functions of device classes -
static? you also can’t put 2 ay or something like that
From
Slavik Tretiak
→
To
All
9 March 2006
Hello SMT
SMT> I just don’t understand one thing - why all the variables/functions
SMT> device classes - static? You also can’t put 2 ay or type
SMT>togo
because I rewrote from version 0.01 where there were no classes at all ^_~
(and as you know, pointers to non-static functions require extra temporary
costs (for writing wrappers), but I was broke ^_~)
but this is a good idea, we need to rewrite it.
From
Slavik Tretiak
→
To
All
9 March 2006
Hello, boo_boo
SDL sound itself is in a separate stream. he still calls callback.
Never mind, now it seems like I have more free time, I’ll have a smoke.
(by the way, the SDL method with a callback is more correct, because this is how hardware works
(there are two buffers on the sound system, and when one runs out, you need to fill the second one),
just in Linux (and probably visible) and the wrapper has already been written, but
let’s say if you port it to an Amiga, I think SDL is the best)
From
Slavik Tretiak
→
To
All
9 March 2006
Hello, boo_boo
boo> finally the speaker is really screwed on, tnx, SMT! :)
boo> I'm already confused where I changed what in the files, so I'm throwing almost everything away.
oki doki! I'll be home and I'll take care of everything ;)
(and as I understand it, it doesn’t work under SDL-sound? I’ll fix it then)
From
Slavik Tretiak
→
To
All
9 March 2006
Hello, breeze
bre> I was thinking :) maybe it’s time to make my own page? I'm here for sales
bre> the design has already been created ;) so to speak Offical Site - ZEMU
As for the page, I think I’ll wait for at least version 0.10 ;)
> I think it’s already possible to change the graphics a little in the emul ;) for example
> instead of a blue and green cube, make a floppy disk and a turbo light bulb
> :) and when will there be hdd or cd respectively from the icon :)
and here's the graphics!
You only need 2 floppy disks - for writing (let's say the little blue one) and for reading (let's say
red). Or should there be one - what is for writing, what is for reading?
From
Stanislav Lomakin
→
To
All
9 March 2006
Hello Sinus
Sin> oki doki! I'll be home and I'll take care of everything ;)
Sin> (and as I understand it, it doesn’t work under SDL-sound? I’ll fix it then)
doesn't work. that is, sounds are heard, but they suck :rolleyes:
I suspect that in order for something tolerable to come out with SDL sound, it is necessary to highlight it in
a separate stream... and it’s not a fact that it will work. however, in the AtariST emulator
"Hatari" somehow managed to use it without any glitches O__o
From
Oleg Golenkoff
→
To
All
10 March 2006
Hello Sinus
Well, as promised, I drew some icons for emul... though 16x16
it didn’t work out :( everything is too small... :mad: but 24x24 I think not very much
fatal...
Picture: http://www.fishb0ne.com/trashcan/zemu/floppy_read.gif reading a floppy disk
Picture: http://www.fishb0ne.com/trashcan/zemu/floppy_write.gif respectively
entry ;)
Picture: http://www.fishb0ne.com/trashcan/zemu/hdd_read.gif reading IDE
Picture: http://www.fishb0ne.com/trashcan/zemu/hdd_write.gif IDE recording
Picture: http://www.fishb0ne.com/trashcan/zemu/turbo_on.gif Picture:
http://www.fishb0ne.com/trashcan/zemu/turbo_off.gif turbo on/off
In general, I’m thinking about making three icons at the same time... like this
Picture: http://www.fishb0ne.com/trashcan/zemu/floppy.gif Picture:
http://www.fishb0ne.com/trashcan/zemu/hdd.gif Picture:
http://www.fishb0ne.com/trashcan/zemu/turbo_off.gif - and if necessary already
light up some... :rolleyes:
From
Oleg Golenkoff
→
To
All
10 March 2006
Hello Sinus
Sin> As for the page, I think I’ll wait for at least version 0.10 ;)
Sin>
Of course you can wait... :rolleyes:
but I was inspired by the action movie :eek: so I’m here for something after all
sketched... :cool:
http://fishb0ne.com/zemu/templates/main.html
From
Slavik Tretiak
→
To
All
10 March 2006
Hello Sinus
PS and more. SMT, are you there?
Is it possible to somehow simply find out the current state of the “disk drive” - recording,
reading or just worth it?
From
Slavik Tretiak
→
To
All
10 March 2006
Hello, breeze
not bad. and even quite good ;)
Regarding icons: yes, 24x24 is just right. 25x25 would already fit on the screen ;)
But I won’t animate the icons, they’ll just blink - it’s like
accurate indicators, when green means a hundred percent reading.
I think I'll post a new build by Sunday.
what will be there: icons, working sound under SDL (I’m thinking of redoing it a little
the concept of devices that output sound, so that less hassle would be acceptable
GS add), trd record.
From
Stanislav Lomakin
→
To
All
10 March 2006
Hello Sinus
Sin> PS. and more. SMT, are you there?
Sin> is there any way to simply find out the current state of the "disk drive" -
Sin> writing, reading or just standing?
I'm not SMT, but - in the wd1793 class, the state field: the state of the VG-shki. seldrive
indicates the current drive, in it (class wd93_fdd) the motor field -- time until
stops the motor, if 0, then stops.
I didn’t bring all this out in the C wrapper, but I can bring it out. however, once
zemu is written in C++, you can use this class directly.
From
Slavik Tretiak
→
To
All
10 March 2006
Hello, boo_boo
better some function that will return for the current drive
number of the track on which the head is located and what the disk converter (VG-shka) does: 0 -
nothing, 1 - read, 2 - write
From
Oleg Golenkoff
→
To
All
10 March 2006
Hello Sinus
Sin> not bad. and even quite good ;)
can't help but rejoice :eek:
Sin> regarding icons: yes, 24x24 is just right. 25x25 would already fit on
Sin> screen ;) but I won’t animate the icons, they’ll just be
Sin> flashing is like an accurate indicator, when it’s green it means
Sin> great reading.
damn! well, in vain :( so it would be at least clear that some kind of action is running, and not hung
that's it... you could at least change the phases through the track, and the animation would be...
From
Stanislav Lomakin
→
To
All
10 March 2006
Hello Sinus
Sin> better be some function that will return for the current
Sin> of the drive is the number of the track on which the head is located and what the drive is
Sin> (VG-shka) does: 0 - nothing, 1 - read, 2 - write
here. see at the end unreal_wd1793.h. Sorry, but it turned out to be 3 ;)
btw, I looked at realspectrum, it uses allegro. the sound is the same garbage as
SDL-y, slows down and stutters a little.
File: unreal_wd1793.zip http://zx.pk.ru/attachment.php?attachmentid=2815
From
Stanislav Lomakin
→
To
All
12 March 2006
Hello, breeze
Sinus, in addition to the above-attached VG-shka - replace one file there (small, but
useful for fans of MC fix) ;)
File: wd93_fdd.zip http://zx.pk.ru/attachment.php?attachmentid=2840
From
Slavik Tretiak
→
To
All
13 March 2006
Hello, boo_boo
replaced.
added the ability to have trds with a different extension?
(what does mc have to do with it?)
PS I spent the whole weekend working on TargetT, so progress with the emulator will be made tomorrow.
Zyy. If I have time, I’ll add it so that it can be read from the archives, otherwise I have a lot of demos in
zip-ah
From
Stanislav Lomakin
→
To
All
13 March 2006
Hello Sinus
Sin> replaced.
Sin> added the ability to have trds with a different extension?
Sin> (what does mc have to do with it?)
and in mc, if you go to the archive and launch the emulsion from there by entering
associated file, this file is unpacked into a temporary directory with
idiotic pseudo-random name and no extension... in general, I'm tired of it
unpack the trdshki manually before starting :rolleyes:
From
Slavik Tretiak
→
To
All
13 March 2006
Hello, boo_boo
switching full skin by button? already ready ;) (two lines ;) )
but I’ll post everything in the next release (very soon)
From
Stanislav Lomakin
→
To
All
15 March 2006
Hello Sinus
this... here's another one, take a fresh z80ex from Sourcesforge - I fixed a couple quite
nasty bugs: IN A,(port) spoiled flags, and DD/FD chains messed up timing and
generally behaved like pigs -__-
From
Slavik Tretiak
→
To
All
15 March 2006
Hello, boo_boo
ok I'll take it.
Now I'm just staring at the anime ;)
From
Stanislav Lomakin
→
To
All
15 March 2006
Hello Sinus
Sin> I'm just staring at the anime now ;)
yeah, you have a mindgame there, honey n clover... I understand ;)
From
Slavik Tretiak
→
To
All
17 March 2006
Hello, boo_boo
yes, logical.
I also wanted to do this, but it worked without it ;)
so no for now :)
From
Stanislav Lomakin
→
To
All
17 March 2006
Hello Sinus
btw, please post again that snapshot with the circle/rays from unreal by KSA...
I want to see if it works now, but I installed it and can’t run it from disk
exits - resets before reaching this point :(
From
Stanislav Lomakin
→
To
All
17 March 2006
Hello, boo_boo
yyy! I uploaded the z80ex version with disasm to Sourceforge :)
From
Vladimir Berezenko
→
To
All
20 March 2006
Hello, boo_boo
I tried it with the new z80ex. The music began to hiccup.
I also tried to assemble an emulsion for Pegasos. It turned out that on big-endian machines
it doesn't work. The colors are curved (BGRA is used, not ARGB and therefore there is no blue and
the rest are mixed up) and reading the disk from TR-Dos does not work. The image is loaded into
memory, but in tr-dos it shows a disk error.
It goes without saying that in the makefile I uncommented BIG_ENDIAN.
From
Slavik Tretiak
→
To
All
20 March 2006
Hello, Q-Master
QMa> I also tried to build an emulsion for Pegasos. It turned out that on
QMa> it does not work on big-endian machines. Colors are curved (using BGRA, not
QMa> ARGB and therefore there is no blue and the rest are confused) and does not work
QMa> reading a disk from TR-Dos.
because wd1793 doesn’t care about all sorts of things BIG_ENDIAN
and with flowers, try this fix (in the attachment).
File: zemu_big_endian.zip http://zx.pk.ru/attachment.php?attachmentid=2936
From
Vladimir Berezenko
→
To
All
20 March 2006
Hello Sinus
Sin> because wd1793 doesn’t care about all sorts of BIG_ENDIAN
Sin>
Why then does the disk read error occur?
Sin> and with flowers, try this fix (in the attachment).
I'll try. I'll just get home.
From
Stanislav Lomakin
→
To
All
20 March 2006
Hello, Q-Master
QMa> Why then does the disk read error occur?
wd1793 in another sense doesn't matter - it works ONLY under little endian. actually,
WORDS_some_ENDIAN in the makefile of either z80ex only applies to this lib.
you can port wd1793 (although there are a lot of hemorrhoids), I would even do it, but for
lack of iron is sad...
As for the music hiccups - which version? with the latest patch for speaker etc,
which one I posted here?
From
Vladimir Berezenko
→
To
All
20 March 2006
Hello, boo_boo
boo> wd1793 in another sense, I don’t care - it works ONLY under little
boo> endian. Actually, WORDS_some_ENDIAN in the makefile or z80ex only
boo> This library applies.
boo>
boo> you can port wd1793 (although there are a lot of hemorrhoids), I would even do it, but
boo> due to the lack of iron - sad...
boo>
Do you have to change a lot in order for it to work under the bigendian? I'm not there much
I noticed places where Words are used... The image is readable. It’s just that it’s parsed crookedly,
as far as I understand.
boo> about the hiccupping music - what version? with the latest patch for the speaker
boo> etc, which I posted here?
If you do not change the z80ex lib, then with the latest patch even under SDL everything is ok. If either
replace it, it hiccups even without a patch.
From
Stanislav Lomakin
→
To
All
20 March 2006
Hello, Q-Master
QMa> Do you need to change a lot in order for it to work under the bigendian? I'm not there
QMa> I noticed a lot of places where Words are used... The image is readable.
QMa> Only it is parsed crookedly, as far as I understand.
a lot of things like *(short *)(pointer)=something, maybe something else. in
In principle, it’s not difficult to fix.
QMa> If you do not change the z80ex lib, then with the latest patch, even under SDL everything is ok.
QMa> If you replace the lib, it still hiccups even without a patch.
this is because the int length is not emulated... replace the main file with (attach)
File: zemu.cpp.zip http://zx.pk.ru/attachment.php?attachmentid=2937
From
Vladimir Berezenko
→
To
All
22 March 2006
Hello Sinus
Sin> Yeah, only your sound can play cyclically until you drop, if the buffer
Sin> unfinished
Sin>
Sin> cannot.
Sin> if the buffer is not written, it means the machine has not enough power
Sin> emulation.
Sin>
Sin> and by the way, the situation with n buffers is no better - if the buffer fails
Sin> add, then the sound will be intermittent - for me it’s at least repeating, at least
Sin> intermittent - one glitches.
Sin>
Heh. And listening to clicks in a circle is fun... A sort of echo...
Sin> What if there is no sound? What are we playing? Silence? For what? 8)
Sin>
Sin> I would like to send you to smoke materiel ;) regarding the work of modern ones
Sin> (read since Sound Blaster 1.0) sound.
Sin>
Sin> because the sound constantly demands data for itself. just different axes
Sin> this is hidden.
Sin>
Sin> no, of course, you can suppress a sample from the audio, but this
Sin> is slow and not a single normal axis supports this.Sin>
Sin> of course for the Amiga this is much simpler, because the Amiga "sound sound" is
Sin> simply 4 counters connected to... let's say DMA (breaks
Sin> remember what all the chipsets were called).
Sin>
Sin> and then, I doubt that when connecting a PCI audio speaker it is constant
Sin> turns on and off.
Sin>
Sin> and even if this is so, I don’t see a fundamental difference between
Sin> stopping the counters and “sending” a certain value to the audio signal
Sin> indicating silence (let's say 0)
Sin>
Sin> P.S.
Sin> and since the sound is still generated (whether it is silence or not), then
Sin> it is faster to play silence than to determine whether there are values in the buffer
Sin> different from zero and then decide whether to send this buffer to
Sin> sound.
My friend, go smoke some materiel yourself. Take special care of the PCI bus. There
it is very popularly stated who is demanding what, when and in what quantities. A
pollute the tire with silence, and at the same time listen to cyclic clicks, instead ofTo simply remain silent is, of course, incredibly cool. And as soon as others before
didn’t think of it... They slow down the sound for some reason, instead of listening to silence...
PS: to prevent this from happening, you need a double buffer. You can immediately calculate
whether you sound or not. And if you do, then exactly how long. Then the time spent on
the flow of voids will be reduced and the load on the processor and PCI bus will change.
From
Vladimir Berezenko
→
To
All
22 March 2006
Hello, boo_boo
boo> wow... can you provide an example in source form? just not wepytri-player, but
boo> emulator or something else near real time? and so that in modern
boo> OS, and for it to work :rolleyes:
Okay okay... haven't found it yet. There is no time to look especially hard. But what's the point? Because of
the fact that the buffer is constantly spinning and there are constant lags with the same beeper. On
/dev/dsp is not noticeable, but on SDL it is very noticeable. The point is that it clicked and
Now there is a lot of silence in the buffer which is being played until it reaches the place where
it clicked...
From
Stanislav Lomakin
→
To
All
22 March 2006
Hello, Q-Master
QMa> And as soon as others haven’t thought of this... They slow down the sound for some reason
QMa> instead of listening to silence...
wow... can you provide an example in source form? just not a wepytri-player, but an emulator or
something else near real time? and so that it works in a modern OS, and so that it works
:rolleyes:
From
Stanislav Lomakin
→
To
All
22 March 2006
Hello, Q-Master
QMa> Okay, okay... haven't found it yet. There is no time to look especially hard. But what's the point?
QMa> Due to the fact that the buffer is constantly spinning and there are constant lags as well
QMa> beeper. On /dev/dsp this is not noticeable, but on SDL it is very noticeable. The point is
QMa> that it clicked, and now there is a lot of silence in the buffer that is being played and
QMa> until it reaches the place where it clicked...
the meaning is that there is no other alternative :) digital sound - amplitude samples
according to the time quantum, respectively, when playing, each count must
fall exactly on your quantum. is there any other way to do this other than
continuously send samples to the audio system? how is it supposed to ensure
guaranteed synchronization with an accuracy of 1/44100 sec?
From
Slavik Tretiak
→
To
All
23 March 2006
Hello, Q-Master
Q-Master
in the latest versions (even before the beeper fix) the algorithm has changed a bit
filling the buffer to minimize delays.
on my machine (both on the old one - 500mhz + Sound Blaster 16, and on the new one - 2.5ghz +
AC97)
lag no more than 1/25 second (2 spec HALTs, tested on all sorts of demos)
In the absence of other machines with Linux at hand, I can’t do anything better.
If you have a big lag and you know how to fix it, fix it.
boo_boo suggested writing under /dev/dsp - now everything is cool.
boo_boo called me for not posting anything for so long, it just happened at work
There are more projects than there are working resources, we sit from morning to night.
I do the emulsion in the evenings when I’m not breaking in, now because of the alteration of the sound everything is in
state of non-standing (read does not work).
and also TargetT.
but soon everything will be cool.
From
Vladimir Berezenko
→
To
All
23 March 2006
Hello, boo_boo
boo> the meaning is that there is no other alternative :) digital sound - samples
boo> amplitudes by time quantum, respectively, when playing each
boo> the count must fall exactly on its quantum. there is another way to do this
boo> what to do other than continuously send samples to the audio system? what
boo> is supposed to provide guaranteed synchronization with
boo> accurate to 1/44100 sec?
This is the problem with SDL. The lag occurs due to the fact that constantly
a buffer is generated, and not the current reading is pushed into the sound box. It's possible
fix by introducing pauses in buffer playback or shorten as much as possible yourself
buffer. Well, at least try.
From
Kevin
→
To
All
24 March 2006
Hello Sinus
Sin> what is Symbian? Is there anything there?
Sin>
Sin> but in general, if I’m going to write for mobile devices, then for
Sin> Windows Mobile, because I have a Pocket PC
OS on mobile phones, for example Siemens SX1, NOKIA 6600, etc.
You write in C on your computer, and then convert it to mobile
From
Kevin
→
To
All
24 March 2006
Hello Sinus
Sin> is not a show-off.
Sin> I'd rather make a normal AyPlayer on PocketPC, because there
Sin> normal C is
Sin> (and even quite GCC)
Sin>
Sin> and on a toad... rewrite tons of code... and there’s nowhere to check (there’s no
Sin> I crumple toads on my mobile phone, because there’s no need)
And you write under Symbian OS 6.x :)
From
Slavik Tretiak
→
To
All
24 March 2006
Hello Kevin
what is Symbian? Is there anything there?
but in general, if I’m going to write for mobile devices, then for Windows
Mobile, because I have a Pocket PC
From
Slavik Tretiak
→
To
All
24 March 2006
Hello Kevin
no, I know that this is an OS ;)
I mean, writing for Symbian is not in my plans for the next 100 years
included ;)
From
Kevin
→
To
All
27 March 2006
Hello Sinus
Sin> no, I know that this is an OS ;)
Sin> I mean what to write for Symbian in my plans for the next 100
Sin> years not included ;)
Just like that. And he ruined everyone... ;)
From
Andrew Busygin
→
To
All
31 March 2006
Hello Sinus
Sin> no, I know that this is an OS ;)
Sin> I mean what to write for Symbian in my plans for the next 100
Sin> years not included ;)
When will you be able to see Pokemon? :v2_smile:
From
Slavik Tretiak
→
To
All
2 April 2006
Hello Sinus
aah!!! How screwed up were the people switching the port via OUT(#FD),A!!! :mad:
When I tested the target, I set 512 in the config and forgot to remove it.
The coolest thing is that the demo works, it’s just that there are no multicolors ;) (it’s 512
when)
PS I started Unreal by KSA with the new VGshka.
From
Slavik Tretiak
→
To
All
2 April 2006
Hello, boo_boo
yes, it does ;)
I completely redesigned the sound (now both beeper and SDL, and maybe if I dig some more,
it will stop clicking ;) ), added indicators.
and noticed an annoying glitch - for some reason, after the alterations, it began to strangely glitch
RAGE. More precisely, I will check this later.
There will be a recording, and there will be a mouse ;)
From
Stanislav Lomakin
→
To
All
3 April 2006
Hello Sinus
Sin> so. finally a new version.
Sin> many fixes and additions.
Sin>
yay, you're cool!!! :)
..and the lag appeared again - because you took the previous version of wavplay
:rolleyes: that's okay, the worse thing is that the sound itself is garbage - make it "BEEP 10.1"
and you will understand what I mean. this is partly because ay libs are also old, but in
mainly because the samples are cut off when the buffers for ay and the beeper go out
different sizes.
in the attachment - a stupid, but working fix, including the new wavplay and ay. IMHO if
in a good way, the most logical thing is to teach SNDRENDER to work with a ring buffer in
normal mode (SMT, what do you think?). yes, and I also suggest removing AUDIO_HW_BUFFER
in the config - it’s good for everyone, both SDL users and non-lag lovers ,)
Sin> I made fun of VGshka a little there, look, maybe something is possible
Sin> is optimal to do.
Sin> PS. where I corrected " -1 " to " ~(unsigned)0 " this is for warnings
Sin> did not exist.
passing time to is_drive_spinning is reasonable. with -1 too. by the way, in 313
and the 338th line of wd1793.cpp you (unsigned) forgot before the zero - there is absolutely no difference
none, but if we’re going to be aesthetic, then to the fullest! :rolleyes: .
mouse - yay! ^____^The icons are beautiful, but due to the fact that they are constantly on the screen, they are an eyesore...
suggestion - make a config option - do not draw gray icons, only
active.
PS, by the way, there is already a new version of z80ex, with fixes. flags.
File: zemu_sound_fix.zip http://zx.pk.ru/attachment.php?attachmentid=3014
From
SMT
→
To
All
3 April 2006
Hello Sinus
> teach SNDRENDER to work with a ring buffer in normal mode
EXTERNAL_BUFFER what is it not?
From
Stanislav Lomakin
→
To
All
3 April 2006
Hello, boo_boo
oh, here's another thing - I caught an EXTREMELY malicious bug in the z80ex (deadlock in processing
IM0). update to version 0.15 from https://sourceforge.net/projects/z80ex/ --
definitely!
From
SMT
→
To
All
4 April 2006
Hello Sinus
Sin> damn it already hesitated. I’ll probably get it to usable 0.1 and start writing
Sin> clock-by-clock emulation (and also so that different devices can render
Sin> SAME number of samples per frame)
good: more engines are better. although there is no longer a problem with the number of samples,
boo_boo just posted something wrong
From
Slavik Tretiak
→
To
All
5 April 2006
Hello, boo_boo
boo> do you mean worse? are you talking about the “high-frequency hissing” with the new
boo> wavplay? Looks like you can't handle 8 fragments, you need more (y
boo> this phenomenon manifests itself when there are less than 8 of them, and if the system
boo> is loaded, then at 8i).
boo> if you replace the line with
boo> tmp = 0xFF0000 | (int) (log(frag_size) + 0.5);
I'll try it when I'm home.
> in general, IMHO you need to pass 2 parameters (from the config) to wav_start:
> frag_num and frag_size, and turn the above line into
> tmp = (frag_num << 16) | (int) (log(frag_size) + 0.5);
>
> Threat sampling frequency also has a place in the config ;)
buffer size (the one that AUDIO_HW_BUFFER) would not be included in the config
shift, because then you need to use dynamic arrays.
nothing terrible of course (the same config.cpp actually writes trees), but that’s all
I wouldn’t really like it - there are fewer potential glitches.
but frag_num and frag_size should be in the config.
and also for you to write a tutorial on what should be installed - I admitted absolutely not
know what this means.
From
Slavik Tretiak
→
To
All
5 April 2006
Hello, boo_boo
boo> I posted the same thing, but Sinus apparently wants the number of samples to be
boo> equal on every frame, not on average. IMHO it would be nice
boo> although not fundamentally at all :)
well something like that.
those. I want it for any frame
dev_ay.samples == dev_border.samples
(of course, if frame1_samples != frame2_samples then this is absolutely not
critical)
From
Stanislav Lomakin
→
To
All
5 April 2006
Hello SMT
SMT> EXTERNAL_BUFFER what is it not?
because this external buffer is the same for all instances of SNDRENDER, and if you want
mix the streams yourself, it doesn’t work :rolleyes:
From
Stanislav Lomakin
→
To
All
5 April 2006
Hello SMT
SMT> good: more engines are better. although there are problems with the number of samples
SMT> no longer exists, boo_boo just posted something wrong
I posted the same thing, but Sinus apparently wants the number of samples to be equal
on every frame, not on average. IMHO it would be nice, although not
basically in general :)
From
Stanislav Lomakin
→
To
All
5 April 2006
Hello Sinus
Sin> buffer size (the one that AUDIO_HW_BUFFER) would not be included in the config
Sin> shift, because then you need to use dynamic arrays.
Sin> no big deal, of course (the same config.cpp is generally trees
Sin> scribbles), but still I wouldn’t really like it - there are fewer potential ones
Sin> glitches.
uh? malloc or new either passes 1 time at startup, or not, where are the glitches coming from?!
This is an important feature, you can’t sacrifice it to paranoia ;)
Sin> but frag_num and frag_size should be in the config.
Sin> and also for you to write a tutorial on what should be installed - I allowed
Sin> I have absolutely no idea what this means.
this is the number of buffers and the size of each. the optimal ones are selected empirically, and according to
by default, you need to set it with a margin, or not set it at all, if, for example, 0 in
config.
From
Stanislav Lomakin
→
To
All
5 April 2006
Hello Sinus
Sin> my fixes didn’t work and the sound only got worse.
Sin>
do you mean worse? Are you talking about the “high-frequency hissing” with the new wavplay?
It looks like you can’t cope with 8 fragments, you need more (I have such a phenomenon
appears when there are less than 8 of them, and if the system is loaded, then even at 8).
if you replace the line with
tmp = 0xFF0000 | (int) (log(frag_size) + 0.5);
Has the hissing gone away? Everyone's system is different... that's why we need the ability to set
from the config, the buffer size (AUDIO_HW_BUFFER) and, as it turns out, also the number
fragments - what sounds normal for you, gives me a lag, and vice versa too
crap. :rolleyes:
in general, IMHO you need to pass 2 parameters (from the config) to wav_start: frag_num and
frag_size, and turn the above line into
tmp = (frag_num << 16) | (int) (log(frag_size) + 0.5);
For reference, the sampling frequency also has a place in the config ;)
From
Slavik Tretiak
→
To
All
6 April 2006
Hello, boo_boo
In short, here are the results of my findings:
despite the fact that /*max 8 fragments*/
I get the best results with values 11-12 (I removed the logarithm for now
nafih).
and in the old version of wavplay.cpp, setting the fragment size was at the very end, and
in the new one, somewhere in the middle. is this necessary?
I moved it to the end - nothing seemed to have changed.
and in general, SDL behaved best - almost pure sound.
From
Stanislav Lomakin
→
To
All
6 April 2006
Hello Sinus
Sin> in short, here are the results of my findings:
Sin> despite the fact that /*max 8 fragments*/
Sin> I get the best results with values 11-12 (I removed it for now
Sin> logarithm nafikh).
Sin> and in the old version of wavplay.cpp the fragment size was set in
Sin> end, and in the new one, somewhere in the middle. Is this necessary?
Sin> I moved it to the end - nothing seems to have changed.
Sin>
Sin> and in general, SDL behaved best - almost pure sound.
setting the fragment size must be immediately after opening the device, otherwise
most likely it won't work. the comment about "8 max" meant that
it is in this particular case that there are 8 fragments, and not that there are no more of them
there should be.
the fragment size is equal to two to the power of the least significant word of the number transmitted
ioctl'u SNDCTL_DSP_SETFRAGMENT (that is, in the low word - log2 of the required
size). I messed up here, sorry - log is a natural logarithm.
and the number of fragments is taken from the senior word.
see docs on OSS.
SDL is, of course, pure sound. set for /dev/dsp 0x7FF fragments at 1024b and
the sound will be just as great. and with no less healthy lag :rolleyes:
From
Slavik Tretiak
→
To
All
6 April 2006
Hello, boo_boo
ok. I'll test it.
From
Stanislav Lomakin
→
To
All
7 April 2006
Hello Sinus
yo, I caught some glitches:
disk save only works if the disk was loaded from a browser, and if from
command line - fig. :(
the keyboard is buggy - ss for letter keys works fine, for digital keys - when
holding ss and pressing number once everything is ok, but then, if it’s not
Release and press the button again, just a number is printed. cs for number keys
produces nonsense, because of which, for example, it is impossible to do graph mode otherwise than
hanging it on a separate button.
From
Slavik Tretiak
→
To
All
17 April 2006
Hello, breeze
By the way, I read about scrollers (in the programming section) and thought, does anyone know?
SDL about beam retracement?
I'll have to check it at home.
updated
no, he doesn’t know anything.
it really tries to wait for the beam to reverse if you do SDL_Flip().
I'll try.