6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Apr 26, 2024 1:47 pm

All times are UTC




Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Tue Dec 22, 2020 8:47 pm 
Offline
User avatar

Joined: Tue Dec 22, 2020 8:37 pm
Posts: 9
Location: Munich
Hello,

a few weeks ago I bought a KIM-1 on ebay. Main reason was: sentimentality. I learned programming on a CBM 4032, the "son" of the KIM-1. The device I bought arrived last week, works perfectly and I was even able (with my very reduced electronics know-how) to connect it to my computer as a "tape replacement".

Attachment:
File comment: Here is my KIM-1. It is a Rev. "D" board in white. Condition is great, all manuals original. Even the warranty card and the poster came with it!
IMG_7496.jpg
IMG_7496.jpg [ 2.54 MiB | Viewed 613 times ]


What I have not found anywhere, however: A solution for the following challenge: How do I upload software to the KIM? I use the computer as a tape replacement, I do not have any other interfaces for the KIM. So is the only option to actually enter the listings and then save the program in order to be able to reload it? Or are there other tools around? If so, I have failed to find any.

Which is the reason, why I thought: What I need is a program that simply converts the opcode listings available online into an audio file that I can then read in "normally" via playback from my computer using the built-in load-routine of the KIM-1.

And that's exactly what I did (as a web-based tool where you simply define an ID, start address and the opcodes separated by white space, and you will get back a WAVE file). Was a bit tricky regarding the timing of the pulses and everything, but now it works like a charm. (And I even found out a way to condense the information, so loading is 3 to 4 times faster while being fully compatible). Before I build a dedicated web page for this tool: Did I overcomplicate things and missed a much easier solution?

I would be grateful for any hints. If there is nothing comparable, then I woud love to share the tool with the KIM world.

Best,

Armin

_________________
Check out one of my projects: https://www.retroplace.com, a marketplace for video and computer games!


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 22, 2020 9:16 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Welcome! Sounds like you built a good tool there, and had an interesting adventure doing it. Do please share your work - even if it's not unique, it's still worth sharing.


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 22, 2020 10:10 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3346
Location: Ontario, Canada
Welcome, retroplace -- and great job with the loader!

I suppose there might be something similar out there, but I'm not aware of it (at least not for KIM). I love the idea of creating .WAV files for KIM to listen to! :)

As a related matter, I have heard of a trick that makes loading several times faster. The First Book of KIM (ISBN 0-8104-5119-0) features a program by Jim Butterfield called Hypertape which is an alternative to the original KIM routine for writing to tape. Files written with Hypertape can be read back using the original KIM Cassette Read routine.

And, on a different note, back in the 20th Century I myself build a loader accessory for my KIM-1... and the storage medium was paper tape (!). The device read the paper tape and translated them into fake keypresses on the KIM. :mrgreen:

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 22, 2020 11:35 pm 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 727
Location: Tokyo, Japan
retroplace wrote:
Before I build a dedicated web page for this tool: Did I overcomplicate things and missed a much easier solution?

Well, I'd say you over-complicated it by building it into a web server or browser or both (using curl and relying on an external server in build scripts isn't fun), but other than that, your idea is pretty standard and straightforward. A friend and I have been working on more or less the same thing for the National/Panasonic JR-200, and there are a zillion similar tools out there for other systems. Android and iPhone apps are also popular for this sort of thing, though I tend to prefer creating the WAV file on a computer so I can play it back directly from the computer as well as from a phone, and easily play it back on any phone with standard apps.

Quote:
If there is nothing comparable, then I woud love to share the tool with the KIM world.

Even if there is something comparable, your tool is worth sharing anyway, especially if you make the source available! A lot of the CMT tools out there have no source, and for a fair number of those the author is no longer available, so the only option when you discover a bug or need a new feature is to abandon the program and write your own or find another one. It also can be helpful and informative to others to be able to see how you deal with CMT conversion.

Dr Jefyll wrote:
And, on a different note, back in the 20th Century I myself build a loader accessory for my KIM-1... and the storage medium was paper tape (!). The device read the paper tape and translated them into fake keypresses on the KIM.

That's fantastic! And thanks for the link; I was following that thread months ago, but had somehow lost track of it.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 9:41 am 
Offline
User avatar

Joined: Tue Dec 22, 2020 8:37 pm
Posts: 9
Location: Munich
Dr Jefyll wrote:
Welcome, retroplace -- and great job with the loader!
As a related matter, I have heard of a trick that makes loading several times faster. The First Book of KIM (ISBN 0-8104-5119-0) features a program by Jim Butterfield called Hypertape which is an alternative to the original KIM routine for writing to tape. Files written with Hypertape can be read back using the original KIM Cassette Read routine.
-- Jeff


Hey Jeff,

you bet I have read the work of Jim and just today in the morning I had refined my 3 times faster routine and incorporated his trick to make it even six times faster PLUS I reduced the syn lead-in to 20 instead of the original 100. It works rock solid – so happy. Today I will start coding the page. Once it is finished, I will release it here first.

Best

Armin

_________________
Check out one of my projects: https://www.retroplace.com, a marketplace for video and computer games!


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 10:39 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1398
Location: Scotland
Dr Jefyll wrote:
Welcome, retroplace -- and great job with the loader!

I suppose there might be something similar out there, but I'm not aware of it (at least not for KIM). I love the idea of creating .WAV files for KIM to listen to! :)


I've seen it in the ZX Spectrum world (and possibly others). There are vast libraries of WAV files that are played back from a desktop PC via line-out to the cassette-in interface.

However What they do there is digitise existing tapes - I'm not sure they generate their own from scratch.

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 11:20 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 727
Location: Tokyo, Japan
drogon wrote:
I've seen it in the ZX Spectrum world (and possibly others). There are vast libraries of WAV files that are played back from a desktop PC via line-out to the cassette-in interface.

However What they do there is digitise existing tapes - I'm not sure they generate their own from scratch.

Spectrum also has a TAP format, which is just straight bytes of data as decoded from tape, and TZX format which seems to be basically TAP with a little extra information about how the audio signal was/should be recorded.

For both of these there are various tools that read them and generate WAV file output, such as tape2wav and tap2wav. So yeah, this is all a pretty common thing. You'd think by this point that there would be a common framework for for all of this, since most tape formats seem so decidedly similar in the problems one has to solve, but maybe I'm missing something here.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 11:30 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1398
Location: Scotland
cjs wrote:
drogon wrote:
I've seen it in the ZX Spectrum world (and possibly others). There are vast libraries of WAV files that are played back from a desktop PC via line-out to the cassette-in interface.

However What they do there is digitise existing tapes - I'm not sure they generate their own from scratch.

Spectrum also has a TAP format, which is just straight bytes of data as decoded from tape, and TZX format which seems to be basically TAP with a little extra information about how the audio signal was/should be recorded.

For both of these there are various tools that read them and generate WAV file output, such as tape2wav and tap2wav. So yeah, this is all a pretty common thing. You'd think by this point that there would be a common framework for for all of this, since most tape formats seem so decidedly similar in the problems one has to solve, but maybe I'm missing something here.


I suspect it's just the usual sort of banter between platforms - ye olde 6502 vs Z80 for example.

Also see: https://xkcd.com/927/ (xkcd standards)

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 2:29 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3346
Location: Ontario, Canada
retroplace wrote:
I had refined my 3 times faster routine and incorporated his trick to make it even six times faster PLUS I reduced the syn lead-in to 20 instead of the original 100. It works rock solid – so happy.

Ha! Nice to know you're having so much fun, Armin! And hey -- belated congratulations on your purchase of the KIM-1! :) Such happy news, to hear that a faithful KIM has found a loving home!

And you say it came with the original manuals? Another great treasure -- those books are PURE GOLD. Five-star educational material! And it's because they were written with so much care. The unsung hero was Chuck Peddle, as I explained here.

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 3:42 pm 
Offline
User avatar

Joined: Tue Dec 22, 2020 8:37 pm
Posts: 9
Location: Munich
Dr Jefyll wrote:
retroplace wrote:
I had refined my 3 times faster routine and incorporated his trick to make it even six times faster PLUS I reduced the syn lead-in to 20 instead of the
And you say it came with the original manuals? Another great treasure -- those books are PURE GOLD. Five-star educational material! And it's because they were written with so much care. The unsung hero was Chuck Peddle, as I explained here.
-- Jeff


I could not agree more!

_________________
Check out one of my projects: https://www.retroplace.com, a marketplace for video and computer games!


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 23, 2020 4:19 pm 
Offline
User avatar

Joined: Tue Dec 22, 2020 8:37 pm
Posts: 9
Location: Munich
Coding is done – see the first version of the tool here:

https://www.retroplace.com/en/kimposer

_________________
Check out one of my projects: https://www.retroplace.com, a marketplace for video and computer games!


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 25, 2020 4:19 pm 
Offline
User avatar

Joined: Tue Dec 22, 2020 8:37 pm
Posts: 9
Location: Munich
Good news ahead: I have upgraded KIMposer, so it now can also handle assembler listings, ie. simply copy/paste any assembler listing for the KIM and you will get an audio file that you can easily transfer.

_________________
Check out one of my projects: https://www.retroplace.com, a marketplace for video and computer games!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 23 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: