Home Page
Posted By: Dagarman Kim-Venture - 04/13/21 11:05 PM
Kim-Venture was a program for the Kim-1 computer.

The author requested that his vintage program be archived. I uploaded the manual and cassette to archive.org.

It is not added to the software list because I couldn't get it to load in MAME. Robert Leedom provided 2 dumps using audacity but neither worked. I don't know if it is a bad dump or a problem with MAME but it is noted here for archival purposes.
Posted By: Robbbert Re: Kim-Venture - 04/14/21 03:17 AM
KIM-1 cassettes have a file number, which must be specified before the tape will load.

The official numbers for this program are A1,A2 and A3 (the program consists of 3 parts), but if this tape is a copy the numbers might be different.
Posted By: Golden Child Re: Kim-Venture - 04/14/21 09:26 AM
[Linked Image from i.imgur.com]

I loaded the kimventure wav and compared it with the micro chess wav and it doesn't look anywhere near as "clean" as the microchess wav.

One thing that could be done is to manually enter the program from the manual (looks like it's all there) and save it out to cassette inside mame.

(You could use the debugger to enter it in faster than doing it from the kim keyboard or even a load command from a file)
Posted By: Dagarman Re: Kim-Venture - 04/14/21 06:56 PM
I typed in microchess and used MAME to create the cassette as an exercise in creating a software list. That is why it is more “clean”

I don’t want to do that with kim-venture until I rule out an emulation problem.

At some point i’ll use the debugger to se what if anything is loading.
Posted By: Golden Child Re: Kim-Venture - 04/14/21 07:28 PM
It looks like the wav is possibly too "quiet". I tried to amplify it in audacity but it didn't seem to help.

Zooming in looks very very nondescript in the quietest areas.

I would think that the peaks would stay relatively constant along the whole track instead of getting progressively quieter.

(course I know very little about kim and cassettes so take it with a grain of salt)
Posted By: Golden Child Re: Kim-Venture - 04/15/21 12:34 AM
One thing you might try is a kim conversion utility:


http://retro.hansotten.nl/category/kim-1/page/5/

http://dxforth.mirrors.minimaltype.com/#kimtape


KIMTAPE v0.5 - tape conversion utility for KIM-1 and SYM-1 (2004-05-17)

Similar to the KCS utility for Kansas City Standard tapes, KIMTAPE allows programs stored on cassette tape to be
decoded to a program file. It handles both MOS Technology KIM-1 and Synertek SYM-1 tape formats including
HYPERTAPE. The reverse process - converting a program file to an audio wavefile is also possible, allowing one to
produce perfectly regenerated cassettes. KIMTAPE works with 8-bit mono WAV, VOC or RAW audio files recorded
at 22050 samples per second.

Download: kimtap05.zip (MS-DOS)
Posted By: judge Re: Kim-Venture - 04/15/21 07:33 AM
Does playback of that wav work on the real thing? If so, we should make it work in the emulation as well.
Posted By: Olivier Galibert Re: Kim-Venture - 04/15/21 09:41 AM
Do you know if the kim has some hardware filtering of the input signal?
Posted By: Golden Child Re: Kim-Venture - 04/15/21 02:15 PM
Schematic showing the audio input:

http://www.zimmers.net/anonftp/pub/cbm/schematics/kim-1/kim.gif



Cool video on the KIM-1 and its capabilities, loading from cassette demo and serial demo with loading from papertape format:

Posted By: Olivier Galibert Re: Kim-Venture - 04/15/21 02:54 PM
Oh wow, a pll and a comparator. That's serious quality filtering you're having there.
Posted By: Dagarman Re: Kim-Venture - 04/16/21 02:58 PM
The 5K potentiometer is part of the audio cassette interface circuits. I don't know if it is required for the emulation.

I didn't think to ask the author that submitted the .wav file to try it on his kim-1 but I will ask him and hope he still has working hardware.
Posted By: Olivier Galibert Re: Kim-Venture - 04/16/21 04:26 PM
The potentiometer is used to tune the free running frequency of the pll between 1900Hz and 6200Hz. It should be set so that it's in the middle between the two frequencies the kim actually uses.

It's a seriously complicated circuit to simulate, and it's part of the code I don't want to look at at this point. But it explains the system being able to pick up data from an otherwise not so nice audio file.
Posted By: Olivier Galibert Re: Kim-Venture - 04/16/21 04:37 PM
FYI, the two peaks seem to be a 2500 and 3600Hz, so the potentiometer is probably set around 2270 ohm, giving a 3050Hz frequency.
Posted By: TechnoBob Re: Kim-Venture - 05/18/21 03:37 AM
I'm the KIM-Venture author. Didn't get my KIM-1 working (got a bad 7-segment LED) so I could try loading the files from cassette, but I did manage to transcribe the binary files. Checked them over pretty well, I think; used an online disassembler to verify the binary creates the same code as in the listing--but remember that the original code was hand-assembled, so there's an element of mental bootstrapping here... (I had no assembler back in the 1970s.)

I'm new to this forum, and not sure how best to supply the text files of the binary so others here can try it on a KIM simulator. Suggestions?
Posted By: Robbbert Re: Kim-Venture - 05/18/21 04:36 AM
This forum doesn't permit uploading of anything, so you'll have to link to them on another site.
Posted By: TechnoBob Re: Kim-Venture - 05/19/21 03:53 AM
Originally Posted by Robbbert
This forum doesn't permit uploading of anything, so you'll have to link to them on another site.

OK, then, here's a Dropbox link to the Word doc containing the binaries for the three files: https://www.dropbox.com/s/vawy3j81dpwzk52/KIM-Venture%20program%20segment%20binaries.docx?dl=0

Hope somebody can check them out on a KIM sim and tell me if the can get KIM-Venture to work.
Posted By: Robbbert Re: Kim-Venture - 05/20/21 01:32 AM
Thought I'd try this out. Firstly, the cassette sounds like it was done by using a microphone up against a speaker. That never works, and it didn't work this time either. The recording AGC made almost all of the sound practically inaudible.

So, I used the word document, and copied the bytes to Notepad, inserted the paste codes, and used the paste facility to upload them into the kim1 emulation.

Now we come to limitations of the manual. It says how to start the game, but there's nothing about what should happen next, what kind of displays to expect, or how to play it.

So I started the game, the display went blank for a while, and when I came back it said 0000 84 - whatever that may mean.
Posted By: TechnoBob Re: Kim-Venture - 05/20/21 02:53 AM
Sorry! A glaring oversight on my part!

I have to track down the Game Instructions that were written by the folks that arranged to publish KIM-Venture for me in a marketable package. They took my explanatory info and created something they thought was more entertaining. I will find, scan, and link to those pages here shortly.

(But "0000 84" doesn't look promising...)
Posted By: TechnoBob Re: Kim-Venture - 05/20/21 03:36 AM
Here's a link to the KIM-Venture game instructions. https://www.dropbox.com/s/buvaqwpp233b1rw/KIM-Venture%20game%20instructions.pdf?dl=0
Note that extensive use is made of the programmer's ability to independently control each of the segments of the KIM-1 display, thus allowing "text-like" information to be presented to the user/player.
For example, "You are in a forest" would be shown something like this:

First the display would show (trying to imitate 7-segment displays here...)
" u r in"
followed by a second display,
"ForESt".

Then, to prompt for the user's next input, the display would show just a question mark (this would look like a numeral "2" without the horizontal bottom line)...
" ? "
Posted By: Robbbert Re: Kim-Venture - 05/20/21 05:04 PM
I guess it isn't working, or there's a mistake in the word doc ... it's hard to say.

The manual still doesn't say what should appear at first start. Further, if you happened to miss the text and only saw the "?", how would you get the text back?
Posted By: MrBogi Re: Kim-Venture - 05/20/21 06:29 PM
i would have guessed hitting B would "reiterate what it knows" but not really sure if that works in all cases
Posted By: TechnoBob Re: Kim-Venture - 05/21/21 12:33 AM
Originally Posted by MrBogi
i would have guessed hitting B would "reiterate what it knows" but not really sure if that works in all cases

You are correct. However, that is not made explicit in the instructions, so that the player will be in the "what do I do now?" state, and will experiment with the commands, and will discover that the "B" key does exactly that. That's part of the fun of adventure games.

The big problem for me now is that there's an error of some sort that's preventing proper operation. Can someone suggest how I can run a debugging process (e.g., KIM sim with breakpoint and single-step capability)?
Posted By: R. Belmont Re: Kim-Venture - 05/21/21 12:42 AM
Run MAME with -debug. You'll have single-step, breakpoints, memory breakpoints, and a lot more.
Posted By: Robbbert Re: Kim-Venture - 05/21/21 02:29 AM
Since the cassette is not usable, you can try the paste to get the data in. On my computer the default paste key doesn't work, so I moved it elsewhere. You might need to do the same thing. Fortunately the kim1 has a lot of spare keys, so it shouldn't be hard to find a suitable one. Here's your word document turned into paste codes. You can paste in one section at a time, or all 3 at once. It takes a while to run though.
Code
-0000=84^EF^A0^00^A9^7F^8D^41^17^A2^09^84^FC^B9^F0^00^20^4E^1F^C8^C0^06^90^F3^20^3D^1F^20^6A^1F^A4^EF^60^77^39^5E^79^76^06^38^54^5C^50^6D^78^1C^00^40^7C^71^3D^1E^37^73^3E^6E^53^08^5B^00^00^00^00^00^FF^EC^00^00^00^0B^FF^00^00^00^00^03^00^02^04^08^10^20^40^80^34^00^2B^BE^DC^43^E4^25^22^1C^46^8C^89^B5^E7^D7^AE^06^09^11^18^D3^3C^4F^38^7B^AB^DB^70^52^93^EF^6A^28^73^9B^EB^56^5D^82^F3^88^3F^4E^43^4C^4D^52^50^00^94^11^4A^45^03^95^05^4B^45^96^02^4B^8F^10^44^06^80^50^49^05^02^04^81^0A^4A^43^82^52^47^52^07^83^70^41^48^84^61^46^4F^85^21^55^54^86^00^87^0C^4E^42^89^2E^57^4B^56^40^8A^0C^54^41^01^8B^0F^49^57^55^56^8C^30^52^53^8D^2A^51^50^46^8E^0D^43^4D^47^97^09^49^4B^90^20^4C^91^35^4D^53^4C^46^92^20^48^93^33^4D^51^52^44^9F^00^9F^

-0100=D8^A5^45^85^45^A2^7B^E8^E8^B5^00^10^FB^86^42^29^1F^C5^45^D0^F2^09^A0^95^00^B4^01^29^01^AA^84^3B^B4^5F^20^B3^02^A6^45^B4^65^20^B3^02^A6^45^CA^D0^12^AD^06^17^29^0F^AA^85^46^BD^E7^1F^85^3C^A0^8F^20^B3^02^A9^0B^4C^00^02^A6^41^E6^4C^D0^02^F6^01^A0^FC^20^B3^02^C9^06^B0^03^4C^A5^17^C9^0B^90^E8^F0^9E^C9^0F^90^DF^D0^E8^A9^53^85^3C^A0^9E^20^B3^02^A0^E1^C5^46^D0^D1^A9^03^A6^45^F0^2A^A9^00^E0^05^B0^3B^CA^F0^DA^EE^3D^00^D0^1C^A6^42^B5^01^A0^FF^C8^4A^90^05^E8^C4^F7^F0^09^C0^05^D0^F3^A0^F7^4C^22^02^B5^01^29^1F^4C^03^01^A4^49^A5^45^88^F0^11^88^F0^21^A2^07^88^F0^24^A2^05^88^F0^1F^A0^85^D0^DE^C9^08^D0^F8^A5^40^F0^F4^C8^84^40^A0^BD^20^B3^02^4C^7F^02^C9^06^D0^E5^A9^0D^10^CA^E4^45^D0^DD^B5^4F^D5^65^F0^D7^95^65^8A^10^BB^A6^3F^B5^01^95^00^E8^E0^EF^D0^F7^60^38^E9^0D^AA^4A^29^01^A8^49^01^85^43^E8^86^55^20^80^17^84^48^F0^0F^A6^55^D0^0E^A5^47^C9^04^D0^08^A0^FA^20^B3^02^4C^48^01^B4^62^20^B3^02^C6^48^30^F4^A4^44^84^3F^B6^00^86^49^B4^57^20^B3^02^A4^55^30^04^C9^15^D0^04^C6^44^D0^E3^88^30^05^F0^29^4C^AA^01^A0^F7^A6^49^CA^D0^08^A5^3E^29^28^C9^20^D0^BF^8A^30^BE^E6^47^A5^3E^15^4D^85^3E^20^90^17^C6^41^20^EC^01^A0^4C^D0^AA^E6^41^20^90^17^E6^3F^C6^47^A6^49^A5^3E^38^F5^4C^85^3E^20^EC^01^A5^40^1C^E3^A6^49^CA^D0^DE^A5^45^C9^08^D0^D8^A9^85^85^3F^86^40^A9^05^8D^BD^03^A0^BD^20^B3^02^F0^C1^18^8A^65^4A^A8^84^4A^A2^00^A0^00^86^FE^86^FD^18^B1^4A^48^6A^4A^4A^4A^F0^32^C9^01^F0^34^AA^B5^1F^A6^FD^95^F0^68^E8^86^FD^29^0F^C9^01^F0^26^AA^B5^1F^A6^FD^95^F0^C8^E8^E0^06^90^D2^A0^C0^20^00^00^20^00^00^88^D0^F7^A6^FE^D0^B6^60^68^85^FE^C8^10^BC^68^10^DA^C8^38^B0^B8^35^88^2B^05^16^EB^16^85^AB^23^85^03^FB^54^FF^BA^A1^5F^07^CD^A9^5F^16^52^B8^CD^51^6C^F3^21^35^F1^27^85^F3^6E^D5^05^11^B7^41^35^08^23^BA^CC^0C^FA^16^59^F1^3E^88^18^04^CD^55^8F^13^B2^D5^FB^A1^65^F1^3A^84^F3^21^35^F4^A9^5F^2F^6A^85^07^FD^71^36^DE^99^58^FC^62^12^DF^05^1B^10^79^36^04^FC^87^DF^09^79^FD^65^0D^A1^8C^D5^BF^08^CD^B5^21^51^AF^16^7D^F1^01^15^4F^04^BA^18^28^F6^28^8F^2F^13^85^9A^F1^4A^18^EF^BF^2D^EF^BF^79^08^2F^C7^13^91^AF^16^7D^07^FC^21^8C^F2^DD^73^05^15^21^37^3F^05^11^ED^DA^9F^F7^CF^1D^F6^AE^C5^FE^C5^F1^07^62^8D^54^7F^C5^51^06^11^18^FD^65^0E^4B^21^3A^9F^04^C3^2B^54^09^AE^DF^11^18^04^F5^2D^CF^0D^87^DD^85^0F^F1^18^E5^F4^BA^16^10^04^F1^17^B4^FB^AA^15^F4^59^FF^BA^4F^32^BB^18^10^C1^AF^16^7D^13^BA^DD^AF^12^AB^5C^DF^32^99^AD^6A^17^F1^9F^FF^1C^

-1780=B6^41^A0^FF^E8^86^44^B5^01^0A^30^F8^C8^90^F5^60^A4^43^20^80^17^A2^EE^B5^00^95^01^CA^E4^44^D0^F7^A5^49^95^01^60^A8^84^F7^A6^45^B5^65^D5^4F^F0^08^E0^05^F0^24^E0^07^F0^22^E0^0C^D0^04^A5^47^D0^18^E0^03^D0^04^A5^3E^30^11^E0^08^D0^15^A5^40^F0^11^88^F0^0E^A0^B1^4C^22^02^88^88^C0^03^D0^03^4C^20^02^4C^8B^01^
Posted By: TechnoBob Re: Kim-Venture - 05/21/21 03:12 AM
Originally Posted by R. Belmont
Run MAME with -debug. You'll have single-step, breakpoints, memory breakpoints, and a lot more.
Well, now I have to admit that I know very little about MAME. I will need to leave for a while and do a lot of homework -- and get a KIM-1 emulation running in MAME on my Mac -- before I can offer my KIM-Venture game to everyone. Is there a consensus on the best MAME version for MacOS?

Originally Posted by Robbbert
Since the cassette is not usable, you can try the paste to get the data in. On my computer the default paste key doesn't work, so I moved it elsewhere. You might need to do the same thing. Fortunately the kim1 has a lot of spare keys, so it shouldn't be hard to find a suitable one. Here's your word document turned into paste codes. You can paste in one section at a time, or all 3 at once. It takes a while to run though.
Thanks! I hope I get to the point where I can make use of your "Word-into-pastecodes" service!
Posted By: Just Desserts Re: Kim-Venture - 05/21/21 06:40 AM
Originally Posted by TechnoBob
Is there a consensus on the best MAME version for MacOS?

Yes, the latest. MAME compiles out-of-the-box on recent Linux distributions and macOS versions, and can be trivially compiled on Windows. R. Belmont himself is a Mac user. smile

I'm not sure what the minimum version of macOS and Xcode is that will happily compile MAME, though, as finding documentation on the MAME website is a bit difficult, as there are multiple different sections with little clear indication as to what information is in a given section.
Posted By: R. Belmont Re: Kim-Venture - 05/21/21 11:36 AM
I believe 10.14 is the current minimum macOS version, and then whatever the latest Xcode version for that OS version is should be fine.
Posted By: TechnoBob Re: Kim-Venture - 05/22/21 05:10 AM
Originally Posted by Just Desserts
Originally Posted by TechnoBob
Is there a consensus on the best MAME version for MacOS?
Yes, the latest.
Originally Posted by R. Belmont
I believe 10.14 is the current minimum macOS version, and then whatever the latest Xcode version for that OS version is should be fine.
Good. I'm at 10.14.6 (Mojave) and holding. Thank you both.
Posted By: tlindner Re: Kim-Venture - 05/23/21 06:48 PM
I'm still on 10.13 and compile fine.

Quote
iMac:~ tlindner$ clang -v
Apple LLVM version 10.0.0 (clang-1000.10.44.4)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
iMac:~ tlindner$
Although fellow devs are itching to use more advance C++ features which will necessitate upgrading soon.
© Forums