Jump to content

andym00

Members
  • Content Count

    1,048
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by andym00


  1. On the bright side there has been lot of lore being swapped and even experimentation though other threads will serve that better. This thread sucks the oxygen out of other topics when someone can't help but revive it. I suggest locking it and maybe even making it permanently pinned as pretty much everything Atari and Commodore fanbois can fling at each other has been aired in it and the other vs thread we had about a year ago. We could just refer everybody to them when this sad sad GM vs Ford type stuff comes up again as it must from time to time.

     

    You really think that ? I think given that even after 286 pages it should be allowed to run its course.. If you think that course has run then fine, but I guess it's what Albert thinks, or CpuWiz or the other mods of this gaff.. I for one think it's an interesting read on the occasional few times it re-resurfaces from the murky depths..

    I'm curious how you think it sucks the oxygen from other threads though.. I've only really ever followed the homebrew, hardware & the 2600/7800 programming forums on here, mainly because their the ones the held any real content.. And this thread really only attracts the postings of a few..

    Personally I find this thread a nice easy place to bat^hnter this out, though there's less bat^hntering now, albeit at more of a lounge pace now, but none the less, it's an interesting thread, when not being obliterated by weeble-tards.. It's like whos computer is best, but over White Russians and lounge music whilst seated in nice sofas in the sun ;)

    It'd be a shame to lock it, I think..

    • Like 1

  2. @andym00

     

    Totally understand where you're coming from as far as the music itself goes. I'm a massive SID fan, still listen to stuff every day but as far as it making the games, hmm, not really, as far as people buying games just for the music, yes :), but then back in the day my demos were all about ripping the music from the latest games, doing a quick demo and getting it released on compunet all on the day the game was available in the shops, so to me the game itself wasn't of much interest. We probably annoyed quite a few companies that were relying on the latest Hubbard tune to sell their pile of crap.

     

     

    Pete

     

    Long, rambling, completely unrelated reply finally deleted, and simply replaced by:

     

    Yes :)


  3. Oops, sorry for the long post that veered slightly away from what I wanted to say, but I left work early and am sitting in the glorious Vienna sun having some beers, and got carried away.. Forgive me ;)

    I'm at work :( so have one for me. :)

     

    Consider it done, but just the one ? ;)


  4. It was just a parody. It was never used before, but that's up to the users...OK, for an example, here you go: http://www.phys.uu.nl/~bpos/SAMPLE8/1.gif

    It's just a test during the early testing phase.

     

    Looks very promising.. The interpolated (if I read the titles right) output at the bottom ? It's from what ? A simulation of the decay or the actual hardware ?

    Thanks. I replaced the 1.gif file with a picture + comments (in english).

    (see http://www.phys.uu.nl/~bpos/SAMPLE8/1.gif )

    The upper part is just 4bit DAC: A 16step pattern of a 'backwards' sawtooth.

    The lower part is the same + (backwards) sawtooth wave on top (one nice hardware feature of PoKey).

    The sawtooth gets resynced by CPU every time a new 4bit DAC value is processed.

    Thus, no simulations.

     

    It was just a first test, and I didn't do anything with it to improve.

    To improve, I'd need to resync the sawtooth with some delay, to remove the tiny peaks.

    The nice thing of Pokey is that it supports both 'forwards' AND 'backwards' sawtooth.

    Thus (indeed like some 'waveform surfing') we can use the forward sawtooth to counter-effect the capacitor-decay, or just to interpolate / smoothen the audio signal. The volume and the pitch of the sawtooth both control how this smoothening will work out.

     

    I like that :) You're a brave man to try it like this.. Do you have enough timer accuracy to do this using the interrrupts alone ?

    I'd love too see an FFT of that waveform, just curious to see how those small glitches manifest themselves in the spectrum.. You think you'll be able to remove them completely ?

    And does the decay of the capacitor introduce any limits to the maximum sample rate you can produce with this technique ? And I guess you just reverse the direction of the sawtooths to enable you to produce positive upswings, but how do you handle the capacitor decay when the signal is on a positive upswing ? Surely it'll introduce nasty harmonics ? Akin to that of a sawtooth at the step frequency ?

     

    I've been trying a very kind of similar thing on the c64, but with the intention of 'surfing' the envelopes so that it would enable individual level control of voices, since we can't change the level of a voice.. Yes, I know, we can lower sustain levels whilst gated, but I wanted to try something a bit more flexible ;)

    Anyway, it's proving a nightmare trying to calculate exactly where the envelope generator is at a given cycle, easy on paper..


  5. I personally think the A8 has a lot to offer hence me starting work on code for it but that doesn't mean I don't still think the C64 is a superior games machine not only based on hardware (and really I'm just talking the joys of hardware sprites, music does not make a game) but on it's back catalog of top titles.

     

    Totally agree with you on that, except maybe the bit about music.. I think in the 64s case that perhaps music did in fact make some games.. For me back then every new Ocean release was accompanied by a craving to hear what Galway had wrung out of a SID chip this time, though equally it applies to Hubbard and company.. In many cases I think the music is better than the games themselves.. <cough>Thalamus</cough>

     

    I do think that the music quality at the time though did propel many games into another league.. One for me is Thing on a Spring.. Without the music it would have been dross, but I kept playing that bugger until I finished the thing, loving every beat of that stupid music ;) Though feeling feckin pissed off when I finished it...

     

    As far back catalogues, I'd hazard a guess that the 64 has more utterly utterly utterly utterly shite titles in its catalogue then the entire total of the A8 ;) And before the Atari stake burners arrive for me that's meant as a condemnation of 64 titles, not A8 titles ;)

     

    Personally, I hold the demo-scene at the time responsible where suddenly every man and his multiplexed and raster coloured dog thought that since they could knock out a demo, they could knock out games, and flog them to the budget houses for sod all cash.. I know a lot of people came into the games industry that way (I did for sure) but I think the quality of stuff suffered a lot at that point, not only through immaturity, but through the sheer number of people available in the c64 development world..

     

    I think that later the C64 was unfortunate to be there at a time when Arcade conversions were all the rage, and things that wouldn't otherwise have been attempted were done just for the money and to flog boxes of shit that shouldn't be sold.. AfterBurner on 64 is a good example, and before you judge me, I worked on that abortion.. The really good titles that use a 64 for what it is are really few and far between in the grand scheme of things..

     

    I await my ritual burning at the hands of the 64 stake people now :)

     

    Oops, sorry for the long post that veered slightly away from what I wanted to say, but I left work early and am sitting in the glorious Vienna sun having some beers, and got carried away.. Forgive me ;)


  6. It's a software algorithm for 8-bits; hardware-wise POKEY has 4 DACs at 4-bits/sample and SID has 1 4-bit DAC.

     

    Yeah, and what application is there on C64 that uses hundreds of NMIs and hundreds of IRQs every frame? There's some software workarounds anyways-- one way is just use a 15Khz IRQ for the DLIs and then deal with both timer IRQs at time of interrupt.

     

    Perhaps, the C64 haven't run into the problem because they would overload their slower CPU before they can even have the possibility of having hundreds of IRQs and NMIs occurring every frame.

     

    I'm not getting into this syntactical rubbish with you again, just calm down a bit, and don't take everything so personally or as afront to your beloved machine..


  7. vs. Pokey: Full analog control of pokey channel voltage by using the sawtooth feature + analog decay features + programming the voices at the right timing = effectively over 12 bit precision + linearly rising/lowering levels instead of 'chunks'. 24khz quality easily reached.

     

    However, it was not used that many times before. But that's (using your arguments) up to the user ;)

     

    Wow, the secret weapons of the Atarians are really being rolled out now ;)

    Sounds cool, though a bit of a waveform surfing timing nightmare at first thought..

    You say not used many times before ? Where can I find some examples of this in action, although I'm guessing emulators are out of the question with this technique at the moment ?


  8. Gotta laugh at the outrageous claims for some of these samples... I checked the ones posted way back that claimed to be 8-bit... sounded like they were barely 5 bit.

     

    I remember your comment, and I agree to some degree.. You were listening to the mod playback in 8 bits and I agree totally that they sound rough as hell.. Playing back one 8 bit sample sounds exactly as it should do at the given sample rate, believe me I've checked this and bar a (very) small non-linearity on the 6581 DAC, the 8580 is perfectly linear.. It achieves exactly what it says on the tin.. What people choose to do with those 8bits of audio and try to munge into 8bits is up to them, but what I've heard doesn't sell it's ability in any way at all.. So far.. I think people got too carried away with wanting to play mods which quite frankly I hate both the idea and the format ;)


  9. Is Space Harrier not enough for you? It has sprites nearly as big as the entire screen, and you are still moaning about these little Barbarian sprities?

     

    Or, what about Project 'M'? (see programming forum here)

    Huge 256 colour sprites on top of a 256 colour scene.

    Just throw away your shitty C64, and start a new life.

     

    So, OK, draw your conclusions. If you think Barbarian can't be done better, because A8 is much worse than C64, then I'd like to say congratulations with your conclusions, and good luck. Bye bye, now back to your little C64 world.

     

    (oops, Oswald modus off :D )

     

     

    Yeah, but at least the 64s NMIs work reliably :P

     

    ;)


  10. Reading some of the graphics programming tomes, I'm reminded the system will also require text skewing and rotation routines (for any potential drawing or page makeup program). I don't want to get too bogged down in all that at the moment, but it would be nice if the font renderer was flexible enough to handle that kind of thing.

     

    Maybe consider rendering text as outlines, I mean literally draw the outlines simply modifying co-ordinates taking into account size, skew and rotation and then render the outline into a buffer big enough for it and fill using an eor-filler.. You'll then only have to blit it onto the screen.. You can also use that as a font cache, if you've got the required character with the parameters you need.. I can't think of a way that's more 'flexible'.. You get scaling, rotation, 'bold', italics from one common character definition.. Just it might not be the fastest in the world.. Even if your character is in the font-cache, you'd still potentially have to shift it into place, but that's not a biggy really.. Two tables, one for the shifted result and one for the overflow into the next byte..

     

    And the filler can be done damn fast, something like 8 cycles per 8 pixels (6 cycles if you get messier), and you'd only have to unroll it for one column of the maximum height of your font-cache or rendered character..

     

    Hell, you could even interleave it directly into the shifting and masking operation of the character onto the screen if you didn't want to cache it, in fact you could interleave it with the write to the screen as well as caching it for top speed.. Combined with a hash-map and binary search you could find cached characters in no time at all..

     

    Even if it didn't render characters as outlines directly, you could probably compress your (outlined) font quite nicely when you need to render a character.. But I reckon it'd make for quite an awesome font system.. TrueType fonts on an A8 maybe ;)

     

    Rotation of the font would be a doddle then, especially if you store the fonts coordinates in polar-coordinates, and that'd also make the scaling nice and easy, just changing r before converting back to Cartesian.

     

    Anyway maybe it's too much, I'll shut up now, just a bit of brain dump that this subject inspired.. I was heading for the telly now, but since Visual Studio is already open and 6502 assembly already fills the screen, I might have a little play with this.. I'm curious about how fast this might be now :)


  11. The Last Word sounds like the final chapter in the Last Ninja story, on his quest to find the final missing word from the holy scrolls of Raster where upon all the register pokery secrets of the universe will be revealed to him :)

     

    TLW does sound better, it rolls off the tongue easier I think, mind you that might be just my tongue this morning ;)


  12. Forget the SID - at times it's starting to sound like the FM chip in the megadrive/genesis. nice work :)

     

    Awwww, so all my work over the last 2 weeks adding true audio rate FM to SID voices was in vain ? Do you 100% stand by that comment ? ;)

     

    If you want to really hear what 2 operator FM stuff can do, go find Oxygenstar on 8bit Collective.. His FM stuff is astonishing, and I mean that from the bottom of my heart..

     

    But what blows my mind totally is that in tunes that embraces the harshness of the YM stuff, and use it like and instrument, instead of trying to be something that it isn't and will never be.. SID's guilty of that as well ;)

     

    Some tunes I've heard recently, mixing FM voices, raw square waves, and rough samples are truly amazing.. It's just a shame these have to be produced on tools that are never destined to run on the native hardware, I mean as a stand alone piece of executable music.. People like:

    Check out stuff like this..

    OxygenStar - Look How I Go OxygenStar - Left Out

    And utilising lovely square wave beauty tat it can be at times..

    trash80 - icarus trash80 - missing_you

    Plus, Mr.Spastic.. I hope there's a very good reason we're not hearing stuff like this from the A8 ;) In C64 land there seems to be some resentment towards lovely square waves ;)

    And yes, I like Oxygenstar because of his penchant for simple FM synths ;) But how he uses them is mind-boggling..

    In the early 90s I spent far too much time writing FM drivers, and the stuff they get out now is fecking amazing to say the least..

     

    But overall I just love that way simple sounds are used to make amazing tunes, rather than trying to bend those basic sounds into something they're not...

     

    And yes (according to Atariksi) I'm c64 nut, but SID I find too familiar in that it reminds me too much of the original (subtractive) synths back in the early 80s that I learnt synth programming on but with not enough ooomph to it.. I don't want that :)

     

    Anyway, I'm in the bar and shouldn't be in control of a keyboard connected to the internet right now, so forgive me.. Just must say that FM is horribly underrated, and that (square waves and lots of them!) are incredibly powerful.. Just go look up Walsh Synthesis if you don't believe me ;)


  13. The "edge-triggering" must mean that the 6502 compares the previous cycle's latched copy of /NMI with the current state of the /NMI pin and looks for them to be different if so, then the /NMI signal can be let through just like /IRQ.

     

    Found this on the 6502 forums where coincidently that exact problem was being discussed..

    Last post in the thread..

    http://forum.6502.org/viewtopic.php?t=225

     

    I couldn't find a straight, definitive answer from my books on the cycle-by-cycle response to the NMI input, so I tried it on a Rockwell 65c02.

     

    I found that whether the NMI line is doing a short negative pulse or a positive one, as long as the processor can see a high state at one phase-2 falling edge and a low state at the very next phase-2 falling edge, regardless of where those edges are in the progress of an instruction, the NMI is registered and the sequence will begin when the instruction is finished. IOW, it's not just the last ph2 falling edge of an instruction that looks at the NMI input (as I previously thought), but rather every ph2 falling edge.

     

    The NMI-high time in Lee's case would not have to be even a whole cycle long (let alone a whole instruction long) if it went up shortly before a ph2 falling edge and was pulled back down right after the same edge. So if it were timed just perfectly on a processor whose NMI set-up and hold times were 10ns, it is conceivable that an NMI pulse hardly longer than 20ns would indeed be recognized. If the exact timing is not known however, the pulse needs to be over one cycle in length to be guaranteed any recognition.

     

    Of course if you're using a passive pull-up resistor on the NMI\ line, the greater concern will be whether the line had time to float (charge) up to a logic-high state before being pulled back down.

     

    It would be too tedious to test this single-clock NMI pulse matter on all clocks of all instructions and all manufacturers, but I expect I'd get the same result.


  14. I've got a bit lost in this thread with all the Pokey talk and timers, but I thought I'd mention this that I was just reading..

    http://members.lycos.co.uk/leeedavison/6502/vic20/isa/index.html

     

    It's not of direct relevance really, but it is interesting in that he states that the 6502 in the Vic he was using was missing NMIs, and goes on to explain why..

    Though the 6502 NMI interrupt is described as edge triggered it is actually sampled on each Ø2 trailing edge and needs to be seen to be idle on one cycle and active on the next to trigger. The idle time of the interrupt from the card was too short for this to occur reliably so eventually a change would be missed.

     

    Just seemed relevant and I didn't realise this was the case, and hadn't seen this mentioned in here.. I'll go away now :)

    It is a good read though, hooking up ISA cards to Vic-20s ;)


  15. You can do it on c64 by changing the X scoll on each line and when it goes over 8 you switch to a differnt screen with the characters offset by +/- 1 (so you get the 8 pixels as a hard scroll).

     

    But wouldn't you need to force a badline to make VIC read the new character line ? And with (probably) 8 sprites eating away 19-21 cycles per lines and you forcing badlines everywhere plus changing screens (and potentially character sets) and setting x-positions I think you're going to run out of cycles pretty sharp like..

    I know you can do smaller stuff easily enough by changing character sets, and maybe the way you say would work, but in a game ? Forcing the badlines is going to wreak havoc with your screen as well since it'll scroll the screen up as well when you force the new badline ? No ? I've generally stayed well clear of all this $D011 insanity such as line-crunch etc, so maybe I'm missing something..

     

    Brain is now being consumed by this.. Must work!! Must not think about SFII floors :)


  16. any...no problem for A8 to do the trick...

     

    f.e. choose 80 bytes scanline and then use projection formulars to calculate the offets for each line.... so the Street fighter floor is piece of cake.

     

     

    http://atariki.krap.pl/index.php/Jiri_Bernasek

     

    Jiri did one demo for Abbuc where the ABBUC MAGAZIN text was done in that way...

     

    I thought as much :) That's the one particular feature of the A8 I'm really envious of, the ability to change the screen address on a scanline basis.. I would have killed for that on the 64..

    Damn it, I'm supposed to be working but instead now have a head full of Street Fighter 2 and 6502 code thoughts ;)


  17. Regards Street Fighter.. On the A8, doing the parallax floor bit, ie changing the scroll on every line to somewhere over a 2 screen wide area, I assume that's very easily possible ? Just changing the scroll registers each line I mean ?

     

    I do like those kind of floors and it's always bugged me that on the 64 that it's a bloody nightmare to do that kind of thing without burning through all the sprites, so much so that I've never seen anything beyond a space harrier like floor.. I know there's lot of parallax demos and things, but I mean properly in the style of SFII with a true background image, and changing the scrolls every raster-line..

     

    On the A8 is it really just as simple as changing x-scroll on each line and having a wider screen ? Or are there technical reasons why it's not viable? Any demos that show this kind of thing off ?

    And also, is there any reason why when jumping and the screen scrolls it wouldn't be possible to introduce a height perspective effect in this, by changing screen addresses on each raster line to get the shrinking, stretching of the floor ?

     

    Sorry if that's a dumb question, but I've only a fleeting idea of the A8s hardware, and from what I've read and heard, I'm guessing it's pretty easily doable ?

     

    Just curious, as after looking at the street fighter on the Amstrad for the first time in ages now my brain is full of thoughts of SFII with big sprites, and that lovely floor ;)


  18. Prehistoric II is CPC+, hardware scrolling, hardware sprites, dma sound, 4096 colours.

     

    SFII I'm pretty sure a CPC loving friend of mine told me it was a fake which is a shame.

     

    Pete

    Bugger.. My warm soft spot for it has just dwindled into a damp ember now..

    Okay, so maybe it is a bit naff then ;)


  19. so... at least we can all agree that the Amstrad CPC was a bit naff then?

     

     

    Whilst I'm not mad about this machine (the colour saturation was right off the scale...great if you wanted to do pictures of nuclear reactor fuel!) I think it was also not coded for properly, most of their games were straight ports from the Timex/Sinclair source code as they shared the Z80.

     

    One example is it has a near flawless conversion of Donkey Kong down to the pixel level, but still without decent hardware scrolling/sprites etc it was always tough to do good arcade games on beyond this early 80s era of things like Pacman and Donkey Kong etc in my opinion.

    When people get to grips with the video controller some pretty cool stuff is possible on it..

    Prehistoric II is a prime example of what it really can do when in the right hands :)

     

    I've still no idea if this is real or not, but if it is then it dumps on most of the other home conversion from a great height..

     

    It's a vastly under-estimated machine I think.. Of course there's a huge catalogue of duffers for it, but Prehistoric II and Street Fighter II both made me realise that it's a quite potent little machine..

     

    It shares the 6845 VDC (along with the BBC and all PC video cards through from MDA to VGA/MCGA) and can be prodded into doing some very cool tricks, included in which is hardware scrolling and all manner of other 'odd' things ;)

     

    If that SF-II is real then my soft spot for this weird little machine just got bigger ;)


  20. That's the conclusion so far... I've encountered 2 cycles that can mess them up, there could be more due to all the different cirumstances due to DMA (PMG, scrolling etc).

     

    You'd reckon the C64 guys might have encountered it if it's a 6502 thing... I'd say it's reasonably common to play Digi sound with their NMIs while also having Raster IRQs.

    With the 64 the only condition I'm aware of that can cause dropped interrupts is if you read the interrupt control register (I think 2 cycles) before an IRQ is triggered which can cause it not to raise a CIA interrupt, be that NMI or IRQ depending upon which CIA you're polling, but this is CIA bug not '6502' bug.. So basically if you ACK the interrupt 2 cycles before it happens, it won't happen from the point of view of triggering an interrupt..

     

    Wish I had something useful to contribute to this thread, but it's been fascinating to watch you guys doing your Sherlock Holmes impressions this weekend :) I'm dying to know what is is that causes this now, and good luck :)


  21. When I have the time i will update the MUCSU converter which will result in Higher image quality using the same processing time as before

     

    Each sprite column will have its own optimised color (48x200 pixels) as well as two different sprite multicolors per 21 raster lines

     

    Furthermore the user can select 8x8 charblocks that the converter will concentrate on discarding the rest allowing the user to ensure that specific area's of the screen have less errors in comparison with other parts (eg background) in comparison with the default brute force that looks at the whole image only

    That's great news! I'm dead curious how it fairs against NUFLI stuff with these additions ;)

     

    I've been working on some stuff to do this kind of conversion with it in mind to process blocks of bitmap and sprites in double width sprite chunks (for a game level), with variable colour split sizes down to 8 lines for the multicolours and sprite colours, but it looks properly shit in comparison to what MUCSU turns out ;)

×
×
  • Create New...