Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/14/2023 in all areas

  1. I need to go through the entire thread (oh dear, over 56 pages at 25 posts per page) and add some of the questions and answers to the first post. I am also going to create a 2600+ forum in the 2600 forum and start moving some threads into that, and likely will create a "Homebrew Compatibility" thread for the 2600+ that can be updated as homebrew games are tested (and obviously I can test AtariAge-related titles). ..Al
    9 points
  2. Bot & Tom will see its physical debut at this year's Portland Retro Gaming Expo! Here's a preview of the box, created by @Atariboy2600 : If you're not able to make it to the show, Bot & Tom will be available in the AtariAge Store after the show. ..Al
    8 points
  3. Is it time yet??? Too soon???
    8 points
  4. Best writeup I've ever seen done was the Pac Man Dossier. Pretty sure it's offline now, but I saved it. PacMan Dossier.zip
    7 points
  5. You're kind of new to be picking fights with other users. I've been here for twenty years so people are more tolerant of my crap, but charging out of the starting gate with guns blazing is probably not going to work out for you.
    7 points
  6. To the benefit of those people who aren't seasoned assembly programmers we should perhaps add that the address @Rxx*2(R13) works because the CPU doesn't want to see instructions like INC R4, but really wants INC 4. To make it more readable, the assembler program knows to replace R4 by 4 at assembly time. In this case, since R13 in the subprogram's workspace is a pointer to R0 in the caller's workspace, we use the symbolic indexed addressing mode in reverse. We let the index be the main address and the symbolic be the index. To reach the caller's R0 we can simply use *R13, but to reach the fourth register (R4) we need to index four registers down. But @4(R13) doesn't work, since each register is two bytes long. So @4*2(R13) works, and can be written as @R4*2(R13). Note that there's no speed penalty when executing @R4*2(R13), since the assembler will do the conversion at assembly time. At execution time the CPU will see @8(R13). When discussing readability for assembly programs, let's also mention that it's sometimes wise to use names for registers, instead of just Rxx. If you need a stack pointer and a frame pointer, you can write SP EQU 10 FRAMEP EQU 9 The you can pop the stack by a MOV *SP+,R2 and add the tenth variable in your data frame to the value currently at the top of the stack by A @10*2(FRAMEP),*SP. Don't be afraid of using complicated instructions! The TMS 9900 architecture favors using fewer instructions due to using complex address calculations over a larger number of simpler instructions to accomplish the same thing.
    7 points
  7. I feel good knowing that I helped make these packages more rare when I ripped my MBX carts out of the boxes and threw them out.
    7 points
  8. I've worked on it here and there over the past few weeks, and posted a few more betas onto my website & GitHub. Sorry for not posting about them here on AtariAge! Still no new levels yet; just the four you've already seen. Here's a list of what's changed since "beta 2" (which posted in this thread a few weeks ago), and "beta 5" (attached to this post), if you're curious: Gameplay: Lose 3 workers and the game ends. Score deduction when crates are destroyed by fire, too (not just ax). Hint to player to push door to initial exit countdown Exit countdown (when pushing into door) dropped from 5 to 3 (h/t Will) Bonus tally timing made consistent (regardless of score added) Title screen: Reorganized/updated instructions on title screen (h/t @rdefabri & @Beeblebrox) Improved [Select] key repeat for level select High score: High score initials input at end of game (joystick and keyboard both supported) High score(s) recorded (top-10, saved to disk, in disk version) (TNFS server / FujiNet high score capable!) High score table screen (disk version) (access via [H] on title screen) Help screen: Ability to page backwards Added numbering & indentation to documentation Bugfixes: Score deductions (e.g., crate destruction) with a very low score (e.g., 000000) could cause score to wrap around to a crazy high value. Misc: Level data is compressed Disabled attract mode. Character set (font) improvements Aside from adding many more levels & playtesting, the only main "TODO" item I have is to add a 'grace period' between workers dying. If you have a bunch of them all near fire, you could easily lose three very quickly, causing the game to end. (It's one of those "stacking the deck" or "load the dice" tricks we do to help, or hinder, the outcome for the player. 😈) firefighter-0.1-BETA5-2023-09-13.zip
    6 points
  9. For those in my Intellivision Invasion group in Facebook may have seen this before. My collection is not 100% complete and most of this can be found on various sites but I tried to make it an all in 1 source. There are plenty of magazine scans of 80s video games magazines, Catalogs Scans, Newspaper scans of any mention of Intellivision I could find including some of the earliest store advertisements I could find. Also manual and overlays scans. Plus lots of pictures that have no context. I'm sure more could be added. Some of the stuff is in folders and some is not. https://drive.google.com/drive/folders/1RVsDcpcXvH3F-1rT-kK9argWbdvD8sA2
    5 points
  10. For further discussion, we have just created a new club. Everybody can join! Please try to stay on topic or create new topics where required.
    5 points
  11. I plan to drop a new demo this weekend. I think ZPH will be previewing it on the Friday stream, so just after (or Saturday) for the demo!
    5 points
  12. Hello. This is to advise the community that my web host is withdrawing their service from the end of October 2023. If there is anything on my website you need to stash, now is the time to do it. I am entirely happy for anyone to copy any content to their own web site that they may wish. If there is anyone on here who can post to the data/media side of archive.org, please do feel free to parcel up my web site and add it to archive.org in any way they see fit - the archive.org requirements for adding content are above my head. Suitable "collections" to add to would seem to be: Texas Instruments TI 99/4a Books Vintage BASIC Games: TI-99/4A Folkscanomy Computer: Books on Computers and Programming Computer Magazines I will make every effort to ensure that all the pages and content of my website are backed up on web.archive.org by mid October- alas the web archive is not searchable- to see the archived pages just add "https://web.archive.org/web/202309/" before the original URL, that is instead of: http://shawweb.myzen.co.uk/stephen/TI.htm you would need to type in : https://web.archive.org/web/202309/http://shawweb.myzen.co.uk/stephen/TI.htm. If you have any bookmarks to any part of my site please adjust the URL to now include the web.archive.org prefix as above. Make sure the date in the url you type is 2309 to ensure you see the latest version. The page returned will indicate in its url the date the page was actually grabbed. The main parts of the website are: http://shawweb.myzen.co.uk/stephen/TI.htm - the main TI entrance page. http://shawweb.myzen.co.uk/stephen/stainless1.htm - a big section listing the programs offered by Stainless with screengrabs and the magazine reviews. http://shawweb.myzen.co.uk/stephen/articles.htm - lots of articles and extra sources. Scans of the user group magazines are already to be found on the wht website. http://shawweb.myzen.co.uk/stephen/book.htm- the book what I wrote. (safely on pixelpedant but without the correcton sheet) http://shawweb.myzen.co.uk/stephen/pc99dsk.htm - disks for pc99 and v9t9 emulators (the UK disk library is safely stashed in wht already) Feel free to explore the rest of the website- there is a wide range of unique material including radio history, music, and some real oddities. Note: I cannot read nor reply to DMs via this forum- my computers and browsers are too old and as a pensioner I really can't be replacing everything every year. Any web host that does not support FTP is out of my league. with best wishes Blackbox
    5 points
  13. @ColecoGamer @Reaperman @retrorussell @Darrin9999 @Punisher5.0 @Madwindoman @GoldLeader @wolfy62 @Stage_1_Boss @bent_pin @Rick Dangerous @Mikebloke @Steril707 @Tanooki @M-S @INTVCruise @Cobra Strike Down @SpicedUp! @Franjo @NeoPancho @aduffy1976 @SlidellMan @Serguei2 @DJ Clae @neogeo1982 @electricmastro @evilevoix @ECWfan @eightbit @128Kgames @masschamber @joeatari1 @doctorclu @SoundGammon @MarkoCG77 @atarian63 @Atarian7 @Songbird @Hwlngmad @roots.genoa Hi guys, Yo-Yo-Shuriken is now available for the AES. The MVS version will be offered in the near future. Here's the PM messages I received from our friends @drludos and @japangameonline on the latest on Yo-Yo Shuriken. We hope you take interest on ordering the game and show support for our AtariAge members for what they do for the community. drludos 289 Replied: 10 hours ago Hi Charlie The AES version of the game is live and available for sale! https://www.ebay.com/itm/235200451697 If everything goes well, Antonio will also do a MVS version later, with a "Shockbox" like the AES one. Regarding number, the AES version is numbered and limited to 50 units maximum. But as Antonio manufactures them by hand, he first built a 20 units batch. If it sells, he'll do 10 more units, and so on until he reaches 50. So the game may be limited to 20-50 units in total. I hope you'll enjoy it! japangameonline Replied: 19 hours ago Hola Antonio I send you final photos of yo-yo shuriken I only have 5 units and next week I have 10 more units. I send you photos so you can upload it in the forum, I will put it on my website next week when I have the stock of 10 pcs Anthony...
    5 points
  14. Wade Rosen! (looks behind him, notices Wade Rosen tapping a baseball bat in his palm) Uh oh.
    5 points
  15. I noticed that too. “Atari VCS isn’t in retail. We are,” Tommy would say, even though neither company had anything in retail when he said it. Atari VCS would eventually be in stores for a brief period of time, Amico died without explanation. This came up in the Theranos trials, where Elizabeth Holmes suggested it was commonplace in Silicon Valley to speak on such aspirational terms, using present tense when you hadn’t actually accomplished what you said you were doing. “Fake it til you make it” is the common term for this. Obviously Tallarico only finished the first part. https://www.deccanherald.com/business/theranos-verdict-sends-a-chill-through-startups-1068141.html
    5 points
  16. For anyone comparing to the 32x Ressurection 3.1 port (And they've done a kick-ass amazing job on that! Hats off guys!) 32x 3.1: Jaguar Slayer: Looks like they're running the JagDoom WADs.
    5 points
  17. Dip switches can be annoying, especially if you have large fingers like me. Back in the 80s, XONOX found a low-tech way to put multiple games on cart, the Double-ender: So I present the 4-ender And 10-ender for the 10-in-1 games, it comes in a pizza box
    5 points
  18. A bold plan. Keep it up, so when the robots take over they will think we are too dumb to be threats.
    5 points
  19. Sorry for not being more informative about the status of the game, but I was waiting for things to get on track. I can say that I've seen today the preliminary cover art and it is looking gorgeous. You'll be surprised about who is doing the cover art. *ba dum tss* PRGE visitors will be able to try Akalabeth at the Atariage booth. Indeed, Atariage will have an Intellivision console at the booth! Edit: I forgot to tell: We have the blessing of Richard Garriott for it.
    5 points
  20. I am currently working on a new project which is in an early WIP/PoC phase (I even haven't come up with a name for the project). Proposals for a project name can be found here The story behind this project is that I never liked the approach of the retron77. I always thought that it can be done better. When Atari announced the 2600+ with the same "wrong" approach I decided to test if my idea of doing a better device is feasible. For my testing I use a Raspberry Pi 3B+ connected to a breadboard, but something similar should be possible with the CPUs used in the Retron77 or the 2600+. I have developed a special driver for Stella to connect the cartridge to the CPUs I/O and emulate a 2600 directly using the cartridge without dumping it. If the driver handles the communication and the timings with the cartridge exactly like a real 2600 would do, a 100% of all bankings (even future bankings) and cartridges will work on this setup. @Thomas Jentzsch, @MarcoJ and @DirtyHairy have supported me with ideas to improve the driver. Currently we are at about 85% of the emulation speed. Current status is: Every std. banking cartridge seems to work (2K, 4K, F8, F6, F8SC tested) Decathlon cartridge (FE banking) doesn't work (Stella debugger shows that the bank doesn't switch on a JSR) PlusCart seems to be fully working (including exit and PlusROM functions. See compatibility list below) GameLine cartridge shows briefly the intro message and then crashes or starts to puls dial. I think it might be an voltage issue here, because the Raspberry Pi shows a "Low Voltage" warning SuperCharger doesn't work I don't have a DPC+ or CDFJ cart to test. Here is a compatibility list for all bankings tested mostly on the PlusCart, because I don't have the real cartridges: https://forums.atariage.com/topic/354860-compatibility-list-for-all-bankings/ Software/hardware list for the breadboard setup: Raspberry Pi 4 Pi OS with VS-Code and the SDL2 development libs The latest code from the Stella GIT repository. One 8-bit Logic Level Shifter (SN74LVC245AN) (~ $1.50) 2600 cartridge port connector A breadboard Wires How to connect the components: https://forums.atariage.com/topic/354887-setting-up-the-unnamed-1970s-console/ Setting up the Raspberry Pi development environment: https://forums.atariage.com/topic/354887-setting-up-the-unnamed-1970s-console/?do=findComment&comment=5317255 @ZeroPage Homebrew's reveal video on Youtube:
    4 points
  21. This is fun and all, but I would appreciate if we could get back on track. Some of these subjects are definitely better explored in their own threads. Thank you, ..Al
    4 points
  22. One of the new options we've added is "boomstick". Which makes the shotgun basically one shot anything to oblivion 😄
    4 points
  23. If you use 'illegal' opcodes, can you go to jail if caught?
    4 points
  24. Yay! I got my XEGS back from repair after 4.5 years. Well, it wasn't broken when I sent it away, it was meant to compare with a broken 65XE but during testing both broke down.
    4 points
  25. Here's a living site that has a more-recent (updated) version of it: Pac-Man Dossier It's from 2015; the one you have saved is from 2008.
    4 points
  26. Congrats! Nice pickup. I saw that auction but don’t think I went through the pics to see it. Here’s more advice…. You never know what can be misidentified. Don’t restrict your searches to just Intellivision. Just picked this up labeled as ‘Vic 20’ game for $35. 😊
    4 points
  27. They literally were never in retail though. Words have specific meanings. You seem to continually come here and post things that are factually incorrect by twisting the actual meaning of words. If he had said "we have a deal with Gamestop to carry our product once it ships and they are taking preorders", assuming there was such a deal, that would be accurate. That's very different than saying "Atari VCS isn't in retail, we are". Serious question, is English a second language for you? It seems like it might be given your inability to grasp the fundamentals of language use.
    4 points
  28. We should all know how opinions work. We should also know that taking internet user's opinions to heart can dramatically shorten one's lifespan. So what if you were disagreed with, is your life any the worse for wear? Kindly disregard opinions that would otherwise bother you, and join in the fun of this forum. I genuinely hope everyone here has an awesome day, regardless of their opinions on the matter.
    4 points
  29. I love how your comment reads without any other context.
    4 points
  30. Ummmm Ahh... Hmmmm.... Uhhhh No, you're not picking fights, not at all 😆 I think its the taking my ball and going home thing...
    4 points
  31. I think too often a CEO is judged by the bottom line. By that measure Ray Kassar would be the best ever (Atari became the fastest growing company in US history under his tenure) and worst ever (losses of $1 million per day before his ouster). But I don't think there was a vision for that era, the company was in the right place at the right time to ride the early 80s videogame wave. But they couldn't have planned for the boom, they didn't know it would be so short-lived there's lots of signs of them flailing around trying to figure out what worked and doing things seem dumb in retrospect. Still someone at the company had the foresight to license Space Invaders and Pac-man, which put them above their competition.
    4 points
  32. Ok you guys win this one, feel free to screw around in this thread, but remember this
    4 points
  33. There's always money in the banana stand!
    4 points
  34. Finally finished printing out all the UCSD manuals on US Letter paper to fit an original TI binder Had to settle for paper rather than card section covers Didn't realise just how much ink I'd get thru, but I definitely ordered too much paper (forgot I was printing double sided!)
    4 points
  35. Expecting to release the new public demo on Saturday. I think @ZeroPage Homebrew might be previewing it on Friday's steam and I'll drop the download on Saturday (Friday evening if I get the chance). In addition to the changes noted above, there have been a few more tweaks : Jetpack replaced. The new fangled jetpack that the A.R.T.I. team were using was just not good enough, the apprentices were going through the roof (literally). So we've reverted to an older tried and tested retro model. Yes it looks like came from a 1960's B movie, but it works. Jetpack SFX now sounds even more jett-ish. Arty, is now able to change facing in a tight crevasse or tunnel. Many balance and positional changes for enemies and environmental elements. A few more scoring tweaks to make higher levels more rewarding.
    4 points
  36. This could be a good discussion. Asking for the 'worst CEO' is a very generic question and doesn't necessarily lend itself well to deep discussion unless effort is made to push the discussion deeper. It's all a matter of how much effort you want to put into steering the discussion to keep it 'on topic' and push it deeper. Ask the harder questions: What actually defines a good CEO? What are the good and bad qualities of each CEO mentioned? What were the goal's of Atari during each CEO's reign? Did they meet/exceed those goals or did they flounder?
    4 points
  37. I'm no longer an active participant on the forums. I'll be posting my own Atari stuff elsewhere. But, having said that... feel free to PM me here - I'm always happy to answer questions.
    4 points
  38. Or as a wise philosopher once stated:
    4 points
  39. There are credits for both you and Garry in my readme file in the archive under Credits. I can also update the adventure too; I should have put you in there as well but just thought of that now.
    4 points
  40. This is a very negative topic. Each of these men faced different challenges at different points in the history of the old company. Ray Kassar probably lost the most money for the company, so wouldn’t he be objectively, quantitatively worst? Fred Chesnais brought the bones of Infogrames Atari back into profitability, but he was prone to desperate, stupid gimmicks while the company failed to do anything interesting with games or the legacy. But I think the premise of this topic is shortsighted, mean, and stupid.
    4 points
  41. Denis Loubet is doing the cover artwork. ..Al
    4 points
  42. Yes, it would include 7800 games as well, no reason to have two lists. ..Al
    4 points
  43. In the interest of self-promotion I'll just say that Dragon's Havoc is available (to buy as well as an extensive free demo) if you want a horizontal shooter for the 7800 https://forums.atariage.com/topic/307013-dragons-havoc-side-scrolling-shooter-cartridge-available-for-purchase-and-demo-available-for-download-in-thread/
    4 points
  44. Alternately, you could d Rolodex style.
    4 points
  45. Thanks for all of the pointers! False alarm on the 130XE greenish screen. I had a marginal PSU being used. I should have started their first. I guess one of the 130Xe's was OK with the lower input value. With a good PSU that is outputing 5.12v both 130XE's are A OK with blue colors on the Fujinet config screen when the Devkit Fujinet is pulled in WITH or WITHOUT power to the Fujinet!
    3 points
  46. 1 REM CHANGES IN: 2 REM 2104, 2109, 2256 10 REM ************************** 11 REM * * 12 REM * ELECTRONIC WORKSHEET * 13 REM * * 14 REM * COPYRIGHT (C) 1982 * 15 REM * WILLIAM V R SMITH * 16 REM * * 17 REM ************************** 18 REM 19 CLEAR : DIM A$(70,10),B$(70,10),CW(12),IV(50) 20 SY = 1:XM = 1:YM = 1:SX = 1 30 FOR X = 1 TO 12:CW(X) = 9: NEXT X 35 S$ = " " 37 T$ = "ABCDEFGHIJKLMNO" 38 T1$ = "*********************" 99 GOTO 2000 100 REM ******************* 101 REM * VARABLE PARCER * 102 REM ******************* 103 L = LEN (A$(Y,X)):F = 2:A1 = 0:A2 = 0:P = 1:H$ = "":OF = 1 105 IF L = 0 THEN 400 110 IF P > L THEN 400 115 GOSUB 500 130 IF C > 64 THEN GOSUB 450: IF P > L THEN RETURN 135 IF C = 46 THEN 170 140 IF C > 41 AND C < 48 THEN GOSUB 200:F = C - 41: GOTO 110 150 IF C = 38 THEN 700 160 IF C > 47 AND C < 58 THEN 170 162 IF C = 58 THEN 900 165 GOTO 400 170 H$ = H$ + CHR$ (C): IF P > L THEN GOSUB 200: GOTO 600 180 GOSUB 500: GOTO 130 200 A2 = VAL (H$):H$ = "": GOSUB 300: REM FUNCTION 210 RETURN 220 REM * INPUT STATEMENT ** 225 IV = 1:I$ = "": GOTO 235 230 IF LEN (I$) = 0 THEN A$ = "": RETURN 235 GET A$ 240 IF A$ = CHR$ (8) THEN L = LEN (I$):I$ = MID$ (" " + I$,2,L - 1): HTAB 1: PRINT I$;: CALL - 868: GOTO 230 245 IF A$ = CHR$ (21) THEN 275 250 IF A$ = CHR$ (13) THEN 280 255 IF ASC (A$) < 31 THEN 235 256 IF A$ = CHR$ (34) THEN 235 260 I$ = I$ + A$ 265 HTAB 1: PRINT I$; 270 IV = IV + 1: GOTO 235 275 A$ = MID$ (A$(Y,X),IV,1): GOTO 260 280 IF IV = 1 THEN A$ = "": RETURN 285 A$ = I$: RETURN 300 REM ********************* 301 REM * 302 REM * PERFORM MATH FUNCTION 303 REM * 304 REM ********************* 305 F1 = F:F = 2 310 ON F1 GOSUB 330,340,320,350,320,370 320 RETURN 330 A1 = A1 * A2: RETURN 340 A1 = A1 + A2: RETURN 350 A1 = A1 - A2: RETURN 370 IF A2 < > 0 THEN A1 = A1 / A2 380 RETURN 399 END 400 H$ = MID$ (A$(Y,X),1,L) + " " 405 H$ = LEFT$ (H$,CW(X)) 406 IF H$ = B$(Y,X) THEN RETURN 407 B$(Y,X) = H$ 409 GOSUB 680: REM * XM AND YM TEST 410 RETURN 440 REM ***************** 441 REM * 442 REM * FIND MATH VALUE 443 REM * OF SCREEN 444 REM ***************** 450 X3 = C - 64 451 IF X3 > 15 THEN GOSUB 400: RETURN 452 H$ = "": IF L = 1 THEN 400 453 GOSUB 500: IF C < 48 OR C > 57 THEN GOTO 400 454 GOTO 460 455 GOSUB 500 460 IF C < 48 OR C > 57 THEN 470 465 H$ = H$ + CHR$ (C) 466 IF P > L THEN 470 467 GOTO 455 470 Y3 = VAL (H$) 475 IF Y3 > 70 OR X3 > 15 THEN H$ = "ERROR":P = L + 1: GOTO 620 480 H$ = B$(Y3,X3) 485 GOSUB 200 490 IF P > L THEN GOSUB 600: RETURN 495 RETURN 500 REM *** PARCE LINE FOR CHAR 510 C = ASC ( MID$ (A$(Y,X),P,1)):P = P + 1 520 RETURN 600 REM ******************* 601 REM * 602 REM * ASSIGN ANSWER 603 REM * 604 REM ******************* 610 IF A$(Y,X) = "" THEN RETURN 615 IF LEN ( STR$ ( INT (A1))) > CW(X) THEN H$ = "ERROR" 620 ON OF GOSUB 640,650,660,670 625 IF OF = 4 OR OF = 1 THEN 675 630 B$(Y,X) = RIGHT$ (" " + STR$ (A1),CW(X)) 635 GOTO 675 640 A3 = INT (A1):A1 = (A1 - A3) + 1.001:H$ = STR$ (A3) + "." + MID$ ( STR$ (A1),3,2) 645 B$(Y,X) = RIGHT$ (S$ + H$,CW(X)): RETURN 650 A1 = INT (A1): RETURN 660 RETURN 670 A1 = INT (A1): IF A1 > 20 THEN A1 = 20 671 IF A1 < 1 THEN A1 = 1 672 B$(Y,X) = LEFT$ ( LEFT$ (T1$,A1) + " ",CW(X)) 673 RETURN 675 OF = 1 680 IF X > XM THEN XM = X 681 IF Y > YM THEN YM = Y 690 RETURN 700 REM **** SUM(FUNCTION) 710 P = P + 4: GOSUB 500 720 GOSUB 450:Y4 = Y3:X4 = X3 730 GOSUB 500: GOSUB 450 740 A1 = 0:A2 = 0:X5 = X3:Y5 = Y3 750 IF Y4 = Y5 THEN 800 760 X3 = X4: FOR Y3 = Y4 TO Y5 765 P = 1 770 GOSUB 480 780 NEXT Y3 790 GOSUB 600: RETURN 800 Y3 = Y4: FOR X3 = X4 TO X5 805 P = 1 810 GOSUB 480 820 NEXT X3 830 GOSUB 600: RETURN 900 REM * OUTPUT FORMAT * 905 GOSUB 200: GOSUB 500 910 IF C = 36 THEN OF = 1: GOTO 600 920 IF C = 73 THEN OF = 2: GOTO 600 930 IF C = 70 THEN OF = 3: GOTO 600 940 IF C = 42 THEN OF = 4: GOTO 600 950 GOTO 600 1000 REM ******************** 1001 REM * VIDEO SCREEN LAYOUT 1002 REM ******************** 1099 NORMAL 1100 FOR Y1 = 1 TO 70 1103 VTAB 1: HTAB 25: FLASH : PRINT "WORKING"; 1105 IF Y1 > YM THEN Y1 = 100: GOTO 1180 1110 FOR X1 = 1 TO 9 1111 IF A$(Y1,X1) = "" THEN NEXT X1: GOTO 1180 1112 VTAB 1: HTAB 34: PRINT MID$ (T$,X1,1);Y1;" " 1115 IF X1 > XM THEN X1 = 100: GOTO 1170 1121 X2 = X:Y2 = Y 1122 X = X1:Y = Y1 1125 GOSUB 100 1140 X = X2:Y = Y2 1170 NEXT X1 1180 NEXT Y1 1185 GOSUB 1500 1186 VTAB 1: HTAB 25: CALL - 868 1190 RETURN 1300 REM ******************** 1301 REM * SCREEN VALUE PRINTER 1302 REM ******************** 1305 CW(0) = 0 1306 IF CW(X) < > LEN (B$(Y,X)) THEN GOSUB 100 1307 IF X = SX THEN CO = 3: GOTO 1330 1310 CO = 0: FOR X2 = SX TO X - 1:CO = CO + CW(X2): NEXT X2:CO = CO + 3 1330 VTAB Y + 5 - SY: HTAB CO 1340 PRINT B$(Y,X); 1399 RETURN 1500 REM ***************************** 1501 REM * 1502 REM * SCREEN PRINT 1503 REM * 1504 REM ***************************** 1550 VTAB 4: HTAB 1 1600 INVERSE 1602 PRINT " ";:MT = 10 1603 PP = 0: FOR FX = SX TO 10:PP = PP + CW(FX): IF PP > 37 THEN MT = FX - 1:FX = 11 1604 NEXT FX 1605 FOR FX = SX TO MT 1606 H = CW(FX) / 2:H1 = INT (H):H2 = INT (H - .2) 1609 H$ = LEFT$ (S$,H1) + MID$ (T$,FX,1) + LEFT$ (S$,H2) 1610 PRINT H$; 1612 NEXT FX 1613 CALL - 868 1614 VTAB 5: HTAB 1 1615 FOR FX = SY TO 18 + SY: PRINT FX;: IF FX < 10 THEN PRINT " "; 1616 PRINT : NEXT FX 1617 VTAB 5 1618 NORMAL : POKE 32,2: POKE 33,38: VTAB 5: CALL - 958: POKE 32,0: POKE 33,40 1619 A = SX:T = 3 1620 VTAB 5 1621 FOR X1 = 0 TO 18 1625 HTAB T: PRINT B$(SY + X1,A) 1800 NEXT X1 1850 T = T + CW(A):A = A + 1: IF A = < MT THEN 1620 1999 RETURN 2000 REM ************** 2001 REM * 2002 REM * PROMPT OF INPUT 2003 REM * 2004 REM ************** 2005 DF = 1 2006 HOME 2010 GOSUB 1500 2020 X = 1:Y = 1 2030 VTAB 1: HTAB 1: PRINT MID$ (T$,X,1);Y;" " 2035 VTAB 2: HTAB 1: PRINT A$(Y,X); 2050 INVERSE 2060 GOSUB 1300 2070 NORMAL 2080 GOTO 2220 2090 REM *************** 2091 REM * 2092 REM * INPUT AND PERFORM 2093 REM * 2094 REM *************** 2100 A = PEEK ( - 16384): IF A < 127 THEN 2100 2102 A = A - 128:A$ = CHR$ (A) 2103 IF A = 47 THEN 4000 2104 IF A = 64 THEN 2256 2105 IF A = 33 THEN GOSUB 1300: GOSUB 1000: GOTO 2050 2106 IF A = 21 THEN 2113 2107 IF A = 8 THEN 2160 2108 IF A = 32 THEN 2200 2109 IF A > 43 THEN 2255 2110 IF A = 38 THEN 2300 2111 IF A = 34 THEN GET A$: GOTO 2255 2112 GET A$: GOTO 2090 2113 GOSUB 1300 2114 ON DF + 2 GOTO 2115,2140,2130 2115 X = X + 1: IF X > 10 THEN X = 10: INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2116 IF X > MT THEN SX = SX + 1: GOSUB 1500: GOTO 2116 2120 INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2130 Y = Y + 1: IF Y > 69 THEN Y = 69: GOTO 2135 2133 IF Y > 18 + SY THEN X3 = - 1:SY = SY + 10:Y = SY + 18: IF Y > 69 THEN Y = 69:SY = 69 - 18 2134 IF X3 = - 1 THEN GOSUB 1500:X3 = 0 2135 INVERSE : GOSUB 1300: NORMAL 2140 GOTO 2900 2150 REM 2160 ON DF + 2 GOTO 2170,2190,2180 2170 GOSUB 1300 2175 X = X - 1: IF X > = SX THEN INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2176 SX = SX - 1: IF X = 0 THEN X = 1:SX = 1: GOTO 2179 2177 GOSUB 1500 2179 INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2180 GOSUB 1300 2182 Y = Y - 1: IF Y = > SY THEN INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2183 SY = SY - 10:Y = SY: IF Y < = 0 THEN Y = 1:SY = 1 2184 GOSUB 1500 2185 INVERSE : GOSUB 1300: NORMAL : GOTO 2900 2190 REM 2200 REM ******************** 2201 REM * 2202 REM * SHOW CURSOR DIRECTION 2203 REM * 2204 REM ******************** 2205 REM 2210 DF = DF * - 1 2220 VTAB 1: HTAB 38 2230 ON DF + 2 GOTO 2231,2240,2235 2231 PRINT "-";: GOTO 2240 2235 PRINT "!";: GOTO 2240 2240 GOTO 2900 2250 REM ** INPUT STRING FOR PAGE 2251 REM 2252 GOTO 4000 2254 IF A$ = "&" THEN 2300 2255 VTAB 2: HTAB 1: PRINT A$(Y,X);: VTAB 2: HTAB 1: GOSUB 220 2256 AA$ = " ": IF A$ = "@" THEN A$(Y,X) = LEFT$ (AA$,CW(X)): GOTO 2260 2257 IF A$ = "" THEN 2270 2258 A$(Y,X) = A$ 2260 GOSUB 100 2270 GOTO 2030 2300 REM ** SUM STATEMENT ** 2310 POKE - 16368,0 2320 VTAB 1: HTAB 1: CALL - 868 2330 VTAB 2: INPUT "SUM(START = ";A$ 2350 VTAB 2: CALL - 868: PRINT "SUM(";A$;" THRU ";: INPUT "";B$ 2360 VTAB 2: HTAB 1: PRINT "SUM(";A$;" THRU "B$;")" 2365 IF A$ = "" OR B$ = "" THEN 2900 2370 A$(Y,X) = "&SUM(" + A$ + "-" + B$ + ")" 2380 GOSUB 100: GOTO 2030 2900 VTAB 1: HTAB 1: PRINT MID$ (T$,X,1);Y;" " 2904 VTAB 2: HTAB 1: PRINT A$(Y,X); 2905 CALL - 868 2907 POKE - 16368,0 2910 GOTO 2100 4000 REM ***************** 4001 REM * 4002 REM * HANDLE GLOBAL COMMAND 4003 REM * 4004 REM ****************** 4005 POKE - 16368,0 4006 VTAB 2: HTAB 1: CALL - 868 4010 INPUT "1-WIDTH 2-SAVE 3-LOAD 4-CLEAR 5-GOTO LOCATION 6 - PRINT";A$ 4015 ON VAL (A$) GOTO 4020,5000,5500,19,6000,7000 4016 GOTO 6000 4020 VTAB 2: CALL - 868: INPUT "WIDTH = ";A$:A = VAL (A$): IF A > 30 THEN 4020 4030 CW(X) = A 4040 YH = Y 4050 FOR Y = 1 TO YM: GOSUB 400: NEXT Y 4060 Y = YH 4140 GOSUB 1100 4150 GOSUB 5900: GOTO 2030 5000 REM *********** 5001 REM * 5002 REM * DISK I/O 5003 REM * 5004 REM *********** 5100 REM * FILE OUT * 5105 GOSUB 5900 5110 VTAB 2: HTAB 1: CALL - 868 5120 PRINT "SAVE FILE TO DISK FILENAME = " 5130 INPUT "";A$ 5140 IF A$ = "" THEN GOSUB 5900: GOTO 2030 5146 VTAB 1: HTAB 1: PRINT 5150 PRINT CHR$ (4);"OPEN ";A$ 5160 PRINT CHR$ (4);"WRITE ";A$ 5165 PRINT XM: PRINT YM 5170 FOR X = 1 TO XM 5180 PRINT CW(X) 5190 FOR Y = 1 TO YM 5200 PRINT CHR$ (34);A$(Y,X); CHR$ (34) 5210 NEXT Y 5220 PRINT "<>" 5230 NEXT X 5240 PRINT "<>" 5250 PRINT CHR$ (4);"CLOSE" 5255 Y = 1:X = 1 5260 GOTO 7230 5500 REM * FILE IN * 5510 HOME : PRINT CHR$ (4);"CATALOG" 5549 VTAB 1: HTAB 1 5550 PRINT "READ FILE FROM DISK FILENAME = " 5560 GOSUB 220: PRINT "": IF A$ = "" THEN GOSUB 5900: GOTO 2030 5565 PRINT CHR$ (4);"UNLOCK";A$ 5570 PRINT CHR$ (4);"OPEN ";A$ 5580 PRINT CHR$ (4);"READ ";A$ 5590 INPUT XM: INPUT YM 5600 FOR X = 1 TO XM 5610 INPUT CW(X) 5620 FOR Y = 1 TO YM 5630 INPUT A$(Y,X) 5640 NEXT Y 5650 INPUT B$: REM ERROR IF NOT <> 5660 NEXT X 5670 INPUT B$: REM ERROR IF NOT <> 5675 PRINT CHR$ (4);"CLOSE" 5677 GOSUB 5900 5678 X = 1:Y = 1 5680 GOSUB 1000: GOTO 2020 5900 VTAB 1: HTAB 1: CALL - 868 5910 VTAB 2: HTAB 1: CALL - 868 5920 VTAB 3: HTAB 1: CALL - 868 5930 RETURN 6000 REM ** GOTO LOCATION 6005 GOSUB 6010: GOTO 2030 6010 GOSUB 5900 6030 VTAB 2: HTAB 1: INPUT "GO TO PAGE LOCATION :";A$ 6040 GOSUB 6200 6050 IF X1 + Y1 = 0 THEN RETURN 6180 X = X1:SX = X1:Y = Y1:SY = Y1 6185 GOSUB 1500 6190 INVERSE : GOSUB 1300: NORMAL : RETURN 6200 L = LEN (A$): IF L < 2 THEN X1 = 0:Y1 = 0: RETURN 6210 X1 = ASC ( LEFT$ (A$,1)) - 64 6220 IF X1 < 1 OR X1 > 10 THEN X1 = 0: RETURN 6230 Y1 = VAL ( RIGHT$ (A$,L - 1)) 6240 IF Y1 < 1 OR Y1 > 50 THEN X1 = 0:Y1 = 0 6250 RETURN 7000 REM *** PRINT OUT 7100 GOSUB 5900 7110 VTAB 2: HTAB 1: INPUT "UPPER/LEFT CORNER:";A$: GOSUB 6200 7120 X3 = X1:Y3 = Y1 7130 VTAB 2: HTAB 1: INPUT "LOWER/RIGHT CORNER :";A$: GOSUB 6200 7140 X4 = X1:Y4 = Y1 7150 PRINT CHR$ (4);"PR#1" 7160 FOR Y1 = Y3 TO Y4 7170 FOR X1 = X3 TO X4 7180 PRINT LEFT$ (B$(Y1,X1) + S$,CW(X1)); 7190 NEXT X1 7200 PRINT 7210 NEXT Y1 7220 PRINT CHR$ (4);"PR#0" 7230 X1 = 1:Y1 = 1: GOSUB 6180: GOTO 2030
    3 points
×
×
  • Create New...