Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Starsickle last won the day on November 24 2020

Starsickle had the most liked content!

Community Reputation

21 Excellent

About Starsickle

  • Birthday 06/09/1983

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Okay, so it's been some months - Disaster has not been mitigated, so where am I? Projects wise, I'm recovering. I'm going to be recovering. It's very sad. I've lost quite a lot. For THIS game, though - I am slowly re-piecing together the design of the game, but I'm definitely on hold until my foundation is a bit more solid. I want to make this game, I want to support this machine, but I would definitely need help making something within the constraints of the system. Since I'm up at 4AM today, I decided to empty my brain of RetroTrek design into a separate game, which will be powered by Javascript. So, what is it I need to do this game on the X16? Ability to jump between large bits of functional programming that WILL be documented. Ability to store tables of mixed pieces of information, or several tables of compressed, bitwise information. (I've done this, but I'm shaky at it. Sufficient Parity between the Emulator and target machine. Ability to manipulate file system from emulator. (This eluded me, but just assume my games are coming on SD card for the X16.) I can see there's progress in some spaces of development, but I haven't had time to read in detail. For the time being, I welcome examples of larger program structures and techniques, as I'm a high level guy with some big ideas on a small system.
  2. C IS the language of Atlantis, after all. Honestly, as long as whatever we get is well documented and follows the strictures of BASIC - Whether it's C64 Basic 2.0, or C64Basic2.0++ or Basic 7, or SmileBASIC, or BubbaBASIC, Grandma Tillerson's ButteryBASIC? I'm sure a well-documented, well-cookbooked community will adapt and be able to program for the machine. The real question is: is the backwards compatibility requirement in the specification a hill really worth dying on if the machine's ACTUAL specifications can't be used by its core audience (newbs and amateurs)? Everyone involved are very smart people, so I think it'll be worked out.
  3. Fantastic! If the kernel and interpreter team don't make progress, this tool would be a great optimization tool for people like me that have some large and sprawling ambitions.
  4. The fact that this CPU and The Vera board are so powerful and widely used means that there's a host of honest practical applications for this computer for any enthusiast. I don't plan on replacing OpenOffice on my desktop, but I could see - for FUN - writing code or notepad style documents on my X-16 and using a SD card to ferry files to my desktop. Or - sometime in the future - using whatever might be cooked up to replace the old C64 modems (and some nice software) to use the modern internet to send myself some files. That is what I would want as a user - a retrocomputer I could use for some set of practical purposes. Something that isn't just a nostalgic toy for an aging millennial. As a programmer and game developer, I really just want some sort of functionality close to something like SmileBASIC, perhaps with a bit of careful thought about optimization or feature-usage. Any efforts to allow users to easily use the larger memory and banking/swapping system is a worthy endeavor, otherwise I imagine myself starting a github and asking for help and maybe providing a lot of free coffee to helpful souls. For all those involved - please keep working hard, and keep aiming at continuous improvement.
  5. It's a HDD. I followed the vendor's guide to choosing, although their shop was quite a sprawl. As for github, I had considered making a private github for retrotrek but the project wasn't mature enough to warrant it anyways. I have the project tracker up, but no repo.
  6. There is some hope: I ordered a replacement PCB. An affordable waste if it doesn't work, but I believe I can do it myself. Needless to say, despite the small preparations I've made, I'm going to be more aggressive about backing up data.
  7. Disaster has Struck - A PSU incident has caused my Data HDD to stop responding completely, meaning it's effectively dead. A lot of recent projects since June have been busted, which means basically all of them. RetroTrek will have to be started over from Scratch, as I have lost even the Code, Design work, and Documentation. I am currently in Crisis Response Mode, but I have no doubt I will need at least a good hug in a few days.
  8. This is the majority of the block before the program handles its title screen input, after which it loads DATAINIT.PRG: 18 REM // DEPENDING ON GAME STATE: INIT DATA, MAIN LOOP, EXTRA, TERMINATE 29 REM //SETUP ENGINE, START GAME, MAIN LOOP, (TBD), END PROGRAM 20 IF CS%=0 THEN : CS%=1 21 ON CS% GOTO 25,1020,2000,9997,30000 22 GOTO 31110 25 REM //ENGINE SETUP AND INITIALIZATION===================================== 26 REM //NOTE: NEVER EVER OVERWRITE THESE! 27 CS%=0 : PL%=27 : REM //CONTROL STATE AND PREVIOUS LINE 28 VN$="0.0.1" : VD$="SEPTEMBER 14TH, 2020" 29 FC%=5 : BC%=0 : FI%=0 : BI%=5 : COLOR FC%, BC% 30 SX%=640 : SY%=480 : REM //SCREEN SIZE 31 DIM MSGQ$(20) : REM //OUTPUT SPAM QUEUE 32 QH=1 : QS=0 : REM //QUEUE HEAD, TAIL, AND STATUS 33 REM //===PROGRAM START========================================= 34 CLS : GOSUB 3120 35 LY%=43 : LX%=1 : GOSUB 1100 36 INPUT "PLEASE MAKE YOUR SELECTION"; MNU$ 37 GT$ = MNU$ 38 DEF FN FR(X)=FRE(0)-65536*(FRE(0)<0) : REM //COLLECT GARBAGE AND FREE BYTES 39 GOSUB 73 : POKE $30D,0 : POKE $30E,50 : SYS $FFF0 40 RF$ = STR$(FN FR(0)) 41 PRINT FN FR(0);"BYTES FREE" : GOSUB 70 42 REM //===PROGRAM DATA ALLOCATION================================= 43 DIM GD%(10) : REM //GAME DATA - SEE README. 44 DIM RGN$(9,19,2) : REM //SPACIAL REGION - SEE README. 45 REM DIM SCTR$(9,9,2) : REM //SPACIAL SECTOR - SEE README. 46 DIM SPCS%(7,5) : REM //SPECIES LIST - SEE README. 47 REM //DIM PLANETS$(13,3) : REM //CONTAINS PLANET NAME, TYPE, IFF 48 DIM SHPS%(10,16) : DIM SID$(10,2) : REM //SHIPS LIST AND SHIP NAME AND IFF 49 NS%=0 : GD%(1)=10 : GD%(0)=0 50 SU$="GRN" : REM //SHIP STATUS 51 GA$ = "*********************************************************" 52 GB$ = "* *" 58 CS%=2 59 GOTO 1000 DATAINIT.PRG is less than 100 lines with whitespace, but both creates DATA and shoves values into the various arrays. As reminder: check above image some posts up to see what is happening. A good but laborious experiment is if I were to change the line numbers of the DATAINIT.PRG program to never touch any of the numbers in the main file? What would happen? Would the string literals upon execution be restored?
  9. Yeah. I'm mystified. The main file clearly allocates more to memory in every regard than the data initialization file, so the explanation doesn't seem to fit. No matter what the case - I need to fix this, and I don't know how. Design wise, everything important is allocated, and if the program can't even correctly execute a random string literal after going back into main fail execution? I am clueless as to what to change or how to make this work.
  10. The good news: It works again. The game is playable again. The Bad news: I think only the DATA segment of memory is preserved between LOADs. So in this pic, you can see that some of the string literals did not survive, neither did any of the dimension-ed arrays before they were filled in the Data Initialization file. But...curiously: 3106 PRINT " RETROTREK - "VN$" STATUS: "SU$" RAM: "RF$ Of course, the debug output for ship data DID survive. Well, mostly. The IFFs did not survive, the ship names did not survive. Yikes. I happy the program can execute correctly, but now I have this new problem that defied expectations.
  11. Okay - this is an easy fix, then. I just cannot have a 0 state when this is first starting.
  12. Problem with the switch statement from earlier: 21 ON CS% GOTO 25,1500,2000,9997,30000 22 GOTO 31110 Presumably, you cannot initialize CS to 0 because once the file is loaded, CS is overwritten. but what happens right now is that the program slips through to 22 (Error). If 22 was not there, it slips to 25, which sets CS to 1, and eventually leads to a REDIM error. How do I use this correctly? Apparently the implicit 0 does not trigger 25...
  • Create New...

Important Information

Please review our Terms of Use