Jump to content


  • Posts

  • Joined

  • Last visited

Posts posted by Yazwho

  1. On 11/28/2021 at 1:34 PM, svenvandevelde said:

    I don't get a lot of reactions, let me ask it differently, do you know a good case that kind of is "retro" and that can fit the CX16p card?

    The case should not be too large, preferably white.

    Until there is a physical machine, no knows.

    There was an official case, but right now even that is a bit up in the air as the first versions could well be wholly FPGA based.

    If you're looking to buy a case now, i'd save your money until there is a release date and there is some certainty about what it actually is.

  2. If you didn't know, its the weekend of the Halloween Steam sale so lock up your wallets if you're opening a bottle of wine..!

    Is there anything there that people recommend? Especially X16 Dev related software? (Steam do more than games!)

    Personally I'm going to pick up Pro Motion NG which is half price. It's the spiritual modern day successor to DPaint. I've been using it and can recommend for the types of projects people here may be doing. For example it has a tile manager and supports 4 bit colours. 



    • Like 1
  3. The floppy constrains the coders to a set size and read rate, which imho is a good thing as it adds to the challenge.

    The X16's virtually unlimited and near instant read size of SD Cards does let you do things that aren't quite of the time.


  4. On 9/28/2021 at 10:29 AM, paulscottrobson said:

    Michael and I have independently written line drawers which obviously access VRAM directly, and they're about the same speed, and I don't see how you speed it up much without the Window which gives you access to the full 6502 indirection thing almost.

    Indeed, this is not a machine thats good at rendering things on the fly, but is that a bad thing? Were there any 8 bit era machines that were?

    On 9/28/2021 at 10:29 AM, paulscottrobson said:

    Interesting. What are you doing ?

    When you think of VRAM as a stream of data it becomes very interesting, especially when your data structures are variable in size and/or larger than 256 bytes. Throw in the ability to set the step amount, and you've got the hidden power of the system.

    • Like 1
  5. On 9/27/2021 at 3:13 PM, paulscottrobson said:

    98% of the time it is just loading stuff in to VRAM

    Funny, I'd say 98% of the time I'm not using it to 'load stuff into VRAM'.

    Maybe you do, which is fine, but don't assume that is what everyone else is doing.

    On 9/27/2021 at 3:13 PM, paulscottrobson said:

    Programmers should be seperating their view anyway, so you can do what Dave has done with his Petscii Robots game, port it fairly easily

    Personally I find the idea of writing code that runs on all 6502 based machines boring. If I were writing a database or a spreadsheet then I guess so, but that's not where some people's interest is.

    • Like 1
  6. I have browns, they're great and you can use them around people.

    I bought one of these https://www.aliexpress.com/item/33006060286.html?spm=a2g0s.9042311.0.0.6de84c4deCTALI and love it, apart from whatever is on the board which doesn't read some of the control buttons quickly enough! (I seem to always end up with an 's' when trying to hit ctrl-s) Oh, and it's not exactly well made, the layers don't exactly line up.

    Would be nice to get a better version. I looked at the Ultimate Hackers Keyboard above, but I _need_ function and navigation keys, as well as ANSI support. There doesn't seem to be much available in the not-at-all-niche 'UK 75% split' category.

  7. This has been updated to support commands\effects.

    I've added Slide Up\Down to the note, and Pitch Shift Up, as well as Silence which forces the volume to 0.

    Now the framework is done, its relatively easy to add something new. Working on the demo track, and will update the upload once done.


    • Like 1
  8. 2 minutes ago, Snickers11001001 said:

    hen if an interrupt for music fires

    For my player, it's not triggered from its own interrupt. You call the audio routine once per frame, that's it. It's up to the callee to save anything that is needed, but as you control it you'd try to time it so you didn't need to.


    5 minutes ago, Snickers11001001 said:

    I hope my ramblings weren't taken as any sort of criticism.  

    Not at all 🙂

    • Like 1
  9. 6 minutes ago, AndyMt said:

    Wait! Im confused - because I don't do this in my games and music works nevertheless. I write as fast as possible to the YM until there is a KEY_ON command - or I have to yield because of a delay. This then is synced with the vsync interrupt. So yes, for sure there is more than 144 CPU cycles between each KEY_ON command, but not between each write. 

    I don't know the YM well enough. Just going on what I've read. eg https://ayce.dev/emptyx16.html#9f41h---ym2151-register-data-w--status-r

    No idea if the emulator handles it correctly.

    • Thanks 1
  10. I've uploaded the source for the PSG audio demo to github.

    The code is awful, and I highly suggest you don't bother.

    If you really want to try, you will need Visual Studio 2019, cc65, the X16 emulator, a MIDI input device, and I'd also suggest Visual Studio Code. Oh, and a whole lot of patience! With all of that, you'll be able to create the .prg that I uploaded previously.


    In terms of updates, my aim is not to write a tracker, but to have one to use for what I want to do. So I'm only expecting to ensure its functional for my own goals. I don't want to make and maintain a 'ProTracker'!

    Good luck! 🙂

    • Like 2

    14 hours ago, Snickers11001001 said:

    How well do you think this can mesh with using vera moving sprites, moving/scrollling tiles, and updating lots of vid data?   I think that's been my concern about using VERA for music and not just sound effects:  Contention and resource traffic jams especially for doing a game.   The nice thing about the YM chip it has seemed to me in theory was the possibility of having some nice interrupt driven music that did not need to use a  bunch of cycles each interrupt storing and restoring all the VERA registers and state information.    

    I'm not sure what you mean. Where would any contention come from? 

    The purple line at the top is the CPU time that the playback is using. I've not measured, but looks to be around 1% CPU usage for 7 voices. So once done should come under 2% w/o PCM. In this example the audio uses ~3k VRAM and ~2k RAM. Compared to typical audio usage of the 80s, this is minimal; as a comparison in RMCs interview with Rob Hubbard, he said audio was typically given 10% of both CPU and memory. (It's a good book, you can grab a copy here: https://rmcretro.store/ )

    The YM audio is a bit of a pain to use, given the clock speed difference you have to wait 144 CPU cycles between each write. You can of course do other things waiting for the ready flag, but that makes it much harder to integrate into an application. Napkin maths of 144 cycles and 7 voices would be around 1% of CPU usage.

  12. PSG Audio Test or Why We Only Need Vera.

    View File

    As has been pointed out recently there is tooling for the X16, especially in terms of trackers.

    There have been a few great examples of music on the forums, either playing a Amiga\C64 mod, or via a X16 tracker. And these are great.

    That said, I did think maybe the community was missing a trick. If the goal is to make music for the X16 do we need to be able to run the tracker on it? Doesn't that make writing everything harder? If you have a modern machine, it would be easier and quicker to create a tracker on that. UIs are easy. MIDI keyboard integration is a mere nuget package away. Can hand edit json files if you want. IO is trivial. That's not to say writing a tracker for the X16 is wrong, it's just a different goal.

    So that's what I did. Apart from the emulation of the X16's PSG which took a while to get going, it wasn't so bad to do -- WPF aside. I've ended up with an application which lets me produce X16 music. It can export an .asm file which can be imported into ca65, making integration into a project really easy with just two calls. It only uses single digit worth of cpu lines and 32 bytes in the ZP, so is pretty lean. That said, it does not yet support PCM audio not commands.

    The music from file attached is sourced from part of a demo file that comes with FamiTracker. What did occur to me while doing this, is that VRC6 ( https://en.wikipedia.org/wiki/Memory_management_controller#VRC6 ) music is pretty damn good. In fact I'm sure a player for .ftm files could be written. (Given how long it took to get just the first 3rd of a demo file working, I might write a pattern importer myself..!)

    For me, the audio quality demonstrates that Vera's PSG and some form of PCM is all that's needed for audio on the X8/16. (Sharpen your pitchforks!) It just needs to be a bit louder!

    What next? Like all projects that have gone from 'Proof of Concept' to 'Production' in one step, has resulted in some of the code being a bit crap. Especially on the WPF side! If anyone is interested, I'll try to shore the code up and will post with an explanation of how it works soon.

    For now the display shows the four counters. Counters for Frame, Line, Pattern, and the Next Line. Source is the VRAM address (I use VERA to stream out the data for the patterns, as it makes life much easier. I can't understate how useful this feature is.)

    The bottom table is:

    • VERA registers
    • Address of the instrument data
    • Instrument Position
    • Command
    • Note Number
    • Instrument Repeat
    • Command 2bytes Parameters


    • Like 1
  13. 6 hours ago, Wavicle said:

    Other than mollifying the "clarity of purpose" crowd, what does this get us? Are we going to have ASICs fabbed whose design hasn't been proven on FPGA first? If not, why not just use the FPGA and skip the fabrication process? One of the major benefits of an ASIC over FPGA is size and/or density. At the node sizes you are proposing, we would get neither.

    Probably for the same reason some in the community would rather discrete components over a single FPGA. Personal preference.

    If there was a 'CPUWay' I'm sure the designers would be looking at it.

    You can of course use the same logic about a computer based on 40 year old tech, vs what $100 can buy you today.

  • Create New...

Important Information

Please review our Terms of Use