How to interact with your 6502 computer?

Let's talk about anything related to the 6502 microprocessor.
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

How to interact with your 6502 computer?

Post by BigEd »

Prompted by a comment elsewhere, I wondered what tactics people might be using to get input into their retro computer, or to access files.

I've recently used all of the following tactics:
- direct input at keyboard of a 1980s machine
- serial connection from PC to a 1980s machine
- online emulator, in my case usually JSBeeb
- offline emulator, in my case probably B-em or BeebEm
- not-quite-native solid state storage, in my case an SDCard gizmo, bitbanged through a VIA, controlled by a ROM, all with hoglet's assistance

I haven't recently used
- original floppy drives
- original tape cassette storage
- audio connection from PC to emulate tape cassette
- solid state storage emulating native floppy storage connected as a floppy

(Although I did capture an historical tape and look at it in Audacity and attempted to decode it using some command line tools... but then hoglet fed the audio into a real computer and got the result directly.)

What have I missed, I wonder.
Tor
Posts: 597
Joined: 10 Apr 2011
Location: Norway/Japan

Re: How to interact with your 6502 computer?

Post by Tor »

Well, the Apple II clone is direct input at keyboard only.. but the plan for my mini is to connect the console current-loop interface to a current-loop/RS-232 converter, and then a serial-to-wifi connection to my router. And then I should be able to connect to the console remotely.
The mini currently has a (very old) SCSI disk, but I will try to get an SD2SCI working in its place.
rwiker
Posts: 294
Joined: 03 Mar 2011

Re: How to interact with your 6502 computer?

Post by rwiker »

I have a few Apple ][s, and one of them has a CFFA 3000 card. With this, I can put a great number of floppy images on a USB stick and access the images as if they were floppies. I can also use the CFFA to make disk images from floppies, and then use the images from OpenEmulator.
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: How to interact with your 6502 computer?

Post by cbmeeks »

Owning nearly 70 vintage computers, getting software into/out of them can be challenging. Many of my vintage computers are sitting isolated because I don't have a way (yet) to get software on them.

But for the ones that I can:

Apple II -- I use a plan old serial cable and ADT Pro on my modern PC to transfer data over to real floppies.

Commodore 8 Bit (64/128/VIC-20/Plus4/16) -- I have a ZoomFloppy that can connect a real 1541 to my modern PC so that I can transfer data. I also have a SD2IEC solution that I can use SD cards with. Plus, I have some EEPROM carts that I will build one day to make custom carts with.

Commodore 16 Bit (Amiga 500/600/1200/2000) -- I have a GoTek floppy emulator that takes SD cards.

TI99-4/a -- I have a SD to cart solution that is really great!
Cat; the other white meat.
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: How to interact with your 6502 computer?

Post by BigEd »

Ah - cartridges - that's another avenue. I once thought I might build a cart with dual-port RAM and two interfaces for this kind of purpose, but never did. A cart made with RAM and a battery backup might also be handy.

Another one, even more obscure, is to user an FPGA-based in-circuit emulator and load code over the command channel - I've seen hoglet doing that, using his Godil-based AtomBusMon.
User avatar
Dr Jefyll
Posts: 3526
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: How to interact with your 6502 computer?

Post by Dr Jefyll »

BigEd wrote:
- direct input at keyboard of a 1980s machine
- serial connection from PC to a 1980s machine
Split the difference, in my case. :) My KK computer originally used a parallel keyboard feeding into one of the VIA ports. (Another VIA port attached to KK's Z80-based homebrew floppy-disk system.) But now the files are on my PC's HDD, and the PC's parallel printer port attaches to the VIA, pretending to be KK's original keyboard.

Great idea for a thread, BTW, Ed!
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: How to interact with your 6502 computer?

Post by BigEd »

Cheers Jeff! So, with your PC acting as a keyboard, you get the PC to type in your programs, as it were? Perhaps you've written a Forth-based XModem implementation?!?

(Edit: In my case, I have an srecord loader written in BBC Basic:

Code: Select all

10DEFFNH:T%=EVAL("&"+LEFT$(A$,2)):A$=MID$(A$,3):C%=C%+T%:=T%
20DEFPROCR:REP.INPUTA$:U.LEFT$(A$,2)="S1":A$=MID$(A$,3):C%=1:ENDPROC
30REP.PROCR:L%=FNH:P%=FNH*256+FNH:FORI%=1TOL%-3:?P%=FNH:P%=P%+1:N.:T%=FNH:IFC%AND255THENP."BADCRC"ELSEU.FA.
)
User avatar
Dr Jefyll
Posts: 3526
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: How to interact with your 6502 computer?

Post by Dr Jefyll »

At present the setup is both kinda cool and kinda clunky. :roll: I do use Forth on the PC, but it's not directly involved for a file transfer to KK. I go to the DOS command line and just < copy thisfile.txt lpt1 >. (No need to actually type that; there's a file-copy utility that does the copy with a couple of mouse-clicks. And IIRC Garth has a similar setup, but he invokes the copy from within his text editor.)

The cool part is how the Strobe output on the PC parallel port simply attaches to CA1 of the VIA, which retains its role as a strobe input. What's new is that CA2 gets sent back to the PC in the guise of a Ready signal from the "printer." Without something like this the speed would have to be limited to the speed of a human typing.

Of course in addition to source files I also want to send actual keystrokes to KK, and to do this I start Forth and run a little loop that sends my PC keystrokes to LPT1. (Who wants TWO keyboards on the desk! The PC keyboard is much nicer to use than KK's anyway.)

The clunky part is initialization. KK still has its original EPROM, which doesn't see the need for handshaking when receiving input from a human. :P So, the VIA initialization is done manually. After KK powerup I type the sequence < F7 4C C! > into the PC window that's running the keystroke-relay loop. ($4C is the address of the VIA's Peripheral Control Register.)
Last edited by Dr Jefyll on Tue Dec 13, 2016 4:13 pm, edited 2 times in total.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: How to interact with your 6502 computer?

Post by BigEd »

I do like a hand-typed bootstrap!
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: How to interact with your 6502 computer?

Post by GARTHWILSON »

Most of this will be a re-run for anyone who has been on the forum very long, but for anyone new, here it is again.

Jeff and I seem to be doing approximately the same thing, although he on a parallel port and I on a serial port.

What I send over the serial port is usually just text, from marked blocks in the text editor on the PC. They could be anything the workbench computer is expecting at that point. Usually it's Forth source code, sometimes assembly-language source code (in the format that my Forth kernel handles), sometimes an Intel Hex file, and rarely maybe something else I'm forgetting. The workbench computer just thinks you're typing this stuff in, lighting fast, without errors, and it handles it as it's coming in, not waiting for the end of the transmission before starting to process it. It could be doing something else at the same time. It doesn't care where it comes from, and although it usually comes from the DOS PC, I have also used my HP hand-held computers. Anything that can send out text on an RS-232 port. I suppose it could even be from a tape modem, as long as intelligible text comes out of it. The host computer thinks it's just sending the text to a serial printer. It wouldn't have to be text, but it virtually always is. I could for example load Forth words (via Forth source code text) for handling a binary file of some sort, then call that, and send the binary it's expecting.

It's hard for people to imagine how simple the method is. I really need to make a video of it. When NightmareTony was here, he kept looking for the "hidden part." There isn't any. No TSRs, nothing else running, etc.. (Wow, I can't believe he's been gone for over four years now!)

I've also sent info back to the PC in the Intel hex format, and used a GWBASIC program on the PC to accept it and put it in a file. My text editor (MultiEdit) has a terminal program that should work just as well or better, but I got accustomed to the other way before I had this editor, and it works, and I don't need to do this part often enough to learn a new way.

A method that came to mind from a post here yesterday was to use an (E)EPROM, assuming you have an (E)EPROM programmer on the PC. It's not as convenient as an SD card, but it sure beats typing and POKEing it all in every time like someone above mentioned.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
KC9UDX
Posts: 246
Joined: 07 Dec 2013
Location: The Kettle Moraine

Re: How to interact with your 6502 computer?

Post by KC9UDX »

BigEd wrote:
What have I missed, I wonder.
I know you covered original floppy drives, but I think this deserves attention: The "tweener."

I have a 1541 connected to an Amiga 2000, which has USB mass storage, CD-ROM, and internet connectivity. I use it to make disks for my Commodore 8-bits. Usually though, I use it to take disks made on the Commodore machines to the outside world.
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: How to interact with your 6502 computer?

Post by BigEd »

That's certainly an interesting extra tactic!
User avatar
BigDumbDinosaur
Posts: 9428
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

How to interact with your 6502 computer?

Post by BigDumbDinosaur »

In POC's case, serial port A is attached to a Wyse thin client (whose operating system is Linux). The thin client runs WYSE 60 terminal emulation, and acts as the system console. The user interface is SuperMon 128.

For communication with the outside world, POC's serial port B is connected to the Equinox SuperSerial (SST) interface on my Linux software development box. As both POC and the Equinox SST hardware are DTE, I arranged serial port B on POC so connection could be made with an ordinary network patch code. So port B is actually xDTE. Data is transferred from the Linux box to POC using Motorola S-records. The data rate on both ports A and B is 115.2 Kbps.

Once I get POC V2 running I'll have two more serial ports (four total), and could connect another terminal to one of those ports and possibly get multiple sessions simultaneously running. Or I could connect a serial interface printer (I have two).
Last edited by BigDumbDinosaur on Thu Dec 15, 2016 2:19 am, edited 1 time in total.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
dolomiah
Posts: 102
Joined: 18 Nov 2015
Location: UK
Contact:

Re: How to interact with your 6502 computer?

Post by dolomiah »

How about joystick for interaction - re-living my teenage years in the 80's !!

So my homebrew has a direct keyboard - an Acorn BBC keyboard, driven through one of the 6522s.

Also, serial through a 6551 connected to my PC USB through an SPIO to USB, and TeraTerm software.

Then there's an SD card breakout board bit banged through the 6522 with FAT16 driver software in ROM.

The joystick is a standard Atari 9 pin, connected to a port on the AY-3-8910 sound chip, which is itself driven through a second 6522 on my board.

I've written some simple games with joystick for input - great nostalgic fun!!
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: How to interact with your 6502 computer?

Post by GARTHWILSON »

dolomiah wrote:
How about joystick for interaction - re-living my teenage years in the 80's !!
I've recently been thinking about this as a compact alternative to a mouse. How is the durability of the pots? I'm thinking of the kind with two pots and no spring-return-to-center. I'm not thinking of the huge ones used for some games, but ones no bigger than what's on the model aircraft radio controls. I would eventually like my 65xx creation(s) to be completely free of the PC.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Post Reply