Jump to content

Search the Community

Showing results for tags 'cc65'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Commander X16 Forums
    • Introductions
    • X16 Discussion Lounge
    • X16 Help & Support Lounge
    • Off-topic Lounge

Categories

  • Official Software
  • Official Docs
  • Community Downloads
    • Games
    • Productivity Apps
    • Graphics Apps
    • Audio Apps
    • Demos
    • Networking Apps
    • Dev Tools
    • Tutorial Apps
    • Misc Apps

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 10 results

  1. Hi, I've recently downloaded the Commander X16 emulator and had a go at trying to program it with CC65. However, I can't work out how to make a sound, and there's no documentation on it (that I could find). Does anyone know how to do this? Thanks, Alex Paterson
  2. Version 1.9.0

    145 downloads

    FlappyX16 is a complete port of the original 2013 iOS Flappy Bird game by .GEARS Studios, using my own assets from scratch. While the main reason I made this game was to get experience in C programming for X16 using a real multi-file Makefile project, I also wanted to produce a completely finished, polished game for the X16 community to enjoy. I've learned a lot about using the various subsystems of the Commander X16. Features: Four selectible difficulty levels of play Fun, addictive gameplay - Always "just one more" point to earn Keyboard and joystick support FM sound effects Bright 4bpp graphics Secret "Dark Souls" difficulty level I have not yet tested the final version using SD card images, and will update the download file if I need to patch the game. Also, my project support R39 but I have not built that against the latest versions of the master repo on Github. I will upload an R39-compatible version once I update my copy of R39 and test the build. I've really enjoyed making this game, and I hope the community enjoys playing it. It's a VERY addictive game. Trust me, I've spent HOURS just playing it when I should be adding features / fixing up my code
  3. Hi, I am working on a larger project and need to understand better how the structuring in files and the placing in memory works. The project will be a pure assembler project and also will not use any BASIC operation. Question 1: I will need to define a lot of variables inside ZP. As far as I understood I can use $02-$7F and $A9-$AF. How do I need to setup the cx16.cfg ZP directive, that it does automatically assign the bytes to the allowed windows? This does work (e.g compiles) to enable more ZP bytes then the normal $20-$7F ... but it obviously would just overwrite $80- $A8, which is unsave for the Kernal and might crash the machine (makes kernel functions unusable). Question 2: Maybe related to the first one: As I do not know how many variables I will have and may want to change them during the development process and they all have different length, I want to use the .res statement to define the length of each variable and using labels to get the symbols for the addresses of each ZP. I did something like that: As my ZP segement starts @$02 ZP will point to $02 as well as RAND and TRPTB will point to $06. My issue with that is, that the compiler will actually create code and place it into memory after loading. Is there any other way of automatically (in opossition to calculate everything manually) define some symbols (e.g. memory addresses) but not get it actually compiled into the source code? I can see the EXTZP segment in the cx16-asm.cfg ... but what does it mean? It has not been defined. Also I do not understand how to load things like LOADADR correctly. It is getting imported... from where? That brings me to my question 3: I like to have a main PRG file (e.g. loader) and some .bin files that keep individual parts of the real program, such as models or math library or main loop etc. From the file structure I do understand how to create multiple source files and exporting symbols I want to use from outside. However how do I instruct the assembler/linker to create a .bin file out of a given object file? Lets assume I want to have the following three files out of the input files: Loader.s => LOADER.PRG math.s => GAME1.BIN models.s => GAME2.BIN mainloop.s => GAME3.BIN Question 4: Also I want to instruct the linker to put the GAME2.BIN @$A000 to be able to use it in a BANK. How can I use multiple BIN files using the same address space, as they are all sitting in BANKS (so all starting with $A000?) Question 5: How do I get all this together, that all the parts can be loaded to the corresponding RAM areas? (I am not talking about the Loader here, but how does the linker get the correct addresses to math.s and how do I get those addresses to get my loader right (e.g. prepare the right bank before loading it). I would be interested in a good documentation, that goes into those details to understand much better the building process. I see you heavily using it for the KERNAL but even there I do not even understand were it starts and how it works. The official documentation does not go into any detail on that - it is a good reference, but not very good to learn.
  4. Flappy X16 View File FlappyX16 is a complete port of the original 2013 iOS Flappy Bird game by .GEARS Studios, using my own assets from scratch. While the main reason I made this game was to get experience in C programming for X16 using a real multi-file Makefile project, I also wanted to produce a completely finished, polished game for the X16 community to enjoy. I've learned a lot about using the various subsystems of the Commander X16. Features: Four selectible difficulty levels of play Fun, addictive gameplay - Always "just one more" point to earn Keyboard and joystick support FM sound effects Bright 4bpp graphics Secret "Dark Souls" difficulty level I have not yet tested the final version using SD card images, and will update the download file if I need to patch the game. Also, my project support R39 but I have not built that against the latest versions of the master repo on Github. I will upload an R39-compatible version once I update my copy of R39 and test the build. I've really enjoyed making this game, and I hope the community enjoys playing it. It's a VERY addictive game. Trust me, I've spent HOURS just playing it when I should be adding features / fixing up my code Submitter ZeroByte Submitted 04/23/21 Category Games  
  5. I think I'm trying to learn on too many fronts at once here, and I'm starting to go blind on the information I'm trying to absorb - lol.... So reading a file into RAM,VRAM,HIRAM is relatively straightforward using kernal calls. However, I'm a stubborn guy and I don't like the idea of having to pad my files with 2 dummy bytes because of the assumed PRG header, especially when the Kernal easily ignores these and loads the file wherever you tell it to. So I'm trying to write my own loadbin() function that will actually read the first two bytes of the file by using OPEN, CHKIN, and CHRIN. My code is as follows: However, the data I get back seems like some random byte repeated however many times I do cbm_k_getin(); The values returned by cbm_k_open() and chkin(0) are 172, and 3. I'm trying to track down what those return values mean, but just in case I'm doing something dumb and one of the wizards here can easily point out my folly, I thought I'd post here while I keep digging on my own... My understanding is that the first zero in setlfs is just the "file handle ID" - I could make it be 7 or 3 or whatever, so long as it isn't already in use elsewhere, and I'm consistent in chkin() and close(). I also think the second zero in setlfs() "extra address" that gets all the nuance of what the kernal will do.... and this is still kind of opaque to me - ... so, is this a fool's errand? Will CHRIN also skip the first two bytes of a PRG file, or does this seem like the way to achieve my goal? (edited to add: I'm using the host FS and not SDcard images)
  6. totodilespy

    Snake

    Version 1.0.1

    33 downloads

    Fairly basic version of snake written in C (& complied with cc65). First project for the cx16 and I'm pretty happy with it. WASD to move. Might add joystick controls as well in the future.
  7. Snake View File Fairly basic version of snake written in C (& complied with cc65). First project for the cx16 and I'm pretty happy with it. WASD to move. Might add joystick controls as well in the future. Submitter totodilespy Submitted 02/09/21 Category Games  
  8. Getting "Hello World" to work using cl65 requires knowledge buried in the docs somewhere. It compiles. I load it and invoke with a "sys $a200". I'm obviously missing something. OH! Do I need to worry about BANK ZERO? => Answered my own question: yes, but that's not the problem, it still doesn't run. ; ; cl65 -o saludo.prg -t cx16 -C cx16-asm.cfg saludo. ; chrout = $ffd2 .org $A200 .export LOADADDR = * Main: ldx #0 loop: lda hello,x jsr chrout inx cpx #<(hellodone-hello) bcc loop exit: rts hello: .byte "--- HOLA MUNDO! ---" hellodone: .byte 0
  9. libX16 View File libX16 is a utility library for those using C with the CC65 toolchain for the Commander X16. Library documentation is available from the github page: https://github.com/CJLove/libX16. Currently it supports loading/saving files to banked RAM and VRAM, playing sound data for the YM2151, and providing a VERA header file with additional constant definitions beyond those provided by CC65. This is a beta v0.1.0 release of libX16 for the Commander X16 rom version r37 and CC65. The attached artifact includes the library header files and library file for linking. Alternatively the library can be referenced as a git submodule in a github repo via the .gitmodules file: [submodule "libX16"] path = libX16 url = https://github.com/CJLove/libX16 Submitter ChrisL Submitted 07/11/20 Category Dev Tools
  10. ChrisL

    libX16

    Version 0.1.0

    28 downloads

    libX16 is a utility library for those using C with the CC65 toolchain for the Commander X16. Library documentation is available from the github page: https://github.com/CJLove/libX16 This is a beta v0.1.0 release of libX16 for the Commander X16 rom version r37 and CC65. The attached artifact includes the library header files and library file for linking. Alternatively the library can be referenced as a git submodule in the .gitmodules file: [submodule "libX16"] path = libX16 url = https://github.com/CJLove/libX16
×
×
  • Create New...

Important Information

Please review our Terms of Use