+OLD CS1 Posted August 16, 2011 Share Posted August 16, 2011 I have to say that I find it pretty neat that he developed at least the demo using the Line-by-Line Assembler. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted August 16, 2011 Share Posted August 16, 2011 Break-down of mm-games.dsk:mm-load program, basically the inverse of mm-save from earlier in the thread. I am not going to go into flow detail (I am not sure if the program is deliberately convoluted or just shoddy programming,) as it is 1) too late for me to type it out and 2) I just wanted a quick "disassembly." As before, I used mmprogs.dsk:mmdisassem to dump the opcodes starting at >7FE0 as LOAD'ed into place by BASIC then called via CALL LINK("A"). This looks like it will be fun to use, and it teaches a little about file loading and saving via ML/ASM/XML. Again, there is a proper way to reserve VDP RAM for buffer and PAB space rather than this static "brute force" method. 100 CALL CLEAR 110 PRINT " MINI-MEMORY LAADPROGRAMMA *************************" 120 PRINT :::::::::: 130 DIM KAR(10) 140 CALL LOAD(28702,127,248) 150 CALL LOAD(32760,65,32,32,32,32,32,127,14*16) >710F (LFAM) >7FF8 >7FF8 "A ", >7F, >E0 160 GOTO 260 170 CALL LOAD(32736,2,0,33,24,2,1,113,24,2,2,14,200,4,32,96,48,4,91) 180 CALL LINK("A") LI R0,>2118 LI R1,>7118 LI R2,>0EC8 BLWP @>6030 VMBR B *R11 Copy V>2118-V>2FE0 to >7118->7FE0 (data areas, only, not workspace, flags, REF/DEF, or area used for copy/load routine.) 190 TEL1=7*4096+15*256+14*16 32736 >7FE0 200 TEL2=2*4096+15*256+14*16 12256 >2FE0 210 FOR I=TEL2 TO TEL2+31 STEP 11 220 CALL PEEKV(I,W0,W1,W2,W3,W4,W5,W6,W7,W8,W9,W10) 230 CALL LOAD(I-TEL2+TEL1,W0,W1,W2,W3,W4,W5,W6,W7,W8,W9,W10) 240 NEXT I Copy V>2FE0-V>2FFF to >7FE0->7FFF 241 TEL1=7*4096 >7000 242 TEL2=2*4096 >2000 243 TEL3=256+24+TEL2 >2118 244 FOR I=TEL2 TO TEL3 STEP 11 245 CALL PEEKV(I,W0,W1,W2,W3,W4,W5,W6,W7,W8,W9,W10) 246 CALL LOAD(I-TEL2+TEL1,W0,W1,W2,W3,W4,W5,W6,W7,W8,W9,W10) 247 NEXT I 250 GOTO 360 Copy V>2000-V>2118 to >7000->7118 (fixes usage workspace usage by utility routines and temporary program.) (MiniMemory RAM >7000->7FFF now contains exact copy of dump file.) 260 INPUT "NAAM VAN DE INPUTFILE ? DSK1.":A$ 270 IF LEN(A$)>10 THEN 260 280 FOR I=1 TO LEN(A$) 290 KAR(I)=ASC(SEG$(A$,I,1)) 300 NEXT I 310 CALL POKEV(7936,5,0,32,0,0,0,16,0,0,5+LEN(A$),68,83,75,49,46,KAR(1),KAR(2),KAR(3),KAR(4),KAR(5)) 320 CALL POKEV(7956,KAR(6),KAR(7),KAR(,KAR(9),KAR(10)) FN=len(FILENAME), FNx=substr(FN,x) V>1F00 >05, >00, >20, >00, >00, >00, >10, >00 V>1F08 >00, 5+FN, "DSK1.", FN1 V>1F10 FN2, FN3, FN4, FN5, FN6, FN7, FN8, FN9 V>1F18 FN10 (V>1F00 opcode >05 = load?) 330 CALL LOAD(32736,2,0,31,9,200,0,131,86,4,32,96,56,0,8,4,91) 340 CALL LINK("A") 350 GOTO 170 LI R0,>1F09 MOV R0,@>8356 BLWP @>6038 DSRLNK DATA >0008 B *R11 360 PRINT "MINI-MEMORY IS NU GELADEN MET DE FILE :";"DSK1."&A$ 370 END (BTW, I installed Xvid x64 but Classic 99 does not detect it. Do I need to use the 32-bit codec?) Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 16, 2011 Share Posted August 16, 2011 (BTW, I installed Xvid x64 but Classic 99 does not detect it. Do I need to use the 32-bit codec?) I can't be sure of that... :/ It's probably not good to install too many codec versions. Quote Link to comment Share on other sites More sharing options...
rocky007 Posted August 16, 2011 Author Share Posted August 16, 2011 thanks for infos and cool video Quote Link to comment Share on other sites More sharing options...
unhuman Posted August 16, 2011 Share Posted August 16, 2011 Any chance someone knows if this Peter Kull compiler has been released to the Public Domain? Or is there contact info for him? Thanks - Howie Quote Link to comment Share on other sites More sharing options...
Eric Lafortune Posted August 16, 2011 Share Posted August 16, 2011 To OLD CS1: the attached disk image with my games seems to work better for me. Rock Runner (with Editor/Assembler module): 2.Editor/Assembler > 5.Run program file > DSK1.ROCK Gridder, Excalibur, Artist (with Mini Memory module): 1.Basic > OLD DSK1.GRIDDER > RUN, then 3.Mini Memory > 2.Run > Enter Thanks to rocky007 for preserving them. I recently found out that my tapes have become unreadable, so I was afraid they would be lost. Looking at them now, the crisp emulator display does shed a harsh light on the simple graphics. I programmed these games with the Line-by-Line assembler, hex coding and a tape recorder, and I figured out the half-bitmap mode by experimenting (patient teenager). The technical analyses by Thierry Nouspikel and by Tursi are awesome. Lafortune.zip 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 17, 2011 Share Posted August 17, 2011 Fantastic! Nice to hear from another pioneer from the old days! Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted August 17, 2011 Share Posted August 17, 2011 To OLD CS1: the attached disk image with my games seems to work better for me. Excellent, thank you! Thanks to rocky007 for preserving them. I recently found out that my tapes have become unreadable, so I was afraid they would be lost. Looking at them now, the crisp emulator display does shed a harsh light on the simple graphics.I always found this to be enlightening. I used to have a black and white TV which did a great job of showing individual pixels. I learned a lot that way. I programmed these games with the Line-by-Line assembler, hex coding and a tape recorder, and I figured out the half-bitmap mode by experimenting (patient teenager). The technical analyses by Thierry Nouspikel and by Tursi are awesome. "Rock Runner" is, IMNSHO, spectacular. It inspires me to pick up a game conversion project I started a long time ago. I am not inclined to mention it here simply because I may not ever get around to it and would rather not stick my neck out just yet. I only made it so far as some basic assembly support routines for BASIC programs. Around the time I got a MiniMemory module I started my move over to the Commodore 64. I was enamored with GEOS and wanted to make something like it for the TI. (Still think TI-GEOS might be pretty cool.) My patience was spent learning 6502 and the internals of the 64, I wonder how far I might have gone with TMS-9900 instead. Never too late for an old dog, and what-not! I am quite impressed with the level of skill around this here forum, and am looking forward to meeting people this November. Hope you stick around here some more; great to have new contributors. Quote Link to comment Share on other sites More sharing options...
OX. Posted August 19, 2011 Share Posted August 19, 2011 a compilation of nice mini memory games... it works on real TI99, but don't find a way to run with classic 99 Works fine with Classic99. I'm trying to get these working with my gamebase project via Classic99, I'm not sure what is happening after the mm-load program has loaded the prog after ** DONE ** for it to return to the minimem menu screen - can you explain please? I suspect your doing some warm reset and then selecting from the minimem menu to execute the prog but if that is true I cannot do this with gamebase as 1. I can't trigger a reset 2. If i do reset even manually I just end up running the mm-load program again as Classic99 re-initiates the send-keys script - so is there another way I could run these through Classic99? OX. Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted August 20, 2011 Share Posted August 20, 2011 (edited) Instead of the boot (after entering BOXING), I tried this CALL LINK("START") I guess the game itself works fine besides the graphics being messed up. It looks like the VDP registers are in TI BASIC instead of Mini Memory(/EA) standard. I guess one could tweak the MM-LOAD to, of course have the CALL INIT and maybe the BOXING, and set the VDP registers (maybe even just using CALL POKEV) to set things right before the last LINK. Unfortunately I haven't got the time to do the work right now. Think it should "rescue" most of the games. Edited August 20, 2011 by sometimes99er Quote Link to comment Share on other sites More sharing options...
OX. Posted August 20, 2011 Share Posted August 20, 2011 (edited) Instead of the boot (after entering BOXING), I tried this CALL LINK("START") I guess the game itself works fine besides the graphics being messed up. It looks like the VDP registers are in TI BASIC instead of Mini Memory(/EA) standard. I guess one could tweak the MM-LOAD to, of course have the CALL INIT and maybe the BOXING, and set the VDP registers (maybe even just using CALL POKEV) to set things right before the last LINK. Unfortunately I haven't got the time to do the work right now. Think it should "rescue" most of the games. Yeah, I'd already tried the Call LINK("START") and got the corrupted graphics on all the games, would something like Funnel Web be able to start these games or could they be converted to run independently of minimem and the loader as I already have some of these games that run from cartridge .bin format? Edited August 20, 2011 by OX. Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 21, 2011 Share Posted August 21, 2011 I'm trying to get these working with my gamebase project via Classic99, I'm not sure what is happening after the mm-load program has loaded the prog after ** DONE ** for it to return to the minimem menu screen - can you explain please? I suspect your doing some warm reset and then selecting from the minimem menu to execute the prog but if that is true I cannot do this with gamebase as 1. I can't trigger a reset 2. If i do reset even manually I just end up running the mm-load program again as Classic99 re-initiates the send-keys script - so is there another way I could run these through Classic99? Try just typing "BYE" after the mm-load program exits? That does a soft reboot from BASIC or XB. Remember you can send a long string of keypresses. Quote Link to comment Share on other sites More sharing options...
OX. Posted August 21, 2011 Share Posted August 21, 2011 I'm trying to get these working with my gamebase project via Classic99, I'm not sure what is happening after the mm-load program has loaded the prog after ** DONE ** for it to return to the minimem menu screen - can you explain please? I suspect your doing some warm reset and then selecting from the minimem menu to execute the prog but if that is true I cannot do this with gamebase as 1. I can't trigger a reset 2. If i do reset even manually I just end up running the mm-load program again as Classic99 re-initiates the send-keys script - so is there another way I could run these through Classic99? Try just typing "BYE" after the mm-load program exits? That does a soft reboot from BASIC or XB. Remember you can send a long string of keypresses. Thanks Tursi, that does the trick Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted August 31, 2011 Share Posted August 31, 2011 Hi ! i attach a file of a game that i do not understand how run it. who can help me ? (toggle the .zip from the file, the original have no extension) CENTYP1.zip Quote Link to comment Share on other sites More sharing options...
OX. Posted August 31, 2011 Share Posted August 31, 2011 Hi ! i attach a file of a game that i do not understand how run it. who can help me ? (toggle the .zip from the file, the original have no extension) The Zip archive is reporting as damaged for me Ciro. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted August 31, 2011 Share Posted August 31, 2011 If you view it with TIDir, you can see that it's an assembly source file. You must add "L1 JMP L1" at the end to actually see something. Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted August 31, 2011 Share Posted August 31, 2011 If you view it with TIDir, you can see that it's an assembly source file. You must add "L1 JMP L1" at the end to actually see something. oh... well... i tried to load this in ea3 or ea5 but always the same error 2. i do not know assembly at the moment... ... you understand if it's a complete program or only a piece ? OX. you must toggle the .zip extension as i explained in my post Quote Link to comment Share on other sites More sharing options...
lucien2 Posted August 31, 2011 Share Posted August 31, 2011 That's just the startup screen of an unfinished game, you don't miss something. Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted August 31, 2011 Share Posted August 31, 2011 That's just the startup screen of an unfinished game, you don't miss something. ok... ... so i will not catalog as a game on my site Thankyou. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.