Programs from The First Book of KIM

Discuss software for the Micro-KIM and KIM-1

Programs from The First Book of KIM

Postby vbriel » Aug Sat 25, 2007 11:41 am

Ok, I'm wondering who has free time to type in some of the programs I didn't get dumped from the first book of KIM, and can post them here? I only had time to do a few of these programs and then I did the paper tape dump like in the Micro-KIM manual. If anybody can help enter some of these, it would be a big help.


Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

Re: Programs from The First Book of KIM

Postby Charly » Aug Sat 25, 2007 1:21 pm

vbriel wrote:Ok, I'm wondering who has free time to type in some of the programs I didn't get dumped from the first book of KIM, and can post them here? I only had time to do a few of these programs and then I did the paper tape dump like in the Micro-KIM manual. If anybody can help enter some of these, it would be a big help.


Vince


Nice idea - could have been from me... :)
Unfortunely, I typed in the same programs like you... But I will join you!
Any wishes / suggestions???
I have "Lunar lander", "VU-tape" and "directory" (both for cassette operation), lotto (not sure if this is the right word, it's german) and a memory test program.
Charly
Charly
 
Posts: 17
Joined: Aug Sat 11, 2007 4:22 am
Location: Germany

Postby daustin777 » Aug Sat 25, 2007 10:23 pm

Paper-tape dump format?
--David Austin-- replica 1 se, CFFA1, MicroKIM, [kits]
daustin777
 
Posts: 54
Joined: Nov Sun 12, 2006 3:03 pm
Location: Southern California

Postby vbriel » Aug Sat 25, 2007 11:19 pm

The KIM-1 (and also the Micro-KIM) has a feature built on to interface to a paper-tape machine. What the subroute does is send or receive a program into a format that looks like this:

Code: Select all
      ;180200A2EACAA56085FBA56185FAA56285F986638464201F1FA6630D37
      ;180218A464E000D0E4F838A90065628562D8C960D0D5F838A900850D59
      ;1802306265618561D8C960D0C6F838A9008562856165608560D8C90CE0
      ;18024813D0B5A9018560C901F0AD205C18000000000000000000000684
      ;0000040004


So, when you want to store a program on your PC with hyperterminal, just set up the addresses for the paper-tape dump mode, and set hyperterminal to capture the text, then execute the paper-tape dump function (command Q) and your program gets stored on your pc as a text file.

When you want to load from a paper-tape, you type in L and then use hyperterminal to dump your paper-tape listing into your Micro-KIM. The Micro-KIM or KIM-1 doesn't know that your PC isn't a papertape machine.

This is how the programs on the Micro-KIM CD were created.

Vince
User avatar
vbriel
Site Admin
 
Posts: 1184
Joined: Jul Tue 19, 2005 12:10 pm
Location: Ohio

More programs...

Postby Charly » Aug Sun 26, 2007 10:58 am

Hi there, here is one of my favourite programs: "Farmer Brown" (page 64):
Code: Select all
;180200A20D866EA9009560CA10FBA20BB560D03BCA10F9E66DA56C0C34
;180218F009C66DC66ED0034C2519AD04174A4A4A4A4AC90690022908B3
;1802300318AA690A856FBDA4028570A9028571A005B1709966008809BC
;18024810F8846CA205B566D013CA10F920401F206A1FC56FD006A50AA9
;1802606C1002E66CC672D01EA9208572A56C300DA20AB55A955BCA0AF3
;180278D0F9865AF009A2F0B56C956BE830F9A97F8D4117A013A2050D5F
;180290B5608D40178C4217E673D0FC8888CA10EF4C0B02AAB0B6BC0CAB
;1802A8C2C808000000000001616140000061514701000063584E00055A
;1802C00000711D411F010063584C4000000000910099970208000004DB
;0000090009



... and the clock- program for european users (24-h-format):

Code: Select all
;180200A2EACAA56085FBA56185FAA56285F986638464201F1FA6630D37
;180218A464E000D0E4F838A90065628562D8C960D0D5F838A900850D59
;1802306265618561D8C960D0C6F838A9008562856165608560D8C90CE0
;18024824D0B5A9008560C900F0AD205C18BD02A5DEA6DF09F0A4E10CD8
;0000040004



...and the memory-test-program (page 122):
Just store "starting page" in 0000 (e.g. 02 for "0200") and "ending page" in 0001 (e.g.15) for "1500". Be careful! "2000" is the same as "0000" - it will overwrite the program! Start program at 0002!
Normally, the 5 KB Memory is from 0000 to 13FF. So, if you enter "02" in adress 0000 and "15" in adress "0001" program tests memory from 0200 to 1500. As expected, it stops at adress "1400", which means this is the first "faulty" adress. But don't worry - everything is allright!


Code: Select all
;1800000204A900A885FA8570A2028672A50085FBA601A57049FF850B2D
;1800187191FAC8D0FBE6FBE4FBB0F5A672A50085FBA570CA1004A20FF6
;1800300291FAC8D0F6E6FBA501C5FBB0ECA50085FBA672A571CA100F73
;18004804A202A570D1FAD015C8D0F0E6FBA501C5FBB0E8C67210AD0F29
;180060A57049FF30A184FA4C4F1C0000000000CE1ECE1ECE9E7E5E09FB
;0000050005



Have fun!
Charly
Last edited by Charly on Sep Wed 12, 2007 3:34 pm, edited 1 time in total.
Charly
 
Posts: 17
Joined: Aug Sat 11, 2007 4:22 am
Location: Germany

Postby jburke71 » Aug Sun 26, 2007 1:09 pm

Here's a list of the programs in "The First Book of Kim", and the ones that we have a papertape dump for...

Recreation Programs

Pg 24: Addition *** Done ***
Pg 26: Asteroid *** Done ***
Pg 29: Bagels
Pg 34: Bandit *** Done ***
Pg 38: Bitz
Pg 40: Blackjack *** Done ***
Pg 46: Black Match
Pg 48: Card Dealer *** Done ***
Pg 50: Chess Clock
Pg 52: Clock
Pg 56: Code Test
Pg 59: Craps *** Done ***
Pg 62: Duel
Pg 64: Farmer Brown *** Done ***
Pg 67: Hi-Lo
Pg 69: HorseRace *** Done ***
Pg 72: Key Train
Pg 73: Kim Nim
Pg 77: Kim-Tac-Toe
Pg 84: Lunar Lander *** Done ***
Pg 88: Multi-Maze *** Done ***
Pg 91: Music Box
Pg 95: Ping Pong
Pg 100: Quick
Pg 101: Reverse
Pg 103: Teaser
Pg 106: Timer
Pg 107: Wumpus *** Done ***

Utilities

Pg 115: Branch *** Done ***
Pg 116: Browse *** Done ***
Pg 118: Directory
Pg 119: HyperTape
Pg 122: Memory Test *** Done ***
Pg 124: Mini Dis
Pg 127: Movit *** Done ***
Pg 129: PLL Set
Pg 130: Relocate
Pg 136: Sort
Pg 138: Super-Dupe
Pg 141: Verify Tape
Pg 141: Vu-Tape


Jason
Last edited by jburke71 on Nov Fri 30, 2007 5:20 pm, edited 6 times in total.
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Postby daustin777 » Aug Sun 26, 2007 8:13 pm

BROWSE - From the Book of KIM
======================

Code: Select all
;180110D8A91385FEA90085FA85FBC6F3D00EA5FDF00A1069A5FAD00F03
;18012802C6FBC6FA20191F206A1FC5FEF0E485FEC915F0DEA200860DB3
;180140FDC910901C86F4C911F001E886FFC912D002E6FDC914D0020DCC
;180158C6FDC913D0CF4CC81D0A0A0A0A85FCA204A4FFD017C6F4100C83
;1801700720631FE6F4E6F4B1FA06FC2A91FACAD0F8F0A90A26FA260EC3
;180188FBCAD0F8F09F20631FAA109900E3A2B7A3EAE722F3E37BE30FB8
;0000060006


Browse is an alternate to KIM Monitor- see The Book of Kim pg 116 for details.

Start address is 0110

+ goes to next address
AD or DA will stop to auto-increment.
PC will auto-decrement thru memory backwards.

To change a value, navigate to the address BEFORE the address of the value you want to change. Enter the value, it'll increment to that address and change the value.
--David Austin-- replica 1 se, CFFA1, MicroKIM, [kits]
daustin777
 
Posts: 54
Joined: Nov Sun 12, 2006 3:03 pm
Location: Southern California

Postby jburke71 » Aug Sun 26, 2007 11:43 pm

Here's the Addition program from Pg. 24. There seems to be a bug in it since you have to hit the C key (which adds 20,000 to your total) before it will allow you to use the + key.

Code: Select all
;180200201F1F206A1FC560F0F68560C90A9029C913F018C912D0E80B14
;180218F818A2FDB5FC756595FC9565E830F58661D810D4A90085610E36
;180230A20295F9CA10FB30C7A461D00FE66148A202B5F9956294F90D91
;180248CA10F7680A0A0A0AA2040A26F926FA26FBCAD0F6F0A200310B26
;0000040004


Jason
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Postby jburke71 » Aug Mon 27, 2007 12:31 am

Here's multi-maze from Pg. 88. Pretty cool little program. I gotta hack this one apart and figure out how they did it.

Code: Select all
;180200E6D020401FD0F9A20726D09017BC0803BD100359DE0299DE0AA5
;18021802C8C8BD180359DE0299DE02CA10E2A202D830D4BDDB02950BB9
;180230D2CA10F8A00BB1D299D8008810F8A20AA4D4A9FF3836D9360D66
;180248D82A88D0F72907A8B9C60295D8CACA10E7C6D5100AA905850CEC
;180260D5A5DE494085DEA97F8D4117A009A20AB5D88D40178C42170B76
;180278C6D6D0FCC8C8CACA10EE20401F206A1FC5D7F0CD85D7A2040E9F
;180290DDCE02F005CA10F830BCCA308DBCD302B9D8003DD702D0B10D4A
;1802A8CA1004C6D4D085D004E6D4D0F8CAD006C6D2C6D2D0EFE6D2112C
;1802C0E6D2D0E9F0F20008404801094149130901060406060408010791
;1802D8084040DA0208FFFF0400F57F150041FE5F04517D5D0451B609C1
;1802F05414F7D504547F5E0100FDFF0000000000000000000000000670
;180308050B101014181710010480108002404002024001100480100326
;00000C000C17F7


Jason
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Postby jburke71 » Aug Mon 27, 2007 9:51 pm

Card Dealer from Pg. 48...

Code: Select all
;180000A206A000948BCAD0FBD8A2348692C89492CAD0FBA592D0030E67
;1800184C4F1CAD0417D00BAD4417D006A5924A186901C5929007F00949
;18003005E5924C2B00A23338F593F003CA10F89593C6928A4A4AA80BDB
;180048B97B0085908A2903A8B988008591206200D0FB206200D0B40AB1
;180060F0F9A97F8D4117A000A208B98C0084FC204E1FC8C00690F30C1B
;1800784C3D1F775B4F666D7D077F6F781E67706D765E39007F00FF0903
;0000060006


Jason
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Re: Program "BRANCH" from The First Book of KIM

Postby Charly » Sep Sun 09, 2007 2:59 pm

This program "BRANCH" is from page 115.
It is fully relocatable. Start at adress 0000 and enter the last two digits of starting adress - then type in last two digits of adress where you want to branch to.
Code: Select all
;180000D818A5FAE5FB85F9C6F9201F1F206A1FC5F3F0EC85F3C9100EB0
;180018B0E60A0A0A0AA2040A26FA26FBCAD0F8F0D60000000000000937
;0000020002

Charly
Last edited by Charly on Sep Sun 09, 2007 3:14 pm, edited 1 time in total.
Charly
 
Posts: 17
Joined: Aug Sat 11, 2007 4:22 am
Location: Germany

Program "Movit" from The First Book of KIM

Postby Charly » Sep Sun 09, 2007 3:12 pm

Program "Movit" from page 127
Code: Select all
;181780D8A0FF38A5D2E5D085D8A5D3E5D185D918A5D865D485D6A51141
;181798D965D585D7E6D8E6D938A5D4E5D0A5D5E5D1A2009002A2021021
;1817B0A1D081D49014C6D29845D2D002C6D3C6D69845D6D002C6D70FB9
;1817C8B00CE6D0D002E6D1E6D4D002E6D5C6D8D002C6D9D0CC00000FE4
;0000040004

Starting adress is 1780. It is fully relocatable so you can move it anywhere.
"Movit" does not calculate any absolute adresses nor branches in the program you want to move. It just moves contents of a memory adress to another.
Enter original start adress of the program to move in D0 (LSB) and D1 (MSB)
Enter original end adress of the program to move in D2 (LSB) and D3 (MSB)
Enter new start adress of the program to move in D4 (LSB) and D5 (MSB)
Think twice before overwriting the wrong memory adresses!
Charly
Charly
 
Posts: 17
Joined: Aug Sat 11, 2007 4:22 am
Location: Germany

Mini DIS (Page 124)

Postby Charly » Sep Wed 12, 2007 3:14 pm

Hi,
this little program will help you to check whether you typed a program correct or not.
Just set the BREAK-Vector to 0300 (i.e. 17FA=00 / 17FB=03, so hitting the "ST"-key will start this program.
If you want to check another area of memory press "RS"-key and type in the desired location. After pressing "ST" KIM will look at the OPCODE and calculate its length, so your display shows something like "..d8..", ".10FB." or "20191F".
"+"-key goes to next instruction (not to next memory adress!)
"PC" shows actual memory-location and OPcode
"B" goes back to previous instruction
On illegal codes, display will flash till you hit "RS"
Code: Select all
;180300D8A2FF9AA000A20994E5CAD0FBE8B1FAC920F03B299FF0350F1B
;180318C992F01AA8291DC919F02C290DC908F024290CC90CF020980A51
;180330298FC902D018E6ECA9FF8D0717A5EC2901F00320191F2C070A14
;1803481730EB10F0E8E88A490785EDA4EEB1FA484A4A4A4AA8B9E70DA6
;1803601F95E5E868290FA8B9E71F95E5E8E6EEE4ED90E020AF03D00F1C
;180378FB20AF03206A1FC90BD00EBAE0FFF0206885FB6885FA4C040C83
;18039003C912D00FA5FA48A5FB4820631FC6EEF0ECD0F7C914D0D10EAE
;1803A820191FF0CCD0F9A97F8D4117A208A00084FCB9E600204E1F0BA3
;1803C0C8C00690F34C3D1F000000000000000000ADADED2DAD2D2D080F
;0000090009

Enjoy!
Charly
 
Posts: 17
Joined: Aug Sat 11, 2007 4:22 am
Location: Germany

Postby jburke71 » Nov Fri 30, 2007 3:00 pm

Well, it's been a while since anyone has added a program to this list, so since I'm in between contracts, I thought I would add something. So here it is...

Hunt the Wumpus =).

Code: Select all
wumpus-msgs1

;18000080EEDCBE80F7D0F98084D480CF80C080F8BED4D4F9B8ED8011C3
;180018B8F9F7DE80F8DC8086DBE6FD800080DCDCF3ED80C080FCBE11E0
;180030B7F3F9DE80F7809CBEB7F3BEED8080000707E406901C00FF0E12
;0000030003


Code: Select all
wumpus-rooms

;180050020200010100030400060700090A0104050301020302050600B5
;180068050809080B0C0B07080403040706070A090A0F0C0D0E0C0A0157
;1800800B0E05060F08090F0B0C0D0E0E0F0D0D80B784EDEDF9DE800740
;0000030003


Code: Select all
wumpus-msgs2

;180100809CBEB7F3BEED80B9B8DCEDF90080F384F880B9B8DCEDF9119D
;1801180080FCF7F8ED80B9B8DCEDF9800080F6F780F6F7809CBEB71127
;180130F3BEED80BDDCF880EEDCBE800080EDBEF3F9D0FCF7F880ED12BF
;180148D4F7F8B9F6800080EEEE8484F9F9F980F1F9B8B88084D48011D4
;180160F384F8800080BDF7ED8084D480D0DCDCB7800080DCBEF8801032
;180178DCF180BDF7ED80008080808080BDD0F9F7F8C080EEDCBE80113C
;180190BDF9F880F780F6BEBD80F1D0DCB7809CBEB7F3BEED8000341176
;0000070007


Code: Select all
wumpus-main

;18020084DE85DDA90785DFA005A205B1DDC900D0016095E888CA100CA5
;180218F3D8189865DF85DC202802A4DC4C0A02A20386DBA9528D070B09
;18023017203E022C071710F8C6DBD0EF60A97F8D4117A000A209B909E4
;180248E80084FC204E1FC8C00690F3203D1F60208C1E203E02D0F80A36
;180260203E02F0FB203E02F0F6206A1FC91510E7608A48D838A5410AB1
;180278654465458540A204B5409541CA10F985C068AAA5C06060A20C0C
;18029004D5CBF003CA10F960207202290FC904300D20B202AD061708E8
;1802A82903AAB5C685CBA5CB60A6CAB55085C6B56085C7B57085C80EC6
;1802C0B58085C960A203D5C6F003CA10F960A001200002A000A9AC0BDB
;1802D82000024CD402A4E0B9E71F859FA000A9902000024C2C03F60A09
;1802F0BEBD80F1D0DCB7809CBEB7F3BEED8000EAEAEAEAEAA9FFA212E4
;1803080E95C1CA10FBA90385E0A0051002A000A205207202290FD5090C
;180320CAF0F5CA10F999CA008810EC20B202A00384E1B9C600208F0CAE
;180338028A3017E0033004A919100AE0013004A90E1002A900A0010641
;180350200002C6E1A4E110DAA4CAB9E71F850CA203B4C6B9E71F950CD4
;18036820CA10F6A00098200002205802C914F04820C50285CA8A30094C
;180380EBA5CAA204D5C1F033CA10F9208F028A309AE0031017E0010C17
;180398101DA000A926200002209902C5CAD084A9264CCF02A001A90945
;1803B03D2000024C1603A94F4CCF02A9654CCF02A000A9B720000207F1
;1803C820580220C50285D18A30EEA5D1A6E095C0C5CBF015C6E0F00EBE
;1803E01AA6CB20B40220A502C5CAF0BB4CDE02EAEAA001A98020000C47
;1803F802F0F7A97320CF0200FF00FF00FF00FF00FF00FF00FF00FF0D01
;0000160016


I ran a number of test runs against these, and everything appeared to work correctly. PM me if you find any bugs, and I'll fix this listing.

Jason
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Postby jburke71 » Nov Fri 30, 2007 5:19 pm

Here's Horse Race. Enjoy...

Code: Select all
;180200D8A213BDD902957CCA10F8A97F8D4117A000A209B97C00840B33
;180218FC204E1FC8C00690F3203D1FA58F30E3A203CA30DED686D00C38
;180230F98699A499B683B9ED02357C957CE89683B9ED0249FF157C0DC4
;180248957CE005302BD006A58FF01BD023A20238B583E9069583CA0BA0
;18026010F6A206B57C9576A980957CCAD0F5C68FD006A5810906850D12
;18027881B98900F00A20C502293CD01A99890020C5022938859AB909C7
;1802908C00300B2938C59AB005A9FF998900203D1FA0FFA6993DF00B37
;1802A802F00188985589859A20C502382901659A18A699758C958C0A93
;1802C095864C2A0238A592659565968591A204B5919592CA10F9600C2D
;1802D80080808080808080FFFFFF80808000000080808008FEBFF70D2B
;1802F0010204F7007F00BF00FE00FF007E00FF00FE00FF00FF00FF0ABB
;00000B000B
jburke71
 
Posts: 25
Joined: Aug Mon 14, 2006 11:34 pm

Next

Return to Software

Who is online

Users browsing this forum: No registered users and 0 guests