New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
REQ: new target based on c64 for the upcoming Commander X16 #934
Comments
Apparently, this works:
|
I second this, being able to compile C for the commanderx16 would be awesome! |
I too intend to try to make some X16 programs (after I wrap up current projects). Maybe we can put our heads together and get the proper configurations set up and submitted. https://cc65.github.io/doc/customizing.html |
I have written enough of it to make a typical "Hello world!" program work in the emulator. |
@greg-king5 Could we maybe open a branch somewhere to sync development efforts (I did a quick POC myself this weekend)? I don't think it would be wise to upstream the changes yet, since the X16 project hasn't even finished yet selecting the components. I played with the idea to simply activate the CBM library for the X16 target and fix everything broken step by step, but after thinking about this matter further, I think it's best to write it's own set of libraries since it vastly different. EDIT: Okay, I realized that enabling the CBM library would make much sense. I finished by branch so that you could use cc65 using the "x16" target to build the cc65 demo code in the x16-demo repository. The branch doesn't need the bad hack above, since the custom target does have a proper memory layout for the system. |
@hasenbanck well done, i'll give it a try! We could also make a "x16.h" or something to include common x16 code like the VERA struct in demo.c |
@msx80 I only copied the bare minimum from the C64 library, until the compilation was successfull. The I think I will write some test code myself in the next days to test each hardware component from C and test which parts need to be added (Especially if the CBM library is working at all). |
It seems that @greg-king5 and I'm currently doings some double work. I would really like to focus efforts to make this new target. Since it seems that you greg have much more experience with the codebase, I would like to rebase my efforts of your branch. |
OK. For those who haven't noticed it, my current work is at It's targeted at release 30 of the emulator; therefore, the VERA (video chip) stuff currently aims at revision |
I "bumped" the library code to work with x16-emu release 31 (so, VERA 0.8).
|
i'm going to attempt a platoterm bring-up this weekend. |
With commit 18afc7c, we have a |
Thanks :-) |
@greg-king5 yeah, this is awesome! :) This will be enough to do a platoterm bring-up (once I get the graphics bits worked out) There is also still some discussion as to just WHAT will be possible to connect to the x16 for connectivity, but at least platoterm will be ready for when there is a viable connectivity solution :) -Thom |
Are you asking about the two fonts
cc65's start-up code switches to the second font (the average C program expects both UPPER-case and lower-case letters). You can change to the other font by printing a The simplest way is to cbm_k_bsout(0x8E); If you print other text to the screen, then you can combine the above character with your other stuff: printf("\x8ehello world!\n"); (conio functions won't change the font.) Normally, you can't mix those two fonts on the same screen. (Fancy tricks are possible with VERA's two layers; but, the Kernal doesn't support them.) |
Looks like r33 added 128 sprites, but the cx16 target doesn't seem to work in that version because of the RAM bank changes. Anything we can do to make it work with this newest release? Or is it just too much of a moving target? |
cc65 has been updated for x16emu R33. You need to update your Git repository or a package. |
DEMO.PRG still appears to crash the emulator, with cc65, x16-roms, x16-emu, and x16-demo all built from current source. commanderx16/x16-demo#51 |
good work Greg ... |
With the latest x16-rom from today, the demo program doesn't work. I guess it is a problem with the recent changes of the RAM locations for the ROM variables. Looks like waitvsync hangs, because the TIME location was changed. |
I added If you have been using your own version of Lines 190 to 193 in 9fa90e2
|
It might be easier to maintain https://github.com/cc65/cc65/blob/master/asminc/cx16.inc by using You can get old |
Commit b66f727 updated the library to prerelease 36. |
Is this documented? I had to dig into this thread to find this out... |
mmh sure? wouldnt the string be subject to ascii->petscii conversion in that case? |
I tried it both ways, and the embedded hex code works (as does cbm_k_bsout()). |
Only some of the control codes are translated. |
I added |
Very friendly! Thank you! |
In ca65 Assembly ( |
Commit 4296cba added a TGI (graphics) driver, 320 dots across, 200 dots down, and 256 colors. |
@greg-king5 can we close this? we have cx16 support now, right? |
Yes. |
David Murray is working with a team of engineers to develop an extended Commodore 64 design, adding all sorts of nice little features.
https://www.facebook.com/groups/CommanderX16/
There is an emulator available, and there is development hardware being released out into the wild.
Hardware manual here:
https://github.com/commanderx16/x16-docs/blob/master/Programmer's%20Reference%20Guide.md?fbclid=IwAR1-gdxWQiScF8akykB_gm8yFT-k_Nc9stj6j2-d4q39XwfX99EKfcdfqEM
It looks like binaries emitted by CC65 almost work, something fails in crt0.s, and it ejects back out to BASIC, though.
The text was updated successfully, but these errors were encountered: