ZEmu

ZXNet echo conference «zxnet.pc»

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.