Most popular way to get .prg to "real" VIC?

You need an actual VIC.

Moderator: Moderators

IsaacKuo
Vic 20 Hobbyist
Posts: 147
Joined: Tue Aug 04, 2009 5:45 am

Most popular way to get .prg to "real" VIC?

Post by IsaacKuo »

I'm a 6502 assembly newbie but I need it to start programming my subpixel graphics project.

Since VICE doesn't emulate the composite signal output, this effort is moot unless I get my code onto my real VIC. What's the most popular way to do this, here?

My hardware is an unexpanded NTSC VIC with 1541 drive (no serial cable, but I think I can find it or I can buy a new one). On the PC side, I have access to both Linux (Debian Stable) and Windows XP. I'm willing to install a different version of Linux on a spare PC, since software on Debian Stable tends to be older.

My ultimate target hardware is unexpanded VIC with 1541. While this offers little RAM, I have 170K of floppy disc space to work with.

I've been looking at options to connect a PC to a 1541, but the numerous options leave me a bit confused. I never knew about all these fancy parallel cable mods.

Another option, perhaps, is to rig the audio output of a PC to the tape input on the VIC? If that can work well, I'd like that option since it's so cheap.

Oh--I also have a Commodore 128.

As for developing in 6502 assembly, I take it I should use CA65, right? I've never done any 6502 assembly before, so I have no prefered assembler.

Thanks! I'm completely new to all of this, and appreciate help getting started with 6502 VIC development.
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

This is by far the most common FAQ :wink:, unfortunately there's no "best" solution. And some of the options for the C64 (like Warpcopy) aren't available for the VIC.

It depends on your patience and budget.

Simplest/cheapest would be to connect a 1541 to your PC with a XM1541 cable/adaptor (i.e. [1]). Then use opencbm [2] under your OS of choice to write the .prg to a floppy, and carry it over to the VIC.

Another convenient but more expensive option is the uIEC [3] - write the .prg to a SD card on your PC and carry it over the the VIC.

There are other, more painful options: Null modem cables and terminal programs, 64HDD, and so on. Plus countless hobby projects that aren't commercially available. I like your tape idea but I haven't heard if that's possible.

As for 6502 assemblers, CA65 is good but there are other options out there. I personally use DASM [4].


[1] http://www.nkcelectronics.com/commodore ... a1541.html
[2] http://www.trikaliotis.net/opencbm
[3] http://www.c64-wiki.com/index.php/uIEC
[4] http://www.atari2600.org/DASM/
User avatar
Pedro Lambrini
Vic 20 Scientist
Posts: 1132
Joined: Mon Dec 01, 2008 11:36 am

Post by Pedro Lambrini »

I know this might not be the solution you're after but, if you had a datasette, just use WAV-PRG to convert the PRG to a WAV, record it onto a tape through the audio out on your PC, load it up on the Vic and then save it back onto a disk in your 1541? That's how I managed to get the game Dragonwing onto a disk for my real Vic. It's sounds a little convoluted but it's worked for me and it's cheap. :)
"...That of the Eastern tribe being like a multitude of colours as if a rainbow had settled upon its brow..." Daniels 1:3
IsaacKuo
Vic 20 Hobbyist
Posts: 147
Joined: Tue Aug 04, 2009 5:45 am

Post by IsaacKuo »

If I find my old Datasette I may use that option.

Connecting a 1541 to my PC seems the most attractive option, right now, especially if both of my 1541 drives work. And I find my 1541 serial cables, of course.

[edit:]

I hit the motherlode! I finally found my stash of Commodore cables and power supplies! I've got my Datasette, two 1541's, two C128s (maybe one is dead), and a (I think) dead C64.

Now I'm in business...
ruud
Vic 20 Devotee
Posts: 245
Joined: Wed Aug 04, 2004 11:26 pm

Post by ruud »

Schema wrote:... Then use opencbm [2] under your OS of choice to write the .prg to a floppy, and carry it over to the VIC.
As OpenCBM doesn't work well for some people, another option is to boot to DOS using a floppy drive. Don't know if you can boot DOS using an USB stick. Once in DOS, you can copy your PRGs using StarCommander.

Code: Select all

    ___
   / __|__
  / /  |_/     Met vriendelijke groet, Ruud Baltissen
  \ \__|_\
   \___|       URL: www.baltissen.org

English Invader
Vic 20 Scientist
Posts: 1195
Joined: Tue Apr 28, 2009 3:51 pm

Post by English Invader »

I've finally managed to get Star Commander to work on my computer by copying the SC folder to floppy disk -- Ruud, you're a genius!

When booting up, which should be turned on first -- the 1541 or the PC?
IsaacKuo
Vic 20 Hobbyist
Posts: 147
Joined: Tue Aug 04, 2009 5:45 am

Post by IsaacKuo »

Pedro Lambrini wrote:I know this might not be the solution you're after but, if you had a datasette, just use WAV-PRG to convert the PRG to a WAV, record it onto a tape through the audio out on your PC, load it up on the Vic and then save it back onto a disk in your 1541?
You know, I don't actually have a tape deck.

But I do have a couple car tape CD/MP3 player adapters. These adapters look like an audio tape but there's no tape inside. Instead, it has a long headphone wire that you plug into a CD player (or other audio device). These tape player adapters were popular when many cars had tape players.

I wonder if I can simply put one of those in the Datasette, and press "play" on my computer when I see the datasette motor start turning?
User avatar
Diddl
Vic 20 Afficionado
Posts: 426
Joined: Wed Jun 10, 2009 3:18 am
Website: https://oe7twj.at/
Location: Austria
Occupation: software engineer

Post by Diddl »

I always used SD2IEC from NKC Electronics for moving files from PC to VIC and vice versa.

And now SD2IEC integrated in Final Expansion v3.1
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Yes, why not the Brain's uIEC or SD2IEC ?

I think they are the best way at the moment to transfer software between Vic and PCs and you may use them for all other CBM machines.
I will also release a Mega-Cart patch (based on Diddl SJLoad routines) to add turbo load support for these devices.
Mega-Cart: the cartridge you plug in once and for all.
IsaacKuo
Vic 20 Hobbyist
Posts: 147
Joined: Tue Aug 04, 2009 5:45 am

Post by IsaacKuo »

I'm ordering a Commodore XE+XM1541 Adapter, but I may also get a uIEC or SD2IEC. I have a few questions:

1) The SD2IEC product seems to require a daughterboard or custom cable. Where do I get that? I'm no electronics wiz so I don't know about the "do it yourself" kit.

2) The uIEC link says the product is available on eBAY, but I'm an eBAY neophyte and I couldn't find it anywhere there. Is it not on eBAY USA, maybe?

3) This may be a stupid question--is it possible to connect both a PC with XE+XM1541 adapter and a VIC20 to the same 1541 drive at the same time, so long as they don't simultaneously try to access the drive?

If #3 is possible, I have a weird idea of using this along with custom USR code to get the VIC20 on the internet (for internet network games). The idea is to use the 1541 as a simple network hub to pass data packets between the VIC and the PC.
User avatar
Diddl
Vic 20 Afficionado
Posts: 426
Joined: Wed Jun 10, 2009 3:18 am
Website: https://oe7twj.at/
Location: Austria
Occupation: software engineer

Post by Diddl »

> 1) The SD2IEC product seems to require a daughterboard or custom cable.

NKC sell two kind of SD2IEC. The new SD2IEC with daughterboard and the old MMC2IECwithout (ready to use).

It is also very easy to build this daughterboard and the a SD2IEC also. Sometimes you can buy a SD2IC on ebay.

---

Raedy to use solutions are also MMCR and 1541u. 1541u is the best solution, cause you never use a floppy drive. 1541u is the ultimate floppy emulation.
xlar54
Vic 20 Newbie
Posts: 15
Joined: Tue Sep 27, 2005 11:41 pm

Post by xlar54 »

I wrote a modem emulator Window service (it runs all the time). Just hook up your vic via a null modem to the PC and you can download directly. In addition to the basic AT commands to dial out, it also listens on a specified port (for like a BBS). It also includes DIR <path>, GET <file> and XGET <file> XGET is an Xmodem recieve command. You can get it here:

http://www.commodore128.org/index.php?board=34.0

(BTW, its written in C#, so if you want the source, let me know)
IsaacKuo
Vic 20 Hobbyist
Posts: 147
Joined: Tue Aug 04, 2009 5:45 am

Post by IsaacKuo »

A good news/bad news update:

-------------------------------------------

First the good news.

I wrote my first 6502 program last night! Yippee!!! :)

As suggested by Schema, I tried out DASM. I spent much of the last week confused and bewildered about where to even begin with DASM. I slogged through the Denial archives and found what I needed here and in a longwinded thread helping Legacy. My thanks to everyone who had the patience to help out Legacy!

(All my first program does is POKE36879,8 or lda #8; sta $900F; rts. The BASIC POKE version is the first command of my robovic game, so I thought it would be as good a place as any to start with assembly.)

-------------------------------------------

Now the bad news.

My XE+XM1541 came in, and I haven't been able to get it to work on either of my Windows computers (a Socket 754 Sempron desktop and a Pentium M laptop). In both cases, the 1541 sits there with the red light on as if it's constantly reseting; running "cbmctrl reset" doesn't deactivate this. I've tried messing with BIOS settings and enabling "Legacy Plug+Play detection"...no effect.

The jumpers are set to XM mode (they shipped that way); I haven't tried XE mode since OpenCBM's documentation states that XE cables aren't supported.

I'm concerned because I had an impression that it may be necessary to use a computer older than a Pentium. I don't have any 486/386/286/8086/8088 machines. I do have a Pentium 120 machine in storage, but I get the impression that even this is too modern to work (also, I do not have Windows on it, nor do I have any copy of DOS).

So I guess I'm back to square one. :cry:

I have no null modem, nor any normal modem for the VIC.

SD2IEC is useless without a daughterboard; MMC2IEC is out of production; uIEC seems unavailable.

-----------------------------------------------

So my current status is that I'm excited to be assembly coding for (emulated) VIC20, but I'm still puzzled on getting anything transfered to my VIC. It's looking like perhaps more expensive solutions are called for, but availability seems to be an issue.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Regarding OpenCBM: there is an option to install a parallel port driver. Have you tried that? I found I need to take that step to get the program to work. Notice that after installing the driver, your parallel port won't work very well with other applications (printers etc) so you would need to uninstall it if you need the parallel port for other uses.
Anders Carlsson

Image Image Image Image Image
Alan
Vic 20 Devotee
Posts: 280
Joined: Wed Mar 24, 2004 11:20 am

Post by Alan »

You could use your XE cable with 64HDD. There is a free version that is totally acceptable for use with a VIC. You'll need a DOS PC, or one you can boot to DOS with a floppy. My own system is a Pentium 4 running MS-DOS 6.22

More info can be found at http://www.64hdd.com

Once 64HDD is setup, you'll also have a good setup for Star Commander as well.
Alan
Post Reply