23 May 2009, 12:10 | #121 | |||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Yes, they're long. They're an hour of continuous music each. They were originally encoded in mp3 format, and the guy I got them from burned them to cd, so I encoded them at 320kb to keep them in a good quality. They're both 182 mb large. Still a lot better then 650 mb per cd. Quote:
Not me. You might as well get a peecee with those speeds. Trying to get things fast on a 50mhz '030 is part of the fun! Quote:
Quote:
Quote:
Quote:
Quote:
Code:
; 2. valeurs 2,e,14,20 ; on utilise le fait que 3b21=32c6+85b et 3f74=26f6+187e move.l d1,a4 ; z0 move.l d0,a5 ; zc move.l d1,a6 ; z14 move.l d0,d2 ; z10 neg.l d1 ; z4 neg.l d0 ; z8 move.w 2(a0),d4 beq.s .l0 move.w d4,d3 muls #$32c6,d3 sub.l d3,a4 ; z0 sub.l d3,d1 ; -32c6 move.w d4,d3 muls #$26f6,d3 sub.l d3,a5 ; zc sub.l d3,d0 ; -26f6 move.w d4,d3 muls #$187e,d3 sub.l d3,d2 ; z10 sub.l d3,d0 ; -26f6 -187e -> -3f74 muls #$85b,d4 sub.l d4,a6 ; z14 sub.l d4,d1 ; -32c6 - 85b -> -3b21 Code:
.loop ifne round moveq #2,d1 moveq #2,d2 moveq #2,d3 add.b (a0)+,d1 subx.b d4,d4 ; 00 si ok, FF si ça dépasse or.b d4,d1 ; inchangé si ok, FF si ça dépasse add.b (a0)+,d2 subx.b d4,d4 or.b d4,d2 add.b (a0)+,d3 subx.b d4,d4 or.b d4,d3 else ; round=0 pas d'arrondi, on coupe juste move.b (a0)+,d1 move.b (a0)+,d2 move.b (a0)+,d3 endc ; ; Do this in parts later. ; ; moveq #-4,d4 ; fc ; and.b d4,d1 ; and.b d4,d2 ; and.b d4,d3 ; move.l d1,d4 ; rrrr.... lsl.l #4,d4 ; rrrr....0000 move.b d2,d4 ; rrrrvvvv.... lsl.l #4,d4 ; rrrrvvvv....0000 move.b d3,d4 ; rrrrvvvvbbbb.... lsr.l #4,d4 ; rrrrvvvvbbbb move.l (a5,d4.l*4),a6 ; ; Register swap and dec instead of ; inc (modify table gen a little) ; move.l d3,d6 sub.b -(a6),d6 bcc.s .n0 neg.b d6 .n0 move.l d2,d5 sub.b -(a6),d5 bcc.s .n1 neg.b d5 .n1 move.l d1,d0 sub.b (a6),d0 bcc.s .n2 neg.b d0 .n2 add.l d5,d0 ; r+v add.l d0,d0 ; (r+v)*2 = 2r+2v add.l d5,d0 ; 2r+3v add.l d6,d0 ; 2r+3v+1b move.l d1,d4 sub.l a2,d4 bpl.s .n3 neg.l d4 add.l d4,d4 ; r *2 .n3 move.l d2,d5 sub.l a3,d5 bpl.s .n4 neg.l d5 .n4 move.l d5,d6 add.l d5,d5 add.l d6,d5 ; v *3 move.l d3,d6 sub.l a4,d6 bpl.s .n5 neg.l d6 .n5 ; b *1 add.l d4,d5 ; d4=r d5=r+v d6=b add.l d6,d4 ; r+b r+v b add.l d6,d6 ; r+b r+v 2b add.l d5,d6 ; r+b r+v 2b+r+v beq.s .vbrb ; all together = 0 -> gbrb sub.l d4,d6 ; r+b r+v v+b ; d6=r d5=b d4=v d0=f cmp.l d4,d6 bls.s .br cmp.l d4,d5 bls.s .bx cmp.l d4,d0 bls.s .fi .ve moveq #-4,d4 ;Moved (see above) and.b d4,d2 move.l d2,a3 addq.b #3,d2 move.b d2,(a1)+ dbf d7,.loop rts .br cmp.l d6,d5 bls.s .bx cmp.l d6,d0 bls.s .fi .ro moveq #-4,d4 ;Moved and.b d4,d1 move.l d1,a2 addq.b #2,d1 move.b d1,(a1)+ dbf d7,.loop rts .bx cmp.l d5,d0 bls.s .fi .bl moveq #-4,d4 ;Moved and.b d4,d3 move.l d3,a4 addq.b #1,d3 move.b d3,(a1)+ dbf d7,.loop rts .fi move.b (a6)+,d3 ;Changed from dec to inc. move.b (a6)+,d2 ;This is why the palette table move.b (a6)+,d1 ;has to be altered a little. move.b (a6),(a1)+ ;Moved for pipeline. move.l d1,a2 move.l d2,a3 move.l d3,a4 dbf d7,.loop rts .vbrb btst #0,d7 ; 0,2 -> b beq.s .bl btst #1,d7 ; 1 -> r beq.s .ro bra.s .ve ; 3 -> v (3210->vbrb) Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Not yet. This code is quite tough. Maybe I'll never spot a single thing, so I'm not promising anything. It's fun to try, though. Not yet. I'm going to keep looking first. Maybe I'll spot more interesting optimizations. If tables won't increase the speed much, it's perhaps better to try them later, when all else has failed. Quote:
I'd still forget about it for now, if I were you. Just focus on the cpu that needs optimizations the most. Yeah, right, if only. Quote:
Yes, I think it is. Just try decoding a single three minute song in good quality to wav and play it back. If it sounds good, it's the program. |
|||||||||||||||||
24 May 2009, 13:39 | #122 | |||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
As for the next one : Code:
move.b (a0)+,d0 move.b (a0)+,d2 move.b (a0)+,d3 moveq #-4,d4 ; fc and.b d4,d2 and.b d4,d3 and.l d0,d4 ; d0=original, d4=and fc move.l d4,d1 Okay, that's only 2 cycles ;-) The last one was more complex to do. The idea was to move fixed pixel computation at the end, so that before doing it we know that this particular pixel is identical to its predecessor. It involved much code duplication, due to massive register shortage. But now this code : Code:
add.l d4,d5 ; d4=r d5=r+v d6=b add.l d6,d4 ; r+b r+v b add.l d6,d6 ; r+b r+v 2b add.l d5,d6 ; r+b r+v 2b+r+v beq.s .vbrb ; all together = 0 -> gbrb Quote:
Quote:
Quote:
And trying to get things fast on your 030-50 is fun only when you're successful Quote:
All the MPx formats are just Motion Picture expert group, audio part, layer x. Note : MP1 and MP2 are somewhat misnamed and can be confused with MPEG-1 and MPEG-2 video formats. You have MPEG-1 layer 3 and MPEG-2 layer 3 for audio (there is also an unofficial MPEG2.5), just to make things simpler Drop an MP3 into DT and you will read e.g. MPEG1-III as format. What you need to know is that MPEG audio has 3 (now 4) layers, each one being more efficient and more complex than its predecessor. Layer 4 is AAC (M4A). It's just accidental that MP3 got so widely used as standalone audio. All first 3 layers are supported by original mpega.library so I want to keep that, even though I have no layer 1 at all and only one layer 2 stream to test Any time Indeed. Quote:
I don't see the point in putting more than one space at left of code anyway. Code formatted like that leaves left half for code, right half for comments and it's good for me. Anyway, code formatting is source of endless discussions between programmers, perhaps it's finally just a matter of personal taste. Btw. where do you put your opening curly braces ? At the wrong place I bet Perhaps it's a little bit of exageration. For me, it is. If I did my 44000 lines DM1 source like that it'd end up 60000 lines or so Quote:
Made any test so far ? Quote:
Quote:
So it is. But now that I think about it, using an external program would perhaps add some quite random I/O time and lose accuracy. Unsure, though. Quote:
Quote:
Quote:
Quote:
For 3 blocks adda.l a6,a4 can be removed because A4 is not used, so don't care about them, it's a known thing. But that's neglectable... So if mpega.library can sound good enough, have you tried the version in my archive, with its default settings ? |
|||||||||||||
27 May 2009, 20:16 | #123 | ||||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
I tried the library itself. The problem was that I thought I had to reset to get the new library to work after testing the original, witch made me think that trying things would suck. D'oh. I had totally forgotten about flushlibs. Anyway, since the problem is solved... I tried it with Delitracker, and although it produces a nice stream of continuous audio, the quality was quite bad, witch is sadly due to Delitracker. Why on earth does Delitracker only use the 14bit genie when you turn on mixing? It only reduces the quality level. 14Bit replay is DMA, and doesn't need mixing. As for your optimizing effort, top notch I tried the same high quality mp3 with Hippoplayer (quality 0, frequency devision 2) in 14 bit, and it sounded fantastic. Now you know the audio isn't continuous, of course, some of the buffer is replayed, but... the replay length is short, much better than the original. I think that it may be possible to actually get this to work properly. In fact, seeing how dreadful the quality is with Delitracker, why not take shortcuts such as the ones I proposed for your jpeg decoder? In this case, the audio will still sound much better than with Deli, so throwing some quality away won't really matter. Can't hurt to try. Quote:
Quote:
Quote:
If you agree that taking decoding short cuts might work, then sure, if not, you're going to have to wait until I see something, this is code is quite tough. Thanks, I know Quote:
Then it's time to squeeze your brain more Start by using Hippo in 14 bit (not with ahi, of course), and use the settings I wrote above. Try to sacrifice quality in the decoding process, while keeping the audio quality better than what Deli gives us. Quote:
When I decoded some good quality mp3s to wav in the highest quality settings, the audio sounded fantastic. As said, I've tried your version with the Delitracker you supplied, and Deli made it sound bloody awefull. It sounds great with Hippo, and I'm sure it sounds just as good as the original when using the highest settings. It's not your version that's the problem, its Delitracker. Get a better player, meynaf Last edited by Thorham; 27 May 2009 at 20:27. Reason: Many big 'typos'. |
||||||||||||||||||
27 May 2009, 22:58 | #124 |
Registered User
Join Date: May 2009
Location: Oxford, UK
Age: 43
Posts: 511
|
edit: sorry, using a mobile and got mixed up between 'search' and 'new entry' sections.
Feel very stupid now! |
28 May 2009, 02:29 | #125 | |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Small update: Meynaf, I've tried messing around with the quality. My first attempt was in the subb_w.s file, and this went pear shaped very quickly My second attempt was quite the opposite. I tried replacing constants in the mdct part, and guess what, very little difference. I went quite far, rounding constants to the nearest multiple of of $1000. I did it for the first four in the code, and I replaced a whole block of them (one of the blocks with the increadible code ). Worked like a charm, so I went ahead and optimized them to two shifts and a small number of subs and adds. You've got to see and hear this to believe it I'll post the first bunch of optimizations later today. It's late (2:20 am), and I'm going to bed in a few minutes. But don't wait for it, and try replacing some constants whith some rounded ones, and hear it for yourself. Perhaps it's an idea to make an extra version that uses this slightly reduced quality, but let's just see (or should I say hear ) how far this can be stretched. It's quite amazing how much you can play with those constants. I guess those dcts are lossy, and you can actually play with this lossyness, without actually affecting the amount that is lost too much, just like with jpeg. Funny |
|
28 May 2009, 10:06 | #126 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Second update:
First, here is some simple stuff from the start of subb_w.s that can be optimized without loss of quality: Code:
move.w d2,d5 sub.w d3,d5 movea.l d5,a5 add.l a5,a5 ; move.w d2,d5 ; sub.w d3,d5 ; ext.l d5 ; add.l d5,d5 ; movea.l d5,a5 ; a5=addy src1 (a3) move.w d2,d5 sub.w d4,d5 movea.l d5,a6 add.l a6,a6 ; move.w d2,d5 ; sub.w d4,d5 ; ext.l d5 ; add.l d5,d5 ; movea.l d5,a6 ; a6=addy src2 (a4) move.w 2(sp),d3 sub.w d3,d2 ext.l d2 add.l d2,d2 ; sub.w 2(a7),d2 ; d2 empilé ; ext.l d2 ; add.l d2,d2 ; d2, c'est ce qu'on ajoute à a2 ; move.w 2(a7),d3 ; d2 empilé This code is from the beginning of mdct: Code:
moveq #13,d1 move.w $1a(a0),a4 move.l a4,d2 lsl.l d1,d2 move.l d2,d0 add.l d2,d2 move.w 8(a0),a4 move.l a4,d3 lsl.l d1,d3 move.l d3,d1 add.l d3,d3 add.l d3,d0 sub.l d2,d1 Code:
move.w $1a(a0),d2 move.w 8(a0),d3 move.w d2,d0 move.w d3,d1 muls #$187e,d0 muls #$187e,d1 muls #$3b21,d2 muls #$3b21,d3 add.l d3,d0 sub.l d2,d1 Code:
move.w (a0),d0 beq.s .rien0 ext.l d0 lsl.l #8,d0 ;$100 move.l d0,d7 add.l d7,d7 add.l d0,d7 ;$300 add.l d7,a6 sub.l d7,d3 lsl.l #4,d0 ;$1000 move.l d0,d7 add.l d7,d7 ;$2000 ;$1000 add.l d0,a5 sub.l d0,d4 ;$1000 add.l d0,a4 sub.l d0,d5 ;$2000 add.l d7,a3 sub.l d7,a2 ;$2000 add.l d7,a1 sub.l d7,a2 add.l d0,d7 ;$3000 ;$3000 sub.l d7,d1 sub.l d7,d4 ;$3000 sub.l d7,d2 sub.l d7,d3 ;$3000 add.l d7,d6 sub.l d7,d5 .rien0 Code:
; bloc 1/12 ifeq mul8 move.w (a0),d0 ; 0(a0) beq.s .rien0 ; il y en a donc ça vaut le coup move.w d0,d7 muls #$2f30,d7 sub.l d7,d1 sub.l d7,d4 ; -2f30 move.w d0,d7 muls #$35fa,d7 sub.l d7,d2 sub.l d7,d3 ; -35fa move.w d0,d7 muls #$2cb,d7 add.l d7,a6 sub.l d7,d3 ; -35fa -2cb -> -38c5 move.w d0,d7 muls #$dda,d7 add.l d7,a5 sub.l d7,d4 ; -2f30 -dda -> -3d0a move.w d0,d7 muls #$1d8d,d7 add.l d7,a3 sub.l d7,a2 ; -1d8d move.w d0,d7 muls #$133f,d7 add.l d7,a4 sub.l d7,d5 ; -133f move.w d0,d7 muls #$2263,d7 add.l d7,a1 sub.l d7,a2 ; -133f -2263 -> -3ff0 move.w d0,d7 muls #$2b3d,d7 add.l d7,d6 sub.l d7,d5 ; -133f -2b3d -> -3e7c Last edited by Thorham; 28 May 2009 at 10:12. |
30 May 2009, 09:26 | #127 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
Lossy ? Did I read lossy ? Did you measure the decoding time it gets ? Quote:
If you want to be faster with lower quality, just select "medium" instead of "high" (and it will sound better than you think) |
||
30 May 2009, 09:46 | #128 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
Quote:
Lossy things like that can be subject to quality settings, but they need to gain a lot of cpu power to be really acceptable. Is it the case here ? Besides, they're not acceptable at all for high quality setting, and this is the ultimate goal. |
||
30 May 2009, 14:35 | #129 | |||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
Well, it wasn't by the time you posted, but now it can (see attached file). Quote:
Quote:
Also, HD back in 1992 weren't fast enough to push this system to its limits. Quote:
About the challenge, there can still be some. If it's not making it faster, could be making it smaller. Or make enormous computations (such as video encoding or world simulations) run faster I have some fun in store for you then Quote:
I want to see yours then Quote:
Quote:
Unsure. More lines in overall means less meaningful lines on actual view. Yeah, that sure is big, but there are bigger ones. Quote:
Quote:
Besides, if it's really dreadful, then it's not DT but its mpegaplayer plugin. Or... Are you SURE it wasn't one of your lossy tests which got used ? I forgot to tell you that doing a lib flush isn't enough : you must also eject the mpega player before ! (open the players window and click on "clear" to do this quickly) Or... Are you playing something with settings just too high ? If so, it'll sound bad but it's just because there are small "holes" in the replay. If you check "mono" the quality will be normal. Playing with settings your cpu can't handle is looking for bad quality Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Didn't you try DT after your lossy tests ? I suspect this version wasn't used by Hippo (perhaps it holds the lib permanently) but later used by DT ! There are none. Btw if you really think it's crap when playing MP3, I have resourced the player too. But it's not that. Quality on DT is same as decoded wave and if it's not the case for you there's something wrong and it's not DT itself. Last edited by meynaf; 12 May 2011 at 08:32. |
|||||||||||||||||
30 May 2009, 16:09 | #130 | ||||||||||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
That's how I see it Quote:
Quote:
Quote:
Okay, show me then! Quote:
It depends on your ability to describe things in a clear and compact way. Not in my opinion Perhaps. I haven't seen a lot of C code, so I wouldn't know. Quote:
Like what? Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Odd, guess I'll try again. Okay, I guess they can stay in then. Quote:
Quote:
Sad Perhaps, maybe I'm just screwing up, maybe there is something else. I'll try to figure it out. |
||||||||||||||||||||||||
01 June 2009, 16:29 | #131 | ||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
But this part poses a problem anyway : it decides of which routine to call, and I don't know on which criteria ! (apart the 3 quality settings)
Quote:
Quote:
Quote:
Check with several very different MP3. I've already had bad surprises while doing so... Quote:
If you have a version that works OK for you, I can test it too, so just give it to me. Quote:
However it can be linked with the "low" and "medium" settings. Quote:
Beware : my tests have shown that loop must remain within 240 bytes. Quote:
Quote:
Quote:
I have some sources for OGG that need to be ported to ASM. Interested ? Quote:
On second thought, it can be just a matter of habits. The closer the code is from your own way of making it, the more readable you'll find it. You haven't seen a lot of C code ? Ya are a lucky guy then Quote:
But I admit I like things that are small and compact Disassemble a whole game and you'll see. mpegaplayer will never use the 14 bit genie whatever you do. Why do you want this anyway ? Quote:
Quote:
Just eject player, flush libs, and reload player. Quote:
Is final playtime right ? Does activating the audio filter do any good ? (click on quotation mark icon, then "filter" check-box) Quote:
Which version of Hippo are you using, so I can check the exact same things ? Can I get the very same config file for it too ? They can, even though a little bit of clean-up wouldn't hurt. Quote:
Indeed. If things still go wrong, I can make a booby-trapped lib for you, to see the data path. |
||||||||||||||||
03 June 2009, 23:13 | #132 | |||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Indeed Makes me wish I had a scsi expansion for my Blizzard By whom? Microsucks? If so, then perhaps it's an idea to drop a big bomb on all the M$ offices, etc, problem solved Anyway, in the future all that shite will be dropped anyway. No one is going to stick to a pile of poo for ever. Oh noes, 8bit assembler sucks. I know, because I used to code on the C64. I'm never ever going back there. IA32 is probably more fun Quote:
Quote:
Quote:
I know Quote:
Hehe, I don't think so, mate, not this guy. Quote:
Doesn't sound like it, though. Odd. Quote:
Quote:
Right. I'm still sticking to Hippo for now, though. Easier to use for this. And I'm making a script as well. It will assemble the library, copy it to hd0:libs/ and flush the library. Then all I have to do is splay an mp3. Quote:
As for what's going on, it's simple, I'm using a full stereo set with old kef speakers, and you're using your 1084S' internal speakers. On a stereo system you can't get away with as much as on those internal speakers, and it's something you really have to take in account when doing audio work. Your settings probably sound fine on your 1084S, but not on my system (again, not very advanced and the kefs tweeters are blow, so I'm using cheap Aiwa satellites for high freqs). Why not? It's not much work. I'll see if I can get it done during the weekend, but as said, I'm not promising anything. Quote:
As for the settings, I have an Idefix problem, witch means I can't transfer the file right now (I have to burn the file to cd, and I don't feel like fixing it now, either, sorry ), so here goes: Just set mpeg quality to 0 and the frequency divider to 2 and don't forget to set the program to use calibration, and use double buffering. As far as I know, that's it. Probably not important, but I use a 128kb sample buffer. Yes, as said I changed the colors each time I changed something in the source code. I'll test again, but it's probably due to the fact that your settings are based on the 1084S speakers, and not a stereo system witch is really needed. Last edited by Thorham; 03 June 2009 at 23:22. |
|||||||||||||||||
05 June 2009, 19:28 | #133 | |||||||||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
I just said "not too fast" Quote:
Quote:
If you're short on mp3s, you can PM me to borrow a few ones. I have at least one where the difference between medium and high qualities can clearly be heard. Quote:
Quote:
Not lea of course It's things such as chk/chk2, trapv, rtr, cas/cas2, negx, nbcd, reset, move16. If you have a good use for them then I really want to see it ! Quote:
Perhaps they can still be found e.g. on eBay or similar sites. Quote:
In fact it's your fault (You have a PC at home, don't you ? There would have been no x86 everywhere if no-one to buy them !) More seriously, it's simply because all existing software would no longer work on a non-x86 machine. Quote:
But will users who know nothing but their pile of poo want to change ? Quote:
Quote:
Quote:
Because you can count on my laziness, as translated comments aren't automatic for me ! And my way is just too far from everyone else's You can reformat as you read... Oh yeah ? I wonder why Quote:
But it IS 14-bit even on your machine. Something else is wrong. Quote:
Now try setting the frequencies to 25000 like I did (not 20000), the quality to high, still mono, and tell me the result And don't tell me you don't want to do that (like with filter). TRY IT ! Quote:
But then why can't you give me that lossy version ? Quote:
With DT you can use a script as well. You can even do this in ARexx, to command DT by script : even the mp3 loading would then be done automatically. I can help if you don't know how to do that. Quote:
Quote:
But no my friend, it's not that. Try setting frequency division to 4 in Hippo and compare with DT output. Can't you guess what's really going on then ? Quote:
Quote:
So it has a better quality than DT, eh ? Perhaps it has different cpu use too ? Quote:
Quote:
Quote:
Quote:
But I don't need to check data path any longer. I know what happens now. I suppose you do too, or you will by the time of answering (at least you should know what to do to fix it). |
|||||||||||||||||||||||
08 June 2009, 13:42 | #134 | ||||||||||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Yes, and probably for way to much cash Damn, I really want one. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Perhaps. Yeah, I do that anyway. Quote:
Yes, you're right... Quote:
Quote:
Quote:
Quote:
Not to me, because the filter chops off too many high frequencies, and to me that just sucks. Quote:
Quote:
Nooooo Quote:
No, I can't because I don't have CF cards Besides, I want a pcmcia network adapter. Much better for me. Quote:
Quote:
You were right all a long. It's just that I've had three 1084s and I've always been amazed at how much better a stereo system sounds. Sorry mate |
||||||||||||||||||||||||
09 June 2009, 13:06 | #135 | |||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Ok. Check, mate
Sorry. Only a few stereo streams can be played realtime (and with quality set to low). Quote:
Quote:
Indeed. A concrete case ? Quote:
A quick look won't cost... Quote:
Quote:
I hope I'll see that. Quote:
Quote:
Quote:
Quote:
Now you set up an unfair limit of 20000 in DT. So if you play 44.1 MP3 (you do, don't you ?) the player can't use 22050 (yes, 22050>20000 ) and it will switch the freq div to 4, leading to 11025 Hz. And that's really AM radio quality, as you said. The frequency you give is a limit to compute the freq_div value. Ability to use arbitrary ratios would be overly complex, so only values 1,2,4 are supported. If you play a 22050 MP3 (there are some), you can play it with freq_div=1, so specifying freq_div directly is not good. I put 25000, but writing 22222 or 28836 would make no difference (for 44100). Quote:
If it's "zmac" you're looking for, then it is obsolete. It was my old "multiply-accumulate" macro. No longer used ; see if/endc pairs. Quote:
Quote:
Quote:
It is. You're welcome. The mere fact it can't be extended by custom players makes it unsuitable for me. If playing at freq_div=2 where DT uses 4, then certainly Quote:
Could be much better, but nothing else suits my needs. Quote:
Now it's solved... |
|||||||||||||||
11 June 2009, 21:58 | #136 | ||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Here is the partially completed mdct file: mdct_l.txt
It's partial because I have a feeling that if I lossy optimize more, that it's going to sound bad and I want your opinion about the sound quality first. What I've done is (besides the two optims I've showed you earlier) lossy optimze the bunch of blocks between: Code:
; on sort avec d0-d1 pour calcul suivant ; 2. valeurs 2,e,14,20 ; on utilise le fait que 3b21=32c6+85b et 3f74=26f6+187e Code:
; 4. phase d'écriture, pour nos 6 valeurs ; attn : il faut lire les valeurs (a3) avant de les réécrire ! moveq #14,d6 ; ça va durer tout le long ; si je déplace les asr ici, on ne peut plus pipeliner le dernier write Code:
zmac macro muls.w \1,\2 add.l \2,\3 endm Code:
mc -z2263,z133f... Code:
mc #-$2263,#$133f... Anyway, I checked your mp3s, and one of them does sound bloody awful in low quality, so I just did the tests in high quality. There seemed to be little difference between your original version, and my lossy version, but a second ear is always useful. As for the music styles, I just have to say that I've heard far worse, they're not half bad Nice pun I will, but first the mpeg library. Quote:
Got them, thanks. As said, the music isn't bad, but it's not my style, I mostly listen to different varieties of house music, so don't worry, I'll delete them when I don't need them anymore. You can say that again. No matter how good the hours are, a person needs a break sometimes Don't know yet, haven't looked into it (yet). Quote:
You're right, of course. They're probably not that common, though, and that will drive the price up, because I'm not the only one who wants one. Anyway, it's just a luxury, a network card is more useful right now. Yes, it is, but only because I want a new peecee to play games on Quote:
So do I, but it will probably happen. Quote:
Quote:
Quote:
Silly handling of the frequency divider on Delitrackers part. Could've been done much better, because allowing the user to enter a frequency implies that this will be the output frequency. Quote:
Quote:
Could be so, but if it needs that awful filter, then it ain' good, man I just hate that filter Quote:
Quote:
It probably is, but the gui just blows chunks. Grr |
||||||||||
16 June 2009, 12:37 | #137 | ||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
As for the macro, you're right. But it was more complex than that, as some muls were done with shifts (I checked if the value was a known one, and then used the relevant code). My opinion about quality is... errh... not that bad after all. The difference is slight, but hearable : it seems to perturbate frequency responses, as if some sort of weird multi-band filter was added. I made a few tests and found a stream where the difference can be heard quite clearly. Apparently "pure" (few different freqs) sounds suffer the more. Speedwise, it did 2:57 vs 3:04 on this 2:56 stereo stream (256kbps, low qual). I'll let you judge if it is worth or not. Quote:
Quote:
Quote:
Quote:
You can also try to find a use for 020's callm/rtm. Good luck Quote:
I've dropped the idea, so if you think you have time to waste with that, feel free to make your own tests ;-) Quote:
Quote:
Quote:
Maybe we'll all have long white beards when the day finally comes Quote:
Quote:
Quote:
If you think things should have been done otherwise, nothing prevents you from rewriting dt's mpeg audio player anyway. Could even gain more speed because it is quite messy. Quote:
Quote:
Quote:
DT supports custom converters and decrunchers. Hip doesn't. DT has NotePlayer interface (just fill in a struct to play things, will use common mixing code when needed). Hip hasn't. Should I list more ? Quote:
As for Amigakit, my actual keyboard comes from them. What's wrong with the gui ? I find it clear enough... |
||||||||||||||||
19 June 2009, 10:15 | #138 | |||||||||||||||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Thank's, I'll see if I can come up with something, there has to be some good use for them, otherwise, why were they put into the instruction set? Quote:
Quote:
Quote:
As far as I know, nothing. The only option is build quality. There is a huge hole to be filled up in terms of software quality, though. Quote:
That's how I learned it, although I think 68000 is the best for beginners, because it's easy and powerful. Quote:
Simple. As said, allowing the user to enter a frequency implies that that's the frequency used for playback, witch is not the case. Using three radio buttons would be much better: Code:
+-Frequency divider-----+ | | | (x) Full frequency | | ( ) Half frequency | | ( ) Quarter frequency | | | +-----------------------+ Quote:
Quote:
Quote:
Quote:
Quote:
It can be improved, that's all. Then again, many things can be improved in the world of software, can't they |
|||||||||||||||||
22 June 2009, 11:15 | #139 | |||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,335
|
Quote:
OR... Extract a code part and trace it with 1 in read data and all other regs being 0, so you'll see final value in registers. And be warned that the value is often negative ! Quote:
Quote:
Quote:
Note that it needs to be played in stereo, as the part in which the difference is heard isn't there at all in mono In the archive you'll also find another test file. Here the difference is less flagrant, but still there. The one you wanted is tst1, the other is tst2. Quote:
Quote:
In fact it's not even sure it would always cost more time than actual mono, because of joint stereo. I have tried to mix them up but it failed (sometimes worked like charm, sometimes gave horrors). Anyway, what I'm sure is that if I could successfully make that mixing to work, high quality would be already there. Quote:
classic : sometimes yes, sometimes no (but I can't imagine you listening classic music ?!) old jazz : nope synthesizer music : usually I can say I like sweet feminine voices (wonder why ), and computer game music (mostly, but not only, Amiga soundtrackers). Quote:
x86 is full of things that "may be used" but never will. If there is some good use for the insns I told you about... then I really need to know it ! (apart in cpu type checking and copy protection routines, I don't see...) Quote:
So just before the end of your loop the cpu starts to fetch code for after it. And it reduces your maximum loop size by one cache line (16 bytes). Easy ? This is my interpretation. Of course, if you have time to waste, do it You'd better. Not all pc cards will work but Amigakit knows better. Quote:
Of course there are good games on them, but it's only because when a good game is released, it has absolutely no choice but to run on those stupid pcs ! You can't imagine how a game such as Starcraft was a pain in the ass for its authors to make. Quote:
Quote:
As long as money rules the world, nothing will come... Quote:
Quote:
If I say 25, then 22 is under -> full freq. But 44 is higher -> half freq. And I do not want to change settings all the time, so no, this is no good solution. But you don't have mpeg2 streams don't you ? Go to Aminet to find an example : http://aminet.net/package/mods/mpg/fangorn No original source, sorry. I re-sourced it (see in my actual tstmp3 archive). But you can write one from scratch if re-sourced code isn't good for you. Quote:
Quote:
I find this surprising Quote:
So it can be improved ? And... HOW ??? |
|||||||||||||||||
22 June 2009, 12:15 | #140 | |||||||||
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
Quote:
Quote:
Same thing that happened with SEKA back in the day, as they say, history repeats itself. ;D In recent years there weren't many updates anymore though. Quote:
The debugger doesn't need an external device. I don't know why it doesn't work on your machine though. Quote:
Quote:
Quote:
Code:
IFNE PHXASS PRINTT MACRO ENDM MACHINE 68020 FPU ENDC Quote:
Quote:
Quote:
|
|||||||||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Old KGLoad Discussion | killergorilla | project.KGLoad | 357 | 20 January 2011 16:08 |
Castlevania Discussion | john4p | Retrogaming General Discussion | 30 | 30 January 2009 02:10 |
ROM Discussion... | derSammler | project.EAB | 41 | 29 January 2008 23:36 |
General Discussion | Zetr0 | project.Amiga Game Factory | 12 | 15 December 2005 13:53 |
|
|