Jump to content


Popular Content

Showing content with the highest reputation since 04/26/20 in all areas

  1. 18 points
    Hi all, I started developing a game for the X16 last September - coming up on a year ago now! I come from same the 1980s 8-bit BASIC programming vintage as Director-in-Chief Murray and probably most of you lot too, but I've never developed a whole game before. The X16 project has inspired me to learn assembly, with the goal of writing this game. More than a whiff of nostalgia about it all too - fond memories of passing POKEs to schoolmates to get infinite lives in Manic Miner and Jet Set Willy. Loosely, my game is a turn-based strategy/resource management thing with a passing resemblance to the hex-based board game settlers of catan. But the resemblance is only skin deep - this game has a strong story-based adventuring/survival/exploration leaning, all mixed together and served up with a hearty dose of good old fashioned text adventure. Blimey, I'll tell you what - it's been a steep curve. Simultaneously learning assembly; learning the vera / X16 hardware whilst developing how the game is going to work: combat systems - resource / asset / fatigue management - display; writing the code ; creating the graphics; writing the prose. It turns out taking on a game (even an 8-bit style game) single-handedly is a HUGE undertaking. I doff my hat to @SlithyMatt - you sir are a legend I've no idea how you churn out the code with such amazing regularity!! But the great thing about the X16 is - IT CAN BE DONE. It might take ages, but if I can do it, anyone can! It's been a long time coming, but I've got to the stage now where I've finalised the gameplay, memory management, and the overarching story of the game. I've also battered my head against my assembly inadequacies sufficiently (with lots of help from proper programmers - again, hat tip to @SlithyMatt , @StephenHorn, @Greg King , @togster510 and others - sorry if I've missed you out!) such that the code for the main game loop is now (pretty much!) in place. Things I've learned so far: 1. Planning everything out on paper before starting to code ABSOLUTELY VITAL! I was keen to get into the 'interesting stuff' straight away (drawing the graphics, putting things on screen) but in the long run, having the whole game pretty much drawn out in principle on paper first meant I've avoided a number of unpleasantries in the coding thereof. How are you going to address the screen - one layer? two layers? What is going onto each layer? How many bpp will you need for each layer? How many sprites will you need? How many frames of animation? How much vram will all that take? How are you going to encode the various aspects of gameplay? Which memory banks are you going to put them in? Which leads me onto - 2. Plan out your memory management. The X16 only has 40k of low memory + 64 x 8k memory banks to play with (in the base model) plus 128kB of video memory, so you can't just splurge on huge 256 colour graphics all over the place - the limitations of the system require some thought on how much you're going to fit in, and how you're going to fit it in. I've used up three memory banks just storing the hex tiles for the whole game board (64 x 64 hexes in total, although not all visible on screen at once) - made up of 32 different types of hex terrain, each with its own individual replenishing resources, roads, rivers and bridges. 3. Assembly is HARD but not IMPOSSIBLE. I've lost count the number of times my eyes have glazed over whilst looking at what I've lda'd and what I've sta'd wondering why the hell it doesn't do what I've CLEARLY just told it to do... persevere, and post questions on the software support forum. There are kind people out there who will help you (me included, if it's within my power to do so!!) 4. You will probably end up writing programs that help you write your program. This one was a bit of a surprise for me - but I've done it twice so far already. For example, I wrote a bitmap converter that loads up 16x16 pixel .bmp graphic files I've drawn in photoshop, and it spews them into memory as four sequential 8x8 tiles for storing in the vram tile map (my graphics are 16x16 but they need to be placed on an 8x8 tile grid because of how the hexes work). It took me an afternoon to write but it would have been immensely complicated and taken a LOT longer to hand-convert every terrain and item graphic in a hex-editor! 5. Things change. Roll with the punches. If the gameplay has to change slightly to fit within the limitations, so be it. The people playing the finished game aren't bothered about what you thought the game was going to be like. Deciding on the layout of the main screen was a hassle for me - there's more stuff I wanted to show than there was room for, and I tried various ways of cramming it all in, whilst still getting it to look attractive. Eventually I decided I couldn't do it, so I've split the information across two screens that can be toggled between. The main screen now shows a bar that fills up as the amount of stuff you're carrying increases. A handful of grain fills up one backpack 'slot'; an apple fills up 3, and one load of stone fills 16 slots etc. so you have to be careful about choosing what to carry around with you. But you can toggle to the backpack screen that itemises all the resources and equipment you're carrying so you know for example how many apples you've got and how much stone you're carrying etc. I should add this game is a bit of a nod towards the now legendary Planet X2 - if you've got half an hour spare, David's 'making of' video https://www.youtube.com/watch?v=NB_VBl7ut9Y is really helpful and has some great tips particularly about memory management - it's aimed specifically at the C64, but a lot of it is pertinent to the X16 too. I hope this is of some help for others considering embarking on a similar coding journey. At the very least, I'm writing all this down now in the hope that you lovely X16 people will hold me to account and spur me on to actually finish writing this blasted game..! The hexes await... in the meantime, have a peek at the notes in the photos below, it'll give you a flavour of what kind of things are included in the game. Also a screenshot of how the game currently looks. Ta ta for now!
  2. 15 points
    I’m not posting this as an official update announcement as it’s not finished but wanted to whet your appetites. Also big shoutout to @Michael Steil and @Frank van den Hoef. Frank wrote the main driver which was way faster and more complete than the old one and Micheal extended its functionality. The next emulator release has major improvements to the DOS for the SD card filesystem. The main ones are: A lot of progress has been made with the X16 DOS. It's almost feature complete, and almost has feature parity with CMD floppy and hard drives. • Long filename support • You can open files for reading (OPEN2,8,2,"FILE") or for writing (OPEN2,8,2,"FILE,P,W"), read and write data, have four of them open at the same time, etc. etc. • Overwriting files is done with "@:". • You can copy files (DOS"C:BACKUP=ORIGINAL"), concatenate files (DOS"C:ALL=FILE*"), all with wildcards. • You can rename files (DOS"C:NEW=OLD"). • You can delete files (DOS"S:R*,Q*"). • You can lock/unlock files (DOS"L:R*" or DOS"F-L:R*"/DOS"F-U:R*"). • Like on CMD devices, create directories (DOS"MD:DIR), delete them (DOS"RD:DIR), change them (DOS"CD:DIR). • You can use paths everywhere (DOS"C//BACKUP/:FILE.TXT=FILE.TXT", DOS"$//BACKUP/:A*") • All commands and paths support drive/media numbers (DOS"$1:*"), but only 0 (current) and 1 (only supported partition) work. • You can get partitioning info (DOS"GP"+CHR$(1)) like on CMD hard disks. • You can even read/write DOS memory and execute code in a DOS context (M-R, M-W, M-E). Yeah, not that useful. • All error messages on the status channel (just type "DOS") are consistent with 1541/1571/CMD drives, e.g. 01, FILES SCRATCHED,05,00 etc. What's missing: • Open file for appending (,P,A). • Show/change disk name. • mkfs (N) • fsck (`V') • timestamp support What's missing that I'm not sure should be added: • REL files • block read/write API Sent from my iPhone using Tapatalk
  3. 15 points
    Hi Everyone, If you happened to see David's video on the Color Maximite 2, then you probably noticed that the new Commander X16 PCBs have arrived! David @The 8-Bit Guy just happened to swing by my house the day they arrived, and he picked them up before I was even able to get all of the parts in. I am still waiting on a few things, so I haven't been able to complete assembly yet. The VERA is also not complete for this reason, but I had to mock it up for the pics! Bear in mind, this is not the correct case, this is from an old tower ATX case I had sitting around. It's a nice platform to mount the board and make sure I have the placement of screws, slots & of course the rear ATX panel aligned correctly. I will likely make a few placement tweaks but overall I am quite happy with the physical layout so I just had to post some photos! So far, it's working but my ATX soft-start circuit is a bit squirrelly. Not only that, I kinda wired it wrong and didn't catch it before the run. Worked great on the breadboard, but I will have to revamp that before the final. There are also a few other little things discovered since this proto was run, but the real tests will be coming when @Michael Steil is able to get the Kernal up and running. (I would write some test code, but one part I'm missing is the ZIF socket for the ROM. Should be here in a day or two.) @Perifractic is also sending me the X16 case, so I should be able to install the board in there later this week. Happy Sunday, and Take Care Everyone! -Kevin Williams https://TexElec.com
  4. 13 points
    Hi again! I've been working for quite awhile to get the new layout complete, and I think we are just about ready to run the second prototype! There are quite a number of changes to this board over the previous version, so I do expect a few, ahem, challenges perhaps? That said, a lot of time has been spent testing on breadboards and optimizing so I think we should be close to the final specs on this system. As mentioned, there are code breaking changes with the system. I will post more for the devs out there in a post below. The VERA has also changed quite a bit. Namely, it now has 32 registers, but I'll let @Frank van den Hoef talk more about that when he is ready to post some updates. Also, I made two proto boards to test the bus and get the alignment right for the final design. Progress is being made, thanks for everyone's patience and have a great day!
  5. 13 points
    Hello all, My name is Frank van den Hoef and I am responsible for the design of the VERA module (the audio, video and storage hardware module), which is part of the Commander X16.
  6. 12 points
    Hi all, I've spent that much time rummaging through documentation for vera trying to find how to set things up and which blasted $9f!*'@! did what, I thought I'd make myself a crib sheet with all the info on a single page (well, most of it!). I've attached a .png and a .pdf here for anyone to download and use if you want. I'm working exclusively in tile mode at the moment, so this crib sheet only covers that - I might do another one for bitmap mode when I start trying that. Hope it's useful to someone else! vera register info sheet.pdf
  7. 10 points
    Hi everyone, while The 8-Bit guys needs no introduction, we thought the rest of the team should properly introduce themselves! I'll start the ball rolling... I'm a husband & father of 3 (furbabies), & actor-writer with a love of retrogaming. You might have seen or heard me at Perifractic’s Retro Recipes on YouTube, and I've been making retro music since before it was retro! For the fantastic Commander X16 project I'm proud to be heading up the design and branding, among other things. Here's what falls under my umbrella, along with the help of some other very talented folks: This website's creation and hosting Case design & manufacture Keyboard design & manufacture X16 Butterfly Logo design & implementation Licensing Commodore BASIC & Kernel "Just the BASICs" user guide Packaging design & manufacture BASIC screen visual design/logo... I'm super excited as David's vision of his dream computer comes closer to fruition and am proud to be a small part of making that dream come true. I look forward to chatting with you all here further! Your friend in retro, Perifractic
  8. 10 points
    We don't have the final power draw figures as yet, but the plan is to ship without a cooling fan being necessary. Again that is not final, but is the hope. Crucially I have allowed space in the case to add a standard fan should you expand to where that is necessary. The fan can connect to the PSU directly and there is a place for the cable too. The current PSU we are using (photos coming soon) is 180W. This isn't because we need it (though we can't rule out the community's expansion needs) but is the smallest that is available which is also compatible with the board and case. Expansion needs also therefore benefit in future. We could have gone with an external PSU and a smaller case, but I'm not a fan of the external bricks and we love the idea of machines like the Apple ][ where the PSU is enclosed and you just plug in and go. Also again, a little spare space in the case allows for community expansions, mods and hacks. Also some other thing(s) I can't mention yet (nothing to get too excited about). The Picos have some small issues, they were discussed, but we opted for the more solid solution.
  9. 9 points
    I've been working on a simple text editor for some time, and uploaded it to Github today. The editor is heavily inspired by GNU Nano, but not intended to have all its functions. It's just too much work in 65c02 assembly, at least for me At this moment basic editing works more or less, and the program is fairly stable. Text entered by the user is stored in banked RAM. File handling waits until the emulator supports reading and writing sequential files. Check it out on github https://github.com/stefan-b-jakobsson/x16-edit I also include the binary for my 0.0.1 release. It's tested in emulator version r37. x16edit-0.0.1.prg
  10. 9 points
    Hello everyone! My name is Michael Steil, and I'm a member of the X16 development team. I am the lead developer of: the X16 ROM the (advanced) KERNAL operating system our version of the Microsoft/Commodore BASIC interpreter our MONITOR the DOS for the SD card the GEOS port the X16 character sets the X16 Emulator the X16 Reference Documentation I'm thankful for any help on these projects, all of which are Open Source projects on GitHub: https://github.com/commanderx16/x16-rom https://github.com/commanderx16/x16-emulator https://github.com/commanderx16/x16-docs (Edit: Or via this website's Support page: https://www.commanderx16.com/forum/index.php?/forum/17-x16-help-support-lounge/) Technical discussions on these projects should happen in the form of "Issues" on GitHub, but I'm happy to discuss more generic topic here in this forum! Michael
  11. 9 points
    I'm Matt and I'm helping out with the boring tech stuff behind the scenes on here. My journey began with a VIC-20 in the early 80s, followed by a C64 and an Amiga 500 before being dragged kicking and screaming into the PC era in the mid 90s. And basically, it's all downhill from there, which is why when I saw David's video on his dream computer, I simply sat there with an open mouth, nodding along vigorously. Other than that, I'm the writer and producer of the Blue Skies Chronicles® series of novels and audiobooks. Give them a listen, people seem to like them.
  12. 8 points
    Just fooling around with C64 BASIC and the new X16 BASIC commands! Code is too simple to share compared to some other games and demos you guys made! It's been a while trying to use variable names with only 2 unique characters! "PALETTE.BAS" "MANDELBROT.BAS" - Took forever to generate this 150px by 150px by 16 greyscale. 6502/200MHz please!
  13. 8 points
    Hello Everyone! I know it's been awhile since there has been an update, so here goes: Earlier this year I had mostly completed the "Proto #2" motherboard. It was a mad dash to get the PCB made before we met in New Jersey at VCF. Right at the end, @Frank van den Hoef made a pretty substantial change to the VERA, which required a bit of reworking. April came, the trip was cancelled and life went sideways for a bit for the world. As such, I decided I needed to focus on a few things for TexElec, and took a bit of time off from the project. Last month I picked up where I left off and planned to make minor changes for the VERA and get the PCB made. However, the team had some time to think and oversights and optimizations became apparent. One change led to another, and let's just say, we're gonna break some code. Sorry. I do believe the changes made will not disappoint. I'm not going to reveal them just yet. I am still laying out the PCB and would like to do some testing to make sure it's going to work as designed. I am trying not to release too much of the schematic until the end, as anything is subject to change at this point. The pic below is how I have the expansion bus pinned out. I may well move some the pins around to simplify layout, so again, not in stone yet, but I do think this is pretty close to what pins will be present. This post is majorly TLDR already, so I'll add a comment below with more info on the pins, and the idea behind some of it. Take care!
  14. 8 points
    You both have some good points, but just to repeat what has been said before, and is posted in the rules at the top of the main forum page: So as of now, we're not discussing open sourcing or ports to other machines. Our machine isn't even out yet. So let's save this discussion for a later time eh? 🕹
  15. 8 points
    On the real hardware, there will be a way to reprogram the FPGA image if necessary to fix any bugs that are discovered after release. (This involves putting a jumper on the VERA board to enable access to the flash chip from the CPU.) So yes, if you would like to hack around you can, it is (will be) your hardware. Also the FPGA does have a feature where it can store up to 4 FPGA images in the flash chip, which could be nice for hardware hackers to allow the original image to be present in addition to their own creations. Do note, that this will not be officially supported and normally users are expected to run original firmware. So if you mess up, it is on you.
  16. 8 points
    A bit late to the party, glad to see the forums live! So I hope this is the official post advertising Aloevera! Marketing spiel follows: Aloevera is a command-line tool that facilitates the development of graphical assets for use with the Commander X16. In a nutshell, Aloevera transforms images created with modern editors into formats that can be directly imported into your X16 development project. It aims to be a simple, easily integrated tool that: Outputs resources in a variety of formats ready to include or import into your X16 project, including: CA65-Compatible Assembly Statements (Which should also work in any assembler that supports a .BYTE statement) CC65 Header files BASIC DATA Statements .BIN Files (for use with the VLOAD Command) Assists your resource creation pipeline by validating your input data and ensuring that your source images match the format expected by your target VERA layer mode. Provides helpful information to help you fix problems when your image data cannot be translated into the format expected by VERA Gives you complete control of how and where assets are exported, allowing you to build a shippable 'Release' image Integrates into your preferred build system or development process as a simple command-line tool with minimal overhead. Supports all VERA modes and types, including: Text Tilesets Tilemaps Sprites Bitmaps There's also a usage guide that I hope serves as a half-decent introduction to VERA coding: https://github.com/yeastplume/aloevera/tree/master/docs Thanks everyone! I hope Aloevera can become the go-to tool for X16 projects. And if you're at all interested, I'm always looking for people to help with the effort. PRs very welcome!
  17. 8 points
    Y'all know PCB stands for Potentially Could Be Blue. Or is it? PCBWAAAAAAYYYYYY Sorry, had to do it. In any case, it looks pretty cool
  18. 7 points
    Simplest Sound Effects Library for BASIC programs View File Usage Because of its simplicity the library can be stored in a 1K space below basic programs, starting at $0400. Save the EFFECTS.PRG program in the directory where your BASIC program is stored, which would typically be in the same directory from where you are running the emulator. Load library with LOAD command: LOAD”EFFECTS.PRG”,8,1,$0400 Since this routine after the first run adds a new interrupt handler it is good practice to only load it once. It is therefore recommended to do a simple check: IF PEEK($400)=0 THEN LOAD”EFFECTS.PRG”,8,1,$0400 And that is it. Now you only need to call the needed sound effect from the BASIC program with a simple SYS command. We have four different effects so four different addresses can be called: SYS $400 PING Is designed for events like picking coins or rewards. SYS $403 SHOOT Effect that can be used for shooting the gun or other weapon. SYS $406 ZAP Electricity zapping or perhaps a laser gun sound. SYS $409 EXPLODE Long explosion for when we successfully blow something up Alternative binary named EFFECTSHI.PRG that loads into memory at $9000 can be downloaded. Of course calls are then $9000 for PING, $9003 for SHOOT, $9006 for ZAP and $9009 for EXPLODE. Full source code and walk through is available at my blog: https://www.8bitcoding.com/p/simplest-sound-effects-library-for.html Demo video: Submitter DusanStrakl Submitted 08/12/20 Category Dev Tools
  19. 7 points
    I'm excited to be here. I can't wait for the X16 to bring out the inner child in me. My life in retro-world only started a year ago, inspired by Perifractic and the 8-bit Guy. But I also dabble microelectronics, mostly microcontrollers, as a hobby. Hence my alias Micro Hobbyist.
  20. 7 points
    Just a small clarification: When David mentions a Kickstarter he's using the word in the generic sense, meaning "crowdfunding". We're not yet decided what the home will be for the campaign. It may well be done within this website. Kickstarter is great for unknowns but The 8-Bit Guy brand carries some value and trust already that may make that unnecessary and help keep the end user price lower without Kickstarter's fees. More info when we have it!
  21. 7 points
    r38 of the X16 emulator and ROM have been released.
  22. 7 points
    Hi everyone, I've just had this project pointed out to me, and boy am I pleased about that! I wrote extensively for the Commodore machines back in the 80's, especially the 264 series. Some of you may remember my games like Icicle Works. I just released a new title for the Plus/4 - The Pit, so I am very much back in retro mode! I can't wait to get my paws on one of these and do some serious damage! A turbocharged 6502, coupled with awesome sound and graphics - what's not to love? Cheers, Doug
  23. 7 points
    Thanks for the help guys. I was totally oblivious of the discussion going on here. I did notice yesterday that Try It button was not there and saw it is there now and working perfectly but had no idea what was happening in the background Of course I uploaded it late yesterday and today I was totally under water with work so that is my excuse. Next time I will make sure to upload BASIC encoded files. Cheers, Dusan
  24. 7 points
    Looks like we're quite a few people here from Denmark My name is Michael Jørgensen, and I started programming when I was 12 years old, first on the Sinclair ZX80 and then ZX81. I quickly learned BASIC, and started looking into Z80 assembly. But my first true love was the Commodore 64, which I had from the age of 15. I had a printer too, but not a disk drive, so all my programs were stored on cassette tape. I learned 6502 assembly on the C64, and made my own Turbo Loader. Most of my learning came from manually disassembling other programs (typically games), and trying to figure out how the game behaviour correlated with the disassembly. I also mod'ed my C64 with an additional 8 kB of static RAM. This was connected to a separate battery, and could therefore keep the contents even when the C64 was powered off. The RAM functioned like a cartridge (except it was writeable), and the C64 would boot up from it. The RAM contained a welcome greeting and my Turbo Loader program. That was so much fun, and gave me a real sense of success! In high school I teamed up with my classmate Morten who had a Z80-based Memotech MTX 512, We studied the disassembly of the builtin ROMs of both our machines and were frustrated over how slow the BASIC interpreters were. Together, we built a BASIC+KERNEL from scratch: our own TOS (= Tape Operating System), ported to both machines. Morten did most of the BASIC interpreter, while I did the floating point arithmetic and graphic routines. We never did finish the project past the prototype level, but we had a lot of fun. I've submitted a Pull Request for the X16 ROM with some faster floating point arithmetic, based on my ideas from back then. At university (Master in Electrical Engeering) I learned myself to program in C, mainly small programs doing numerical simulations for my thesis. I completed a PhD in mathematics, and a PostDoc in quantum mechanics, but finally gave up on the academic career path and went to work in industry as a software developer, despite no formal education in computer science. Most of my professional work has been developing drivers in small embedded systems using C++. I initially found the language hard to learn; the compiler errors were particularly obfuscated as well as learning the more high-level programming paradigm. But now I'm very comfortable with C++. Later in my professional life I got a chance to work with developing FPGAs, i.e. designing chips, and I've been doing that ever since! Most of the work has centered around squeezing out every ounce of performance from the largest FPGAs. I really enjoy the fun challenge of optimizations: pushing against the limits of speed and size. I had a brief period of 8 years as a high school teacher, teaching math and physics, and programming. I enjoyed it very much, but it was way too much work I have an FPGA board at home for my own personal projects. Initially I only made were simple stuff, but then a few years ago I saw a video series by Ben Eater about how he made his own 8-bit computer on a breadboard. I got super excited and decided to re-implement his project on my FPGA board. Once that was done, I got all ambitious and wanted to make a re-implementation of the complete Commodore 64 on an FPGA, but then found out that the guys behind the MIST project had already done that! Nevertheless I began designing my own 8-bit FPGA computer based on the 6502 processor, and I even wrote a tutorial about it (https://github.com/MJoergen/nexys4ddr/tree/master/dyoc). I wanted to write a complete operating system, but the project lost steam once the hardware was complete; I couldn't decide on what I wanted to make. That's when I saw David's video about his dream computer. I resonate with David's ideas about the X16, and am very eager to help out as best I can. So far I've written a tutorial on making games in assembly for the X16 (https://github.com/MJoergen/x16-assembly-tutorial). On a side note, I'm working on making my own clone of the X16 on my FPGA development board, but that is all still Work In Progres, and not publicly available. I really like this project and being part of this amazing community! facebook : https://www.facebook.com/michael.finn.jorgensen/ linkedin : https://www.linkedin.com/in/michaeljoergensen/ github   : https://www.github.com/MJoergen/
  25. 7 points
    Hello I've been slowly trying to learn 6502 assembler by building an X16 game engine. But better than that - you can watch me do it on twitch as I stare confused at my screen whilst mumbling to myself next to a microphone! Please visit the channel and say hi or follow
  26. 7 points
    Hi Commandos (is that the right term?), I'm the guy writing the Assembly Environment / Super Monitor. I've been posting releases on FB and Murray**2. I'm still plugging away, and will be posting new updates here, too! In retro, Mike Allison
  27. 6 points
    If you are trying to get started developing for the X16 with C and/or assembly, I've created this video to help: If you just want to get the "Hello, World!" repo and start hacking, you can get it from my GitHub: https://github.com/SlithyMatt/x16-hello-cc65
  28. 6 points
    So after piecing together the memory map of the Commander X16 and getting the emulator working I set out to make the necessary changes in my programming language Prog8 compiler to support a second target machine architecture beside the C64. Prog8 is a cross-compiler that works on any modern machine and compiles into a machine code binary for 6502 8-bit machine targets such as the Commodore-64. I've just released an updated version that supports CommanderX16 as a second compilation target! Prog8 documentation: https://prog8.readthedocs.io Prog8 project website: https://github.com/irmen/prog8 you can download it from there as well. Here is one of the simple programs that I made in Prog8 for the Cx16, it renders the well-known Mandelbrot fractal (using floating point calculations): For those interested this is the source code of the above program: %import textio %import floats %zeropage basicsafe main { const uword width = 60 const uword height = 50 const ubyte max_iter = 16 sub start() { txt.print("calculating mandelbrot fractal...\n\n") ubyte pixelx ubyte pixely for pixely in 0 to height-1 { float yy = (pixely as float)/0.40/height - 1.3 for pixelx in 0 to width-1 { float xx = (pixelx as float)/0.32/width - 2.2 float xsquared = 0.0 float ysquared = 0.0 float x = 0.0 float y = 0.0 ubyte iter = 0 while iter<max_iter and xsquared+ysquared<4.0 { y = x*y*2.0 + yy x = xsquared - ysquared + xx xsquared = x*x ysquared = y*y iter++ } txt.color2(1, max_iter-iter) txt.chrout(' ') } txt.chrout('\n') } } }
  29. 6 points

    Version 0.4.0


    This is a space invaders inspired game. Use the mouse to control the player ship. The fortress shield segments can take 2 hits each. Now with 7 playable levels, only basic sound and still some placeholder graphics. Known issue: Collision detection on leftmost enemy row is not reliable. Requires emulator R38! Roadmap: more diverse enemy formations enemy attack raids over the sides power ups (shields, double cannon, disruptors etc.) boss enemy joystick control music Different enemy sprites. done, but some still placeholders Sprite animations. done for player sprite fade in/out of palettes and backgrounds. done more levels with more backgrounds (all planets of the solar system), partially sound effects basics done title screen
  30. 6 points
    So one thing I noticed a while ago is that in screen 128 mode, the layer 0 data actually overwrites the PSG registers. This means theoretically you could create sounds by drawing in screen 128 mode. Sure enough, if you do a certain pset, you can turn up the volume of the PSG: You'll notice that makes a pinkish pixel towards the bottom right, and also makes a buzzing sound. You can also change the other registers, to make whatever sound you want, like a simple square wave.
  31. 6 points
    Some pics of prototype cardboard form with mock panel applied. Call it "The shape of things to come..." if anybody here remembers the old TR-7 campaign. The wedge shape is not just style, it's necessary in order to sandwich multiple PCBs (one for power handling, one for inversion of the component video, one for LCD driver) Centered on the front edge will be an external keyboard DB25 port which, when fitted with an adapter will reduce down to a 9 pin joystick mapped to specific Pet keys. At least that's the plan. Still trying to work out whether I"ll get my hands on TFW8bit's 'deluxe' kbd (just released) or stick with the dreadful buttons that 8bitguy''s build showed (this is standard on the Minipet). In other news, I received a Cherry switch set from Mouser and all of the surface mount parts for the shift lock circuit. That will be 'together' by next week with any luck; if I don't have luck, I'll build using through-hole on breadboard and wire into the pads on the back of the Petskey. Eyes, age, experience (three excuses) I can solder through-hole all day long, surface mount hasn't been for me but I'll give it a go. More later...
  32. 6 points
    We're all passionate about the things we like (or don't) but always remember, no piece of technology is worth getting irritated over. Or getting others irritated. We're all here to enjoy the same hobby.
  33. 6 points
    I'm 99% sure we will release the first wave with a kit option. Worst case it will have a clear message at the point of purchase that we are not responsible for any issues/damage during assembly. There will be plentiful community support available to everyone (as I said in another thread about this same topic recently), and you can bet team-members will also jump in and out to offer help and guidance. David's main concern is that he not have to offer direct support via email. All support will be via the Support button at this very website.
  34. 6 points

    Version r38 ("Kyoto")


    Precompiled emulators for Windows, Mac, and Linux. This is the latest version. Older versions can be downloaded from the GitHub releases page. (Note: To run on Mac use "Ctrl-click/Right-click > Open" instead of "Double-click" due to security protocols)
  35. 6 points
    Hello everyone! I live in Kalmar, in the southeastern part of Sweden. As a kid I dreamed of making my own C64 games in assembly code. But I didn’t really get anywhere. I found it hard to learn the language, lacked the necessary books and had noone to ask. With the CX16 it feels like I’ve got a new chance to fulfill my dreams. It sounds a bit silly, I know. I am a minister in the Swedish Church and I can truly say that there are few people I know that understand and appreciate retro computers. Actually there are quite few people interested in computers at all. Therefore I really appreciate this community, it is inspiring and motivating, and I have got help more than once from some of you knowledgeable and helpful experts : ). I hope that I can - at least in the long run - contribute with some software. Programming is really fun but I have sometimes hard to find the time for it. Keep watch for Rally Speedway 2020 this fall though, I hope for at least v 0.5...
  36. 6 points
    It's not the color that gets me. It's not the features like the expansion slots, VGA out, IEC interface, or the SNES adapters. Apologies to Frank, but it's not VERA either (although it is supercool). It's not even the sockets. It's that there's a 65C02 there, and a straightforward but clever banked memory map, on no-fuss static RAM, and it's going to run an ancient (albeit upgraded) Commodore KERNAL. That's what gets me. That, and maybe the SD slot. But I like all the other stuff too of course.
  37. 6 points
    Eventually probably yes. But don't expect this until the system has been released and on the market for some while.
  38. 6 points
    If like me you were a kid in the UK in the late 70's or early 80's there is a good chance you had some of the Usborne computer books, These are now free as pdf's on their website for that full on retro experience! Later today I will try typing a few in to the x16 emulator. https://usborne.com/browse-books/features/computer-and-coding-books/
  39. 6 points
    Hi all, I'm going to have to come up with a title for this project sooner rather than later.... Made good headway on coding up the different hex graphics on layer 1. I've done 8 different terrain types so far (sea, lake, beach, scrubs, meadow, pasture, orchard and cave) - there'll be 32 different types in the finished game. Pixel graphics is not one of my strong points, but hopefully it should be obvious which is which! I've finished the hex terrain text descriptions and written and debugged the scrolling routine that scrolls the message window as you move from tile to tile. It counts lines scrolled and if there's more than a window's worth of text to scroll all at once, it brings up a "Scroll..." prompt and waits for the user to press the enter key before continuing to scroll. The assembly for it runs so blinking fast, I had to write a delay subroutine that gets called inbetween each character being drawn so you can actually see the text scrolling, otherwise it looks like all the text just appears on the screen at the same time. (ignore the drawing glitch going on at the far left hand edge of the hex window, next thing on my list of things to fix!) Suddenly it's beginning to look more like an actual game now! ta ta for now
  40. 6 points
    I want to plug a new Youtube channel called Coding Secrets, done by Jon Burton of the Traveller's Tales videogame studio. He's worked on quite a few games over a career that dates back to the Sega Genesis, and has put together several videos discussing how various effects were created within the very finite and unforgiving limitations of the consoles he was working on. Coding Secrets started as a series of videos on his original Youtube channel, Gamehut, itself a fascinating collection of videogame history from his career. Anyways, if you're potentially interested in retro games programming and haven't yet discovered his videos, give his channels a shot. Now's a great time, too, because he's re-exporting his Coding Secrets videos in higher-def and a higher framerate, so be sure to check back as he catches up with his back-catalog of content. Speaking for myself, this is one of my favorite videos from what's brought over to the new channel:
  41. 6 points

    Version 0.6b


    Chase Vault: a game for the Commander X16 by Matt Heffernan You are a pith-helmeted adventurer trying to collect artifacts from an ancient Caribbean crypt, haunted by the ghosts that want to keep their secrets. Collect all the artifacts in each room and try to make it to the end. There are many locked doors, so make sure to pick up any keys you find! If you collect each kind of native fruit, you will have more lives, so be on the lookout for them in each room. Also, the ghosts are vulnerable for a short amount of time after you collect each voodoo talisman, so you can chase them for a change. To play, load CHASVALT.PRG and run. You can use joystick 1 or the keyboard (cursor keys to move) if no joystick/controller is connected. Keep up to date with future releases on GitHub: https://github.com/SlithyMatt/x16-chasevault Enjoy and good luck!
  42. 6 points
    The Emulator and the ROM have been adapted for the new board. You can check out branches x16_board_r2 in the source of the two projects. The official reference manual has also been updated. In short, these are the major breaking changes: RAM and ROM banking is done through magic zero page locations 0 and 1. Up to 512 KB of ROM are now supported. VIA#1 is now at $9F00, VIA#2 at $9F10 YM is at $9F40 All I/O (PS/2, Controllers, Serial) has been moved to VIA#1 PA and PB.
  43. 6 points
    I am an expat professor teaching in English before our students transfer to the US. My first computer was a Timex Sinclair, which turned out to be closet compatible, but the next summer when I had the chance to buy better, I was shopping for the cheapest home computer with a real keyboard and disk drive, which was the C64. I used it to edit my undergrad senior thesis, play a few type in with error check magazine games and get started programming in Forth. I took a Epson Geneva with me to the Peace Corps, and got a C128D when I got back... which I all too soon fried with a power tap for my parallel printer interface which didn't have the block inserted to prevent plugging in upside down and shorting out the datasette lines connected directly to the processor. So it was my old C64 breadbox and portable color TV with bad ghosting on one color which was the computer I took to grad school in the late 80s early 90s. My daisywheel printer was slow but looked prettier than classmates with IBM pcs and dot matrix printers, and my 1581 which survived my C128D dying worked fine with my warpspeed cartridge. But I got a cheap Amstrad double floppy transportable with flip up LCD screen and it was on my PC compatible I did my only serious programming, a brute force maximum entropy estimator of an economic Input-Output model. It took near a day to do a run, while I am sure with the right R package I could do it today in a couple of minutes. I went off for a decade to teach in Australia, and played around with Forth now and again, but if I turned on my PC for research it was mostly using Excel to figure out what suspect games public planning agencies were playing with public transport cost benefit analysis. Now there are no kids in the house, and I have some notions I never followed up on in the 80s which would be a lot more pleasant to play around with on the CX16 than on a C64. So I can't wait to get my hand on a CX16c or e (depending on what I can afford with 8 grandkids to get gifts for).
  44. 6 points
    Agreed! In future we'll try to only make announcement posts here, then paste the link into FB (which will generate a preview of the post anyway). The website will be the go-to #1 source.
  45. 6 points
    I'm a long time 6502 assembly language programmer (I had an Apple ][+ back in the 80s, although not a C64, alas), so am looking forward to seeing what I can do on the X16. I admit I haven't gotten around to playing with the emulator yet, since most of my recent free time has been spent playing with my brand new ZX Spectrum Next (don't worry, I won't be rambling on about that). But I have to say that I still prefer programming the 6502 over the Z80!
  46. 6 points
    This video from Modern Vintage Gamer is a look at the graphics capabilities of the Game Boy Color, which to my knowledge is the last massively popular 8-bit gaming platform. It has some very interesting similarities to the X16 capabilities and I think some good lessons to learn for new development strategies.
  47. 5 points
    3d wire frame animated spaceship View File 3d animated Cobra MK3 ship from Elite! Uses 16 bits integer math and has hidden-line removal.. This is an almost 1-to-1 conversion of the same program I wrote for the C64, but it runs a lot faster on the CommanderX16 Here is the (prog8) source code https://github.com/irmen/prog8/blob/master/examples/cx16/cobramk3-gfx.p8 I haven't figured out how to wait for the Vertical blank yet, to reduce the flickering perhaps... Submitter desertfish Submitted 09/07/20 Category Demos  
  48. 5 points
    Hi everyone I'm Andy (Andreas, actually) from Switzerland. Back in the 80ies I came into computing because of my father. It all started with a Texas Instruments TI99/4A he bought in 1982, I was 12 by then. So I did some Basic programming, even got a little into assembler. The machine was quite limited, but I loved it - it did what I told it to do! Mostly that was also what I wanted it to do... We then moved on to a Commodore SX64 (the 'portable' version of the C64) in 1984, although that was my fathers machine he brought home from the office frequently. The amount of software and games for that machine was quite overwhelming. In 1986 we then got an Atari ST. For me this was just plain magic! With it's large memory, colorful graphics and (not so much sound) capabilities it was just crazy! I there got into programming with structured languages like Pascal and C - there I decided to go into computer science as a profession. Around 1989 onwards the IBM compatibles took over and I started my study. That was the time when computers kind of lost their magic for me... Don't know, but somehow they were just boring tools which did their job. But they were never as exciting again. Just boring grey boxes which initially didn't even compare with the Atari ST. So now I stumbled over this project here - and I get it! 8 bit computers like the C64 or to some extend the original Atari ST were simple and actually easy to understand. My dayjob doesn't involve programming any more - and I miss it. Tinkering with IoT stuff and my smart home setup is fun, yes, but not as rewarding as getting the maximung out of a limited machine. I'm now thinking about getting into developing for the X16 - just don't know what it should be yet... so let's see what happens ...
  49. 5 points

    Version 0.8b


    XCI is a graphical adventure game engine for the Commander X16. It is inspired by past engines such as SCI and SCUMM, but designed to maximize the potential of the X16 and keep the games just small enough to run, and allow developers to create games without having to program in BASIC or Assembly. Learn more about XCI on the official GitHub page: https://github.com/SlithyMatt/x16-xci There you will find all the source code, documentation, and example code and templates. There is also a tutorial series currently in production on YouTube: In the downloadable ZIP file you will find the engine executable binary for the X16 (XCI.PRG) and two embedded archives of the Windows and Linux software development kits (xci.exe). The SDK is written in standard C and can be compiled to pretty much any modern platform, including Mac and Raspberry Pi. Stay up to date by watching the GitHub, and occasional builds will also be uploaded here.
  50. 5 points
    My name is Chris Love. So far I've been behind the port of Lode Runner to the Commander X16, along with a couple other C-based utility libraries that will hopefully grow over time. Growing up I went from a Vic-20 to C-64 to Amiga 1000 which took me through undergrad and grad school. Back then I programmed in BASIC and a bit of assembly 8-bit; since then I've done mostly C/C++ professionally along with Python and some other languages at times (Java, Go). The Lode Runner port was kind of an experiment to explore the viability of C on an 8-bit platform; currently pondering what the next project might be. I first discovered the 8-Bit Guy's Youtube channel back in December when some sort of upper respiratory plague was keeping me up at night; from binge-watching episodes then I found out about the Commander X16 project and it brought back memories from the C-64 days. Looking forward to how the project continues to evolve and looking forward to actual hardware!
  • Create New...

Important Information

Please review our Terms of Use