Jump to content


Popular Content

Showing content with the highest reputation on 04/10/21 in all areas

  1. 3 points
    OK. Thank you. I got it working now ...
  2. 3 points
    Another quick update showing off the PHAT sound that one can make with the Concerto engine! Also showing off the play-pattern feature: I didn't update the whole song because I really need to add in a few additional GUI elements. Namely tracking the current instrument so that I can add notes without having to constantly change the instrument number. And there's still some UI bugs where it sometimes doesn't update the instrument number and I have to end up doing that multiple times (that's a weird bug). But geeeeez that phat sound!
  3. 2 points
    Shortish update: Disabled pattern scrolling when playing entire song (no more stalls) and added ugly placeholder for better graphics (like channel trigger indicators) Added play pattern which DOES scroll since we don't have to reload the pattern (key F6 in edit pattern module) Added start song playing at row (key F6 in edit pattern module) This is buggy because doing things like pulling up the order list while playing crashes everything. Very rough around the edges. Took a while to sort of slide back into the codebase since it's been a bit of a hiatus. The above is good enough to be able to start working on better integration with Concerto so that's what I will start working on next.
  4. 2 points
    Check out MatsukeN's channel on YouTube - he built MIDI cartridges to go into a real NES and one for the SNES. He and several others put on live performances playing the real tunes manually on MIDI keyboards. Their performance of Final Fantasy IV was pretty amazing - it sounded exactly like the original, but since it's being played by humans, there're micro-mistakes that you can hear it's really them playing it and not just faking while the system plays the music. Basically, there're 9 people in the SNES team - one player for each voice, and one person responsible for switching the patches on the various voices at the correct times. (each keyboard is monophonic, it would seem)
  5. 2 points
    No, I've just started making it a few days ago. Here's a little preview of what I've got so far: edit: ripped out the keyboard control and replaced it with joystick control. But having a bit of a problem getting the buttons state in a reliable fashion atm.
  6. 2 points
    I'm seriously considering planning this! Right now both my games use slightly different variants of a lib for sprite handling and music - due to "historical reasons" and lessons learned. I want to migrate both to the same code base. Then I think it would be time to release it to the public.
  7. 2 points
    That looks great! But can you call it Flappy Chickenlips. Kthxbai. Perifractic, X16 Visual Designer http://youtube.com/perifractic
  8. 2 points
    They’ll be in touch hen-yway. Perifractic, X16 Visual Designer http://youtube.com/perifractic
  9. 1 point
    I've had this version of Flappy Bird done to this point for well over a year now. Due to life reasons, I had to drop out of the X16 scene for quite a while, but I've got the bug again, and decided to dust off this old code and finish this game for the X16. It was written for R31 so a _LOT_ changed since then, and it's been quite a headache refactoring all of the various bit shifts into the various VERA registers, but it's back to the point where it compiles and runs correctly, so I should be able to start making forward progress again, and if I stick to my guns and stick to writing sloppy non-project-worthy code, I should be able to have a playable version soon. However, if my TYPE-A self wins, I'm going to spend the next 2 weeks refactoring the code into modules and different C files, etc, and have lots of work done with no visible progress in the game. LOL. Anyway, I wanted to go ahead and put this back out into the community that I'm working on this, and I may even do a YT video going through the code, or at least a dev vlog or something.
  10. 1 point
    The engine I"m building has for each "sprite" a collection of sprites that can be animated, and a structure that defines the sprite height, width, bpp, hflip, vflip and zdepth ... Doing so, allows me to keep all the properties of the sprite settings for a collection of sprites, and it allows sprite animation. The little plane as you can see "rotates" when the mouse goes to the left or to the right. The sprites are stored in banked RAM, and I plan to copy them "on demand" to the vera. I've built a vera "heap" manager, that allows malloc, realloc and free in VRAM, so that sprite allocations can be done dynamically as the game progresses, and I don't need to bother with memory mapping the areas where teh sprite data will be placed in the VRAM when copying from banked RAM ... Hence you can see the "memory dump" on the screen. Got this new term ... VRAM and BRAM ... Side note ... I also have the tile engine ready, which scrolls the background (see Space Game shoot'em up progress ... - X16 Software Library Chat - Commander X16™ Community). Once i have my flight engine working, I'll integrate both engines into one set ... The next thing will be the "enemies"... and then the fun part, sprite collisions and explosions ...
  11. 1 point
    With the combination of Greg's cc65 feature branch and the joystick rom fix from https://github.com/commanderx16/x16-rom/pull/201 I've got my libX16 library and Lode Runner port running with r39.
  12. 1 point
    I've now made a pull request to include support in the emulator for Delete, Insert, End, PgUp and PgDn keys. I've also updated X16 Edit to support those keys. This code works only if run in the current master branch of the emulator and Kernal, i.e. what will become R39.
  13. 1 point
    Woo-hoo someone got Perifractic on my thread.
  14. 1 point
    One way to simplify the compilation is to simplify the grammer. For example, suppose that ALL infix operations are evaluated left to right, and without parentheses all right hand side operands are evaluated first. So: 3+5*8-4/3 means: 3+(5*(8-(4/3))). And suppose () are supported. Then you simply parse between operations and operands, push operands on an operand stack, push operations on an operations stack, and when you get to the end of the line you execute the operations stack. ")" goes ahead and executes the current operations stack, and "(" on the operations stack stops executing the operations stack and goes back to executing the bytecode. So in practice, people get used to using () a lot. Now function or procedure calls are just prefix operations, a "proc(" pushes the ( onto the operation stack then the proc, and in proc(x,y,z) the comma is just a separator: (x,y,z) gets executed as ( ... x y z ) on the operand stack and "proc" uses the top two entries on the operand stack. ")" doesn't care whether it is closing an expression or a procedure call, it just executes the current operation stack.
  15. 1 point
    Sadly, someone recently trademarked Chickenlips in the electronic hardware/software field, so I don't think he can do that.
  16. 1 point
    However, I couldn't resist the urge to do what @AndyMt has done. So, I made a feature branch, and updated its cc65 project files for R39. https://github.com/greg-king5/cc65/tree/commander-r39
  17. 1 point
    I recently just found old Pentium II PC at a yard sale, so I may be looking for an ISA sound card real soon. I haven't taken the time to really start working on this thing, though.
  18. 1 point
    Funny coincidence... I was cleaning up some very old hardware for scrap (our city has an official spring cleaning day), and found.... my AWE64 (CT4380, the old "standard" model) card in an old computer case. Maybe $45 on eBay on a good day. Maybe I oughta keep the card, trash the rest.
  19. 1 point
    Sounds like the big brother to Commander X16 ?
  20. 1 point
    Once you start trying to sound like real instruments, I feel like a stylistic line has been crossed, and better success would be had using modern sample-based instrument libraries. I prefer my chiptunes really chippy sounding, and the two I grew up with were the SID and R2a03, so I'll dream of a system with, let's say, 2 of each of those. In fact, I've been trying (well, not very hard, since I'm busy) to rig up a system where I can create music on an actual R2a03 from an old NES. It's tricky since the R2a03 is also the NES's 6502 processor. Unlike most setups where you can just send signals to the sound chip, the R2a03 only ever expects signals from itself; or rather the sound part of it only expects to get signals from the processor part of the same chip. It's too bad because that NES sound is the one I crave.
  21. 1 point
    Some notes on my progress supporting END, PagUp and PagDn. From the emulator source code, it's apparent that those keys are discarded. See file keyboard.c, function ps2_scancode_from_SDL_Scancode. I made the following minimal change to that function, and recompiled the emulator: case SDL_SCANCODE_END: return 0x69 | EXTENDED_FLAG; That emulates PS/2 scan code E069 when the END key is pressed. The good news is that I could successfully detect the END key in X16 Edit. Most probably, this will work on the real hardware out of the box.
  22. 1 point
    I had an AWE32 back in the 90s and it really was an amazing sound card. It was sad once synthesis stopped being a thing and it was all PCM all the time. I think a 68040 system with an AWE32 and VESA SVGA graphics would be a really nice system. You could run Linux or BSD and have a simple desktop environment. It would be great for gaming and simple productivity. It's what the Amiga could've turned into if Commodore wasn't so dead set on self-destruction.
  23. 1 point
    I like the AWE32 as well, but for the little games I write, I just want the PSG to have ADSR envelopes, and I'd be happy.
  24. 1 point
    And since OP wants FPS anyway, all he has to do is use the jiffies directly, since they inc++ once per frame anyway. starttime = RDTIM <render a few dozen frames (nFrames)> fps = RDTIM-starttime / nFrames I'd suggest 64 frames, so you can just do RDTIM-starttime >> 6 to compute FPS
  25. 1 point
    My dream combo would be to have all of the PSG/FM/etc type of chips in one big bank to hook up to MAME and have it use the real HW for all non-digi-sample sounds. I imagine something like a giant stack of Arduino shields with one chip each, and the arduino itself providing the USB service to pipe the results back to the computer as if it were a USB microphone or something. I can't put my finger on it, but something about the sounds in the Capcom CPS1 games like Strider and Ghouls N' Ghosts have certain SFX that sound just plain /wrong/ to me - I've even found a video or two on YT where someone was comparing real HW Ghouls N' Ghosts to MAME - but unfortunately the stuff they featured didn't include the sound I wanted to hear on real HW.
  26. 1 point
    Well, assuming things like drivers, sound font data, and isolation componentry are non-issues, and no fair using anachronistic or custom silicon... For a late eighties version, It would feature the following: Geometry Synthesis Component: Either a QuadPOKEY or x2 Phillips SAA1099 FM Synthesis Component: Yamaha YM2151 OPM, Yamaha YM2164 OPP, or (Especially) YM2414 OPZ and YM3012 DAC Wavetable/PCM Synthesis Component: Seta X1-010. It features twice the max sample rate of PAULA, and double the channel count of the SPC 700, at the expense of 8-bit sample width, and a 4 bit master volume registers, and was used by multiple arcade manufacturers. The Namco C216, SegaPCM, and various chips by Konami were used strictly in-house by their respective makers. Sound CPU: Hudson HU6280: Between its mass move instructions, three data busses (one of them full-duplex), extra general-purpose register (Z, which can be pressed into service as a Master master volume register), six extra wavetable sound channels, and compact surface-mount package.
  27. 1 point
    Thanks. Yeah, I've got a FC 3 laying around somewhere. I remember the first time I saw it, it was looking pretty sweet. But that was years later, in my "commodore days", I had a Power Cartridge though "Description of the Function keys F1,F3,F5" was the whole "GUI". EDIT: Did a quick google on power cartridge, seems like I remembered it wrong, this was the "GUI".
  28. 1 point
    Probably because it only takes around 6 cycles per loop to just CPA $a043 ; BEQ - doing a kernal call would take tons more time. I totally get why you're not supposed to use Kernal stuff directly, but a function like this kind of makes sense, and some time in the future, the kernal will be pretty much stabilized and not change anymore except if someone wants to tinker with their system.
  29. 1 point
    Hi all - relative noob here, so I thought I'd share my experience of getting cc65 installed on Windows. It wasn't all that straightforward, so the following might make life easier for those starting out. cc65 assembler will enable you to follow the excellent 6502 assembly tutorials by Matt Heffernan here: X16 Assembly Language Tutorial, Lesson 1: The Basics - YouTube Installing Linux in Windows Make sure you have enabled your CPU's "virtualisation" mode in the BIOS (often called SVM). In my case, this was found by trawling deep into the Advanced CPU settings in the BIOS, and was disabled by default. Install Windows Subsystem for Linux. This is gone through in detail here: Install Windows Subsystem for Linux (WSL) on Windows 10 | Microsoft Docs, but I'll summarise below. Make sure that your Windows 10 installation is up to date Search for "Powershell" app and right click to "Run as administator" Type: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart Now type: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Now restart your computer Download and install the following update package: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi Open Powershell as administrator again and type: wsl --set-default-version 2 Now you can go to the Microsoft Store and install the Linux distro of your choice - I went with Debian Assuming all of the above went to plan (especially checking SVM is enabled in the BIOS!) then Debian should install and run, and launch the BASH terminal. It will prompt you to enter a new username and password first. Once in Debian, you need to do the following to get everything up-to-date and installed: Type: sudo apt update Now type: sudo apt upgrade (this takes a while - it's updating the Debian system) Type the following to get "git": sudo apt install git And type this to get "gcc": sudo apt install gcc Now type the following to get "make": sudo apt install make [edit: I believe there is an even easier way to do this by installing the "build-essential" package] To download cc65 you need to type the following: git clone https://github.com/cc65/cc65.git (this should work fine assuming all the above steps were done correctly) And now type: cd cc65 and then make to compile cc65 on your system - it will take some time Finally type sudo make avail to set up all the paths for the various components of cc65 Now you should be ready to go, and follow the tutorials for the 6502 assembler. One tip, you can access your Debian file system from Windows, so you can use your favourite text editor to edit your .asm files then assemble them from the Debian terminal. I found my Debian directory here: \\wsl$\Debian\home\gavin (replace "gavin" with your Linux username I hope this helps! If I've missed something, or you have any queries about this, please do drop a comment below! [Edited to add: I did all this then found that there is a Win32 version of cc65!! Oh well, this was a useful exercise in getting Linux up and running within Windows, and may have its uses for other projects ]
  • Create New...

Important Information

Please review our Terms of Use