Modern software dev for OSI

Post Reply
User avatar
CommodoreZ
Posts: 50
Joined: Wed Oct 17, 2018 11:16 am
Contact:

Modern software dev for OSI

Post by CommodoreZ »

Howdy!

In general, how do folks within our community write complex programs in for OSI machines these days with modern tools? I've got a few specific questions:
  • Are there specific 6502 assemblers you prefer to use? ca65, dasm, one of the web-based options, etc.
  • If you use a higher level language, do you go with C and cc65, or perhaps FORTH, or some other HLL with a 6502 target that I'm not thinking of?
  • How do you test that software -- on real hardware right off the bat, or on an emulated setup?
  • If the latter, how do you setup that emulator to match the exact hardware you need? I know we have some generalized machines like a C1P or C4P, but what if you want to emulate specific features and add-ons, or perhaps something a little less standardized?
My purpose here is to get a better idea of what is actually being used to make software for these machines from those who have actually done it. Not just "in theory", but real practical answers. I know to some of you this may seem like a simple, obvious task. However, I find very often without a good perspective of some processes in use, I tend to get lot in the weeds figuring out how to approach these tasks, and I can't imagine I'm the only one wondering these things.
Superboard Replica (400, 420C, 440) | C4P (502, 540) | Mini OSI-300 | https://www.commodorez.com 🌵
User avatar
glitch
Posts: 176
Joined: Mon Nov 28, 2011 12:43 am

Re: Modern software dev for OSI

Post by glitch »

I do basically all of my 6502 development using assembly. I use ca65, which is the assembler that comes with the cc65 package. I use it because it's what everyone else seems to use in general, and what TangentDelta uses in particular. It's a competent assembler, and it's easy to script builds using Makefiles, and having srec_cat spit out the formats I need. srec_cat can, among like a zillion other things, output OSI load formats for both 65A and 65V (I added 65A support not that long ago).

IMO C on 6502 is kinda missing the point. If you're going to write in C, why not use a better CPU for it? Plus, one does not fully appreciate the 6502 until you start having to get serious with assembly.

BASIC is fine for quick stuff that doesn't need to be fast. I still haven't slung enough FORTH to have a valid opinion on it. I don't think I've used other languages on 6502.

I test on real hardware, which is usually either my Challenger III (or at least its board set) or the R6501Q SBC. I use the R6501Q SBC a lot for small personal projects due to the built-in I/O, timers, etc. I also generally want open source stuff I write to work on the R6501Q SBC since, you know, we sell it to people...and I'd like them to have stuff to run on it :P

#1 handiest development aid on any system is the ability to load programs in over a serial port and run/debug them. I tend to use Intel HEX format on 6502 since it's not like e.g. Motorola 6800 where everything expects S-Record. I don't know if MOS's load format was adopted anywhere outside the KIM-1. Anyway, my first thing on most 6502 systems is to get eWoz or nowadays GWMON-65 going so I can assemble programs on a modern machine, then zap the object code into memory over serial.
Check out The Glitch Works
OSI Challenger 3, 510 CPU, 8" floppies, 23 MB hard disk system starting to work!
Parts bin Challenger 3 board set, never had a chassis in its time
Post Reply