I had very productive early years with my Vic 20, but I never stopped loving to program it. I used the real thing until in 2002, when I found Xvic and spordically worked on a game that was the most complex ML project I had ever undertaken. Starting again from scratch in 2010 I started to gain more and more interest in this project until it's completion in 2013. Since then there has been a water shed of new projects that I am interested in. In late 2015 I started using an assembler to program in Machine Language and have no intentions of using BASIC for anything after. This is a document of my bi-polar mostly unintelligable process...
2012 and earlier
2015 & 2016
2017 & 2018
Although Realm of Evil took longer than I expected I think it has turned into a very good game. So now starting fresh, new project, new vlog ...
<BY THE WAY THERE ARE SPOILERS IF YOU PLAN ON PLAYING ANY OF THE GAMES!>
1 Jan 2019
Tough day at work. Tried to update the last of the web pages, not so sure I have been successful. Just pissing around. Found the encoder, so the next step will be to start generating phrases. It will require research and archeology. Here is the new splash page.
2 Jan 2019
I really want to do something, but another tough day at work. If only I had a day or two before my vacation, but I dont. When I return I may have to move a bunch of my stuff around, so although I hope to get a new project started as soon as I get back, that may have to wait as well. Maybe not, I am kinda stubborn.
3 Jan 2019
I really don't have time but I opened and quickly looked at the encoder. I'm not sure why I picked 6185 for the data start location. I think I can move that as I will have a lot more room for this. Man I really wish I had a few hours, I'm sure I could do a lot in that time. But even as I type this, the clock is ticking.
12 Jan 2019
On the one hand I really enjoyed my trip, on the other I am excited to start working on more projects. I think I will try to start with the Lucas of Betelgeuse. I always thought this wasa good idea, bu it was not impilemted well. Not for a lack of trying, when I finished the first programs, my grasp of BASIC was pretty ... well basic. I'm sure the first 2 or 3 programs were written in the mid 80's. By the time I finished the project in 1998, I had a basic grasp of ML, and included a short ML program to print out descriptions, saving a bit of space and being a bit more descriptive than the previous adventures. Now 20 years on I have a ML compressor and pretty good ML knowledge, and think I can make this a way better game. Especially with 6K, in fact I don't think I will even use the cassette buffer, I should have enough room without it. So I re-arranged a few more things but before I even start I looked to see what ratio I left for game over description. So it looks like about 60% game 40% description approximately. For 3.5K I started about 6144 for description, so after alot of calculation and debate for 6.5K I will start the description at 4864 although there will be a couple of not compressed phrases just before. One of them is the ever popular "What are you going to do?" and I wonder if I don't have a question mark in the compressor. Nope that's there so I'm not sure why it isn't compressed. Also for some reason I thought that a period was inserted automatically, but I guess I am just too used to my phone. Putting 2 spaces would waste memory, not save it. OK so I kind of have a battle plan, but I have to do some RL now. Oh I also ordered some Datasette belts! I added the "what are you going to do?" phrase and ran it. No problems. I know many of the first phrases are general and I can keep them. I erased all of the old data in the encoder and saved it as a shell. I will have to mark out the rooms and items and start thinking about descriptions. Lol that's why I didn't put the "What are you going to do>" phrase into the compressed stuff, there are colour codes in it. I figured I should quickly play through the game really quick just to see get the feel of it. I can see I was definately in a different frame of mind, a lot more cheeky! I hope I can keep the same spirit as I start to embellish the game. Lol the directions are opposite of the map I drew. Just looking through the old program, I will have to change a bunch of locations of variables. Maybe I'm too scared to start. Must be, I fixed the splash page graphics yet again. I guess I could start with the opening blurb. So in the end I did the first little intro program. I am too tired to do anything more tonight. Well I shouldn't have but I updated and fixed the splash page loader as well. Now I am done!
Working on Betelgeuse 20th Anniversary
13 Jan 2019
Still relaxing a bit I guess. I was continually looking up colour information so I made myself a nice reference sheet. I think I am getting close to wanting to program my picture transfer program. But now to something a bit more significant to my current project. Last night I saved a print out of Epsilon-Aeriguie. OK I entered all of the data. It took about 4 hours. I forgot that numbers are not allowed, so there will be a few wierd things. I hope I didn't forget anything. Ok enough for now. Just relaxing before the next RL chore. I imported the compressed data and am almost ready to start altering the program. This of course will be the most difficult one because once I have everything straightened out most of the next programs will use the same format, and if they don't, I should understand what's going on enough to alter it quickly. Spent the last couple of hours updating things and getting it ready for a new adventure. I added alot more assembler variables so that it will be able to move better. I figured I would give it a try to see if it would print out the first room, but it crashed. I wasn't sure what was wrong but started looking through the de-compressor and realized there are some JSRs and other things that would have to be changed (fixed). There is no easy way to do this, so i will have to disassemble it myself. This may take a while. So much later in the night I finally finished disassembling and now have a labled version of the decompressor (so it can move now). I was surprized that I didn't make any mistakes disassembling! But there are other problems. First I had some wrong characters, but something more sinister was happening. My guess is the print till zero routine doesn't like crossing page boundaries, so I moved the phrase and it works now. Another couple of things are just mistakes, but I think my decompressor automatically inserts a space after a period. I will have to go through my data and remove spaces. This will save some memory as well, as the data was within a hundred bytes of the screen! But it is now late, I will leave this boatload of debugging for tomorrow.
14 Jan 2019
I figured I needed to fix the data before starting anything. So this morning I opened the encoder and removed spaces before periods and tried to fix any spelling mistakes as well as add a few more phrases. The data goes all the way to 7678 now! I think I will still have to add a few more nouns, which will be a bit of a pain, but I think I will just do what I did before and modify the code as it is running. Last night I quickly calculated and added the room directions, so I should be able to check out most of them. I hope I can at least get it to that state (without errors) this afternoon. Oh also the problem with the print till 0 yesterday wasn't a page crossing problem. The data was being overwritten by the next part! I may have to re-install CBMPS as it should be warining me about these kinds of things. Well shit, there are a bunch of problems. The first one is that I mustn't have pressed return on a line and there are still 2 spaces in the opening blurb making all of the lines ragged. Plus all of the phrases are now off by a few bytes. I don't know why this has been so hard to format properly, I have had to do it about 10 times!! Finally a bit of progress, so far I can go to the first 8 rooms. If I go south of that (in the 2 rooms that you can) one crashes and the other gave me an ?out of memory error. Not sure if it's just something from the old program not being able to go above 8 rooms. I will investigate. Lol. It is because my room table only had 8 rooms in it. OK I can now go to 14 of the 16 rooms. Now I will just have to start adding things to trigger the phrases, and fix the objects code, and the nouns, and figure out how I am going to deal with 2 keys. I should try to continue, as I kinda feel like things are starting to get good, but I also feel like I need a break.
15 Jan 2019
Well isn't this fun. I am very sick, but have to summon the strength to go to work. So the next parts shouldn't be too bad but I will probably have to go slow, as my thinker isn't working very well. I added a little bit to add the exclamation marks for room 5. I did try to look at something, but it must have hit a zero or something and crashed. I wasn't 100% sure but I think I will have to alter the amount of nouns, so I added a little bit to do that as well. Lol I guess I have to fix it in the other main as well. OK that took more effort that it should have.
17 Jan 2019
I feel terrible. I entered the stuff for room1 and realized I will have to figure out this key business. The key is item 4 but I will make a second pseudo item and the program will decide which one is there. If both are there it will ask which key? Actually I changed it to item 6 to make it work better. So I will have to add this to the get, drop, use and look item code. OK moving slow today, but made the new code for the 2 keys, just have to check it and debug. Maybe I will take another short break. Before I go I just want to see how much memory is left. So I compiled it and I have over 1200 bytes left, so I think I will have plenty of memory to work with here. OK time to test. Testing the stuff for room 1, lots of little mistakes. The biggest one was changing the order of the items and not updating them in this room. The scary thing is coming up, testing key stuff. OK 'GET' seems to work,'INVENTORY" isn't. That was OK, I just hadn't updated the number for 'on your person' which is one greater than the highest room number. It was 13 and is now 17. The last thing to test is 'LOOK item'. It has the most new code thusly the most to go wrong. Actually the inventory still wasn't working, I couldn't figure out why, but eventually I realized the inventory table was wrong. I had forgot to count the trailing zeroes. There was another holdout from the old code a JMP (7669) that needed to be updated. OK I think I have all of that working, but something that I missed (in the old programs) is looking at gettable items when they are in the room but you haven't picked them up. It isn't 100% necessary, I'll think about it. In the mean time, just a couple more things to test, and then it should be fairly easy from here. I think room 5 is finished as well, so just 14 rooms to work on. Finished up to room 5, still a bit of testing. There are still a few things I am finding that need to be fixed in the big loop, like for some reason in the print object code I made it go to the decompressor (none of the nouns are compressed), and another indirect jump wasn't updated. Finished up to room 8. Not tested yet, I think I will stop here for the night. If I keep at it I should be able to finish this one tomorrow. Everything is moving along nicely, I was just thinking how difficult it was to program Tau Ceti. It would take about 2 or 3 days to finish a room! This one will be about a week to complete everything (and I'm sick, not pushing too hard) the next mission will take even less time.
18 Jan 2019
It is a balmy -37C this morning, -44C with the wind. So I decided to brave the debigging process first this morning, and while not perfect it wasn fairly easy to get everything working up to room 8. So I am halfway on the rooms. Also another thing is the 'LOOK object' code actually does check to see if it is the room. Not sure how I missed that yesterday. One thing that is disappointing is I have another phrase that doesn't format right, but also has a spelling mistake. So I will have to redo the compressed data yet again. It is about half way in the data, so if I have to I will add a zero to make the numbers I have already coded match up. Yep I had to do that. Even phrases that were close were missing the first 2 letters. Well this is the difficulty of the compressed data. Sometimes to complete a byte (about half of the letters are nybbles) it will have to add an extra space. When I need to cancontanate (a phrase is more than 88 letters) 2 DATA statements it is difficult to tell whether a space has been added or not, and how to format the words so they don't break on the edge of the screen. Well luckily the second time I encoded it I got it tok work. Room 9 is fairly big, I think I will break before coding it. Well that is alot of code, I have to do a couple things, then I will return to debug it. But all of the remaining rooms should be relatively painless. OK lots of stupid mistakes, but should mostly be good now. It will just be when I get the second key into the game that I'll see if everything works. Typed in the last of the rooms code, I will just have to test it and fix up the code for the load and I'll be done. Aaaannd I think I'm finished. Took a few hours to beat out the last few bugs. The most difficult one was 'LOOK KEY', it was mostly working, but took alot to get fully working. One thing I am a bit conscerned about is for some of the larger games (namely Tritonus and Fave Ret), as Epsilon Aerigie was a relatively small adventure with 16 rooms, but I used almost all of the memory. I had about 150 bytes left! I guess I won't be able to expand those games much. <sigh>
19 Jan 2019
Another cold day but I actually had quite a few things to attend to today. I looked at the project and changed the screen colour. I think the mission objective for Uter Eutis was too simplistic and not terribly realistic. Hopefully I will have time tomorrow to retcon the mission objective and outline the new adventure. It is already too late tonight.
20 Jan 2019
This is probably the mission that killed this game for me. It is simply SO juvenile! But I think I have a better idea how to make this game more reaslistic and just plain better. I wanted to play through the game to get a feel for it, and the feel is yuchie. I would like to keep very little from this existing game. Like Epsilon Aerigue, I will be doubling the rooms from 8 to 16. The layout will be similar, but there will be more, and I will try to have it make sense. Also I am formulating a secret, something that will require something from each game! Anyhoo, I'm just trying to make an easy way to get my wordy intro into CBM Studio, but it's not so easy. Nothing but trouble. First all of the data is too big and it keeps overwriting other things. I just erased a couple of rooms code but I still can't seem to get the opening blurb to print. Plus this is bad news using this much memory means much less for the game. I think the reason it won't print is because it is more than 255 characters long. OK that is exactly what was happening. I guess I will run it through the encoder and fill in the few other characters I need later. First run: it has saved many bytes but it is not formatting right. OK 8 runs later ... It's not perfect but it will have to do. I will start working on the rest of the data now. I must have scared myself, I completed the data and only used 1400 bytes. So I may have to go through the data and be a bit more wordy. But not tonight. I think I am finished for the night.
21 Jan 2019
I quickly went through the code and removed many chunks pertaining to having 2 keys. I also updated many things to reflect the new mission. Before going any further I should see if there is anything I would like to add to the data. If there isn't too much I can code some interesting puzzles. I thought about changing the jarring colour combination, but it is part of the charm. Anyway time to give this adventure a facelift. Quickly looking at the data there isn't too much I want to change but there are a couple of things, so I will open the encoder again. What can I say? I expanded the adventure a bit, but I will still have about 1000 bytes left of my DATA area. I guess it is, what it is. OK I am almost ready to start joining the data to the rooms and objects. Moar koffeee! I had to do other things for most of the day, but late this evening I changed the program for the new verbs, nouns, and objects. I changed most of the tables and started working on the rooms. I got to room 6 and realized I missed another object. There is another thing I will have to figure out how to deal with in this room. So I think I will stop here for now. I had hoped I could have finished this adventure today as it is fairly short, but I just ran out of time.
22 Jan 2019
No time again. After work I added the 2 nouns I needed. I wanted to code a bit more but I just didn't have it in me.
23 Jan 2019
After work I coded room 6, just so that something got done.
24 Jan 2019
I decided I should test stuff before I go any further. I see several things that I have to fix in the data, and I notice some conspicuous omissions. So I may have to fix the data before moving on. There may be a problem in my objects code, so I changed it a bit. But the rest of the code seems OK. Then again none of it is real brain bending code. I ended up not being able to return to this till late at night. I tried to fix the data, and my intro is wonky again. The rest of the data looks fine. I got the new belts for my datasettes. I replaced 2 of them but not sure if it is helping. Went back to see if I could get the datasettes to load a game, they almost do, but not quite. Played with them for a few hours, then came back to this. I hopefully fixed the intro again, and fixed the code for the new data up to room 8. Not sure why this one is taking so long. Making a bit of progress, although not tested, I have coded up to room 12. But that's it for tonight.
25 Jan 2019
For some reason I thought I would have most of the day to finish Uter Eutis. It actually went the entirely other way. I basically had a couple hours at the end of the night. So I coded the last 4 rooms. There will be a lot of testing tomorrow. Not sure why this adventure was so difficult to finish, but it really really was.
26 Jan 2019
I should have some time to finish and clean up Uter Eutis. I made a couple of fixes to Epsilon Aerigie as well. The big project today will be testing all of Uter Eutis and hopefully starting on Xterious. I just wanted to check Epsilon Aerigie and there is something wrong with the load. There must be an error it returns from the load and I was going to say it starts over, but it doesn't. It is JMPing to 4109. That is very odd, I'm not sure where that code could have come from. WOW! That was stupid. It's fixed now. Let's make sure Uter Eutis doesn't have the same mistake. Yep it did. OK sort of ready to test Uter Eutis. Sort of. OK not bad I found some problems in RM 8,12 & 13 so far. Just little things but I will fix them and recompile. Well shit happens and I wasn't able to get back to this till late. So I fixed the rooms and decided I should fix the data as well. I then started testing and found a few more problems, but I think the enemy and rat kill you too often. I will have to somehow lower the percentage of that happening. A few more mistakes to fix. OK I think that's a wrap. I actually think this adventure is way better. It might be a bit harder as well. This was a tough one for some reason. Unfortunately it is too late to start Xterious, but I should be able to get at it tomorrow.
27 Jan 2019
I started the new adventure Xterious. I basically copy and pasted Uter Eutis and started changing colours. I will have to add a new verb : TIME to this adventure. I was curious because I had 25 nouns for the last adventure, what is my upper limit? I was hoping, because I had replaced the MSB and LSB in the routine that I wasn't indexing the verbs/nouns, but I am. Meaning my upper limit is exactly 255 letters, including terminating zeroes. So depending on the length of the words, I don't think I can have many more than 25, maybe 30. That's disappointing. I could rewrite the routine, but I probably won't unless I need to, and I won't need it for this adventure. The first 3 adventures were, well, not very good. My memory says that Tritonus , Gredonis and Fave Ret are better, but we'll see. I will expand this adventure as well. I will add a few more rooms, but more importantly I will add more objects to look at and distract you. lol. That's probably all the time I have this morning, I will return to this later today. Just as I thought, I really didn't get back to this till much later in the day. So I am just plotting the map and thinking about a few things. Maybe if I am not too tired of text adventures after this, I should put another one in the list for next year. Another random thing occured to me. At the moment the number for an object that is on you is one greater than then number of rooms. But as this will expand I should just change it to 128, also that way I can use BMI and BPL. It might save a few CMPs. OK I think I have all of the code updated for the next adventure, I added time and the display routine, and fixed the objects code so I can have 127 rooms (if I had the memory). I will have to start my data now. Well I got distracted and nothing got done.
28 Jan 2019
While having my coffee I started writing the data for Xterious. I have completed up to room 10. There will be 18 rooms, but I think many of the next rooms won't have as much in them. I can already tell there is more data in Xterious than Uter Eutis, and I'm not done. I think I will have to load the decompressor and test the phrases for formatting, because there are many long descriptions. Rather that go back and forth between the xVic and CBMPS as I have been doing. But first a break. Finally. When I returned I finished the last rooms and loaded the decompressor and tested the longer phrases. There were a few mistakes but it was SO much easier to fix in xVic. I just have to tie this all together, easy peasy. lol. OK I updated the verbs and nouns, I may have to update the GET, DROP, INVENTORY routines. Crap I forgot to remove a useless phrase from the beginning and now it's throwing everything off. I will have to compress again. I already updated the look rooms table, so this sucks. OK everything is finally updated and I am ready to create the rooms. I was just testing to see if the room descriptions were printing right and after a while it crashed. I realized I forgot to add rooms 17 & 18 to the room jump table. OK a quick break for my back. Moving right along. I have coded up to room 8. I have debugged some of it. I think I will stop here. That might be why I am semi-interested in this. It isn't really challenging code, and the story is (mostly) old. I am doing better on Xterious than Uter Eutis though. I just have to keep trucking, I know I'll be happy to have this updated.
29 Jan 2019
I had a bit of time before work so I coded 2 rooms. When I got back from work I coded the last 8. So it looks like I need 2 more phrases. I'm not surprized, I can't think of all of them. I compiled and realized I had to move a bit of data because it was getting overwritten. So I have about 250 bytes left in the code area and about 200 bytes left in the data area. It will be less than that when I add the 2 new phrases. I am tired but I think I have time to do this. OK last 2 phrases entered and everything is ready to test. Oops just s quick run through and I got stuck in room 4. Ah I see why I didn't STA the room. Oh I see another problem. I forgot to integrate the TIME into the adventure. It is just reading zero. So I will have to fix that tomorrow and start testing.
30 Jan 2019
Testing was going well. This morning before work I started running through the adventure, correcting mistakes as I went along. Noting a few things I should add to the data. There was 1 fairly noteworthy problem, and it was part of the LOOK <object> code. I made the mistake that if the interpreter doesn't understand a word it will return a zero, it will also return a zero if there is no word. These are two very different things that I did not differentiate. It wouldn't have been a problem except in this 1 particular case. The way I check for LOOK <no noun> and LOOK <object 0> are different. Actually I assumed the if there was no noun it would just go to the LOOK room routine. But it doesn't, it will go through the LOOK <object> routine with <object 0>. Again this wouldn't matter in most cases, but the memory location for <object 0> is actually the location for the directions to room 18. When you are in room1 the room number will match <object 0> (actually the direction for RM18) and the code will think <object 0> is in room 1 and try to do stuff for it. There is no <object 0>, so this is a problem. Luckily a simple branch fixed it (I think). Fixing more stuff I go to the last room to check and now I have to make sure that the object work correctly to sove the puzzle. And they aren't. It seems something isn't working in the crucial room. I'm hoping it isn't the nefarious BPL. Well, it was a bad branch and the whole check for the magnet was being jumped over. I will take a bit of a break, but soon I have to head to work. So after work I wasn't able to get to testing this right away, but when I did it looks like the hard part of the game works now. So I will have to add the TIME to the game, and a few more little things, but it is too late now.
31 Jan 2019
I was a bit disappointed that I didn't finish this yesterday, so today I made the last changes and phrases. I encoded the data, hopefully for the last time, and made a few little changes to the code. Now I will have to check stuff but that shouldn't take too long. LOL. I was checking the new phrases and wondering why they were blank. I forgot to enter the new data into CBMPS. But I have to fix the TIME as well. 40 moves are not near enough to finish the game even when you know how to solve the puzzle. AAAaaaand I'm done, that only took about an hour. I will take a break before I start mapping out Tritonus. I'm just starting to map out the adventure for Tritonus. It has 20 rooms in the basic version, and I will have to make it 25 to make it work. I hope I can fit this in there. I certainly won't be able to be quite as descriptive. I am starting to get a theme for the series. At first I didn't want to keep the 'and escape...' for each intro but I am starting to think I should. It might mean some mean fixes for the last 2 adventures. Especailly Xterious, there was about 50 bytes of data left and 100 bytes of code. This also makes me nervous, as Tritonus and Fave Ret are BIG adventures, can I make them fit? Alright time to start the data. It's already late so I hope I can finish tonight, but probably not. OK I created the data. I was alot more brief. Maybe because I am tired, but I kept making mistakes and having to re-encode or re-save or something. Several hours later I have the data in CBMPS only to find I am missing the phrase 'press a key'. Tomorrow I guess.
1 Feb 2019
This morning I spent about an hour updating the framework for the new adventure. I spotted a couple of other things I will need in the data, and I developed another plot point, which will need more data as well. I was a bit stingy with the items but I think that will be the trade off. Lots of rooms or lots of items. At the moment I still have about 800 bytes of data. That will change, and it will go fast. So I am not sure if I want to start the rooms, or fix the data first. One funny thing that happened to the blog, was 2 entries ago, when I was using < & > around the word object. I just used the characters and didn't think anything about it. Suddenly when viewing the VLOG there was a warning about using active X controls. I was very puzzled, there shouldn't be any active x controls in this page. Eventually I realised then my < object > was being interpreted as an active x control. I had to look up the HTML versions of these things and fix it. Well I have the first 5 rooms, but I need to take a break. I was kinda upset later this evening so rather than program I decided to play keyboard. I don't have a lot of time, but I will try to do a bit before bed. Did another 5 rooms. I am exhausted.
2 Feb 2019
Out of the corner of my eye I kept thinking I saw the word Cater, but when I looked I couldn't find it. I assumed I was seeing things and moved on (for 2 days). This morning I decided to update the data before coding. I spent about an hour doing that and importing it into CBMPS. (I also made a little video). I was just about to code a few more rooms, when I spotted it, Cater! It is literally one of the first phrases, so ALL of the data after that will be out. It is so crushing, and now I have to shovel a foot of snow. Maybe I won't get much done today. I had to stop shovelling, there is literally a mountain of snow out there, and I can't do it all in one go. So I figured I should fix the one spelling mistake and just start updating the data pointers in the intro and the 10 rooms I have coded so far. I opened the BASIC encoder program and something fortuitous happened. I inserted the R to make cater=crater and had to remove a space to make the formatting uniform. I wasn't sure but this may not move any of the data, so I encoded it and the ending address is the same! With any luck everything should be OK. Haven't tried anything yet, but finished coding to room16. I have to go out now. So this is kind of interesting, I have never made more than 16 rooms, so I will have to add another 9. OK had to stop at room 20 for the moment. Well room 20 had lots in it. The next 5 are quite busy as well, I think I should compile to see how I'm doing for memory. OK 900 bytes I think I should be OK, and there is about 200 bytes in the data area (but I did find another phrase I needed). That was a monster session. I coded all of the last rooms (there was quite a bit going on there), and added another phrase and encoded yet again (twice!). So all that is left is testing. I kinda want to start tonight but I have an early morning, I should try to go to sleep. I started to check a few things, and this thing that has been annoying me forever, became problematic. When the game is waiting for text it is supposed to blink the cursor. For some reason it has been making the first space white (as well as the one under the W as well). On a coloured screen, it is a bother, but you can still see things, so it's OK. On Tritonus' white screen, this was simply unacceptable. I kinda figured something wasn't being initialized so I looked at the cursor locations in zero page and tried zeroing a few numbers. At first I thought it didn't work, but after a delay the cusor started blinking. I knew I was on the right track and saw the cursor countdown location. If it is counting down, it probably shouldn't start at zero, so I made it 1 and now it's working the way it's suppose to! I will have to go back and fix this in the last 3 adventures as well! I will start checking the rooms for errors tomorrow.
3 Feb 2019
After work I started debugging. Lots of mistakes but they have all been (so far) easy to fix. I have to take the dog for a walk then I will return to this. Back at it for a bit, but I am so tired, I am having a bit of a hard time figuring out what's wrong. I think my flags aren't being reset but I ma not sure. I guess I will have to take a break. I rested a bit but have another early morning.I tested a bit more an finally realized what was happening. When the guards are killed in the 4 rooms they dynamically change the data pointers for the phrases for the room. I will have to change them back in init when you die. I also found 2 formatting errors, to fix them now would require updating alot (maybe 70) phrases. So any hope of finishing tonight is gone. I guess I just didn't have the time today anyway. I think I have the code fixed as best as I can for now. I will have to fix the data again. Hopefully tomorrow.
4 Feb 2019
Work was long and shitty. Then they graded all the snow where I park my truck. I still have things to do but my back is aching. So I redid the data. It moves alot of phrases up 3 bytes, so I have lots of fixing to do, but first the dog needs a walk.When I got back I plunked myself into the computer chair and revised all of the phrase pointers. It was a big and unenviable task, but it had to be done. Now does that fix everything? I will have to test everything right from the beginning. OK testing is going good. Still more little things. I hit an impasse though, I can't get the laser. It's because of a bad branch, so I guess I will have to recompile and start again. Almost, I got back to the ship and it must have tried to JMP to 675 because it crashed. Ill put a press a key in there, and try again. OK I can finish but the load screen isn't quite right. Hmmm I'm wondering if there is a JSR without a RTS somewhere. Yeah in the last few rooms I found a bunch of JSRs that should have been JMPs. I need to test again, but I think I am too tired to do this. I will have to test and fix the first 3 games as well, and see if I can add my fix to the input routine. I tested Tritonus again anyway and it looks good. I think I am finished Tritonus and I think I am done for the evening.
5 Feb 2019
Because I had managed to finish Tritonus yesterday, and was feeling good about being more than half way. I was really hoping I could accomplish something big today. It was another trying day at work and I just don't know if I have it in me to do much this evening. I did make a short story for the instruction booklet, (I guess I will have to eventually make a booklet for Tau Ceti) so I think that is finished. It has given me a few more ideas for a bit further down the road. Maybe what i should try to do is some of the fixes to the other programs. I want to bring back the ... and escape ... for each intro, and I want to add the fixes to the input routine so the cursor is always showing and is the right colour. OK that's done! There was a moment I thought I broke something on Uter Eutis. To be honest I'm not sure what was going on but it wasn't working properly. I made a couple changes and then everything was fine. So they are all a bit more uniform, and the Input routine is good now. I would like to start Gredonis, but we'll see. Maybe I can start the data. I copied the code and changed the screen and made data for the intro. I drew out the map and added a few rooms. This game is strange in that all of the doors are transporters and do not correspond to the direction you left the last room. It gets confusing real fast, originally I had 6 rooms, I will make 10, but I will try to have lots of items to look at and pick up. When programming the original it was a way to scale back the memory usage while making the game harder. I have retconned the mission and am ready to start data. I am too tired though, I will start that tomorrow.
6 Feb 2019
I am still a bit groggy myself (I will get to that). Too many early mornings are just plain difficult for me. So I started the map and data for Gredonis. You have been kidnapped this time and one of the first lines will be 'you still feel groggy.' One of the things working in the back of my mind is improving the compressor. I will jot it down here so I don't forget. There are 2 things I thought I would like to include. (why do I always have a list of 2?) the first was simply other characters. It would be nice to at least have numbers in the data. The other is a common compression idea and that is repeating data. I just realized the answer for both is not really that hard. While 1 will actually make the compressed data longer the other may make up for it. If I used 2 numbers in the first table (the first nybble) one could be for special characters, the other could be for repeating. I would lose 2 characters ( I would probably move 2 from the first table to the second table and remove the question mark and the apostrophe) but gain all of them. When the decompressor read the nybble for a special character it would just load the next byte and print it. So instead of compression it would take 2 bytes to print (if I am lucky a nybble and a byte), but I could use ANY character. Numbers, punctuation, cursor controls, colour controls, anything! When the decompressor read the other special nybble it would load a byte from a buffer and load then next byte and print the byte from the buffer the next byte amount of times. If repeating a special character this could take as many as 4 bytes, so repeats less than that would be ignored. A common repeat is the space character to align the text to the 22 character screen, I think this alone would make up some precious bytes. I won't be doing that for these adventures but maybe next round I will take a crack at it. OK back to data. Because of the nature of the directions I won't be able to use the direction table or any of the direction code in TheBigLoop, it will be kind of like the original BASIC adventures where the directions are handled right in each room. Slow going, 1 have the first 3 rooms done, and I need to take a break. First draft of the data is done, I will have to check it but I need to take a break. OK data is checked and entered into the program. Now I have to link the phrases and code the game. Not sure why but I am SO tired and it's early. I started updating a few things, I still have to fix the objects code, I decided to skip it for now, I am tired and have 2 of the same item again. Almost ready to start coding rooms but I think I have to stop, I can barely keep my eyes open.
7 Feb 2019
I was really hoping I would have some time before work, but it just isn't going to happen. I quickly made a cheat to look at all the rooms, just so I can check them. Everything looks good. Now hopefully I won't be too tired after work. We'll see.
9 Feb 2019
Disappointing but it's just been a couple of busy days. I decided to keep the room direction part and added to it to display the new directions. I started on room 1 and realized I would have to interject into the main routines and just couldn't wrap my head around it. It's not that hard but I'm just that tired. Oh and I fixed the intro.
10 Feb 2019
I decided to kinda work backwards. Room 10 is where you start and I had to start coding here. So I sort of have room 10 coded, it will just have to be tested. Hopefully I will have time today and can finish coding the majority of this game. Seems like alot more in each room, I guess that"s good. Room 5,9,10 complete, unless I add another obsticle, which I think I will. I will probably have to redo the data before going along. Had to read up on the overflow flag again. If I ever deal with signed numbers I am sort prepared. Well kind of a wasted day. I have a picture of my dad with an old country artist and I was trying to find his name. It took hours of searching through Facebook to find it, and then I found out he was still alive and performing! So I watched a video of Bob Regan performing, and thought I don't think this is right. Turns out there are 2 Bob Regan Country Artists. With a bit more searching I found out that the Bob Regan I was watching was an American, and the picture of the Bob Regan with my father was Canadian. The one I have a picture of sadly passed away in 1990. While fascinating I sure didn't get much done. OK I redid the data, and made the puzzle a little more challenging. So If I play I SHOULD be able to leave the first 3 rooms. I will try to code a few more rooms before calling it a night. OK I have about 5 and a half rooms finished. Of course it all needs to be tested. Slow going, but it is progressing.
11 Feb 2019
I got to it right away this morning, and ended up jumping all over the place. The last 2 rooms to finish will have the most in them. So I will take a (hopefully) short break and finish the coding today. Testing these hasn't been as bad, the big problem with this game is having 2 cards (3 technically), I haven't addressed that problem yet. I am actually hoping the current program will sort it out itself for the most part. I guess we will see.
12 Feb 2019
So hung over today. I really didn't do anything till just before bedtime. I coded most of the last 2 rooms. There is a little mini game that I will have to code, but as for the rest of it, it will just be debugging. I would kinda like to start on the debugging, but honestly I am tired and feel like crap.
13 Feb 2019
I started debugging and absolutely nothing was working. I couldn't figure out why. After a hunt for the problem I found I had missed one of the nouns and all the numbers were off by 1. There is a little formatting thing I have to fix as well before I recompile. Lol got trapped in room 5, a quick fix. I was too lazy to remove the directions code in the Big Loop, because no direction is the same I can't use it. Ooops that's twice the directions in the Big Loop have wrecked things. I guess I'll just take it out. OK fixed. I have more testing and a bit more coding to go but I have a few other things to do. I am back for a bit and just realized I missed an important item and the game is not solvable. I will have to think about how to fix this. I coded the mini game and the item fix. I started to debug, but there is something seriously wrong and I am unable to get the last door open. OK I am now able to finsih the game but there is so much more testing to do. My back is killing me I need a break. I traded the key for the ring, but realize the ring has to be in here somewhere too. I was having a problem with LOOK KEY, and poured over the code for way too long. I finally tried LOOK BADGE and realized that I had forgot to update the inventory look table. LOOK KEY was still pointing to 'YOU DON'T HAVE THAT.' Lost a lot of time on that. Back to testing and fixing. Well crap I thought my code would be able to deal with two of the same items and I was wrong. More fixing. OK I think I have most of the game working except the mini game. I do have to add 2 more phrases. Break first. OK I fixed the mini game, it was a simple case of not saving x before using a kernal subroutine. I added the 2 phrases and tested the 2 cards. I added the ring, and I think I have almost everything working. Except the cell door goes off and stays off. OK had to code a bit to fix that and then I found a few more problems. I think I am done. This project is taking WAY longer than I had hoped.
14 Feb 2019
Before moving on I remembered there were some strange graphics after the WHICH CARD? phrase. I tested it through the decompressor by itself and there were no strange characters after it, so I looked at the code. I quickly realized I used the wrong print routine after. I wanted to print a carriage return and should have JSRed to the kernal CHROUT routine, instead I JSRed to the print till 0 routine. An easy fix and I am done. I am looking at the code for the BASIC Fave Ret, and I can see the start of my text game journey. Gredonis used a variable array to keep track of the items and Fave Ret uses an array to store the directions for the rooms. Two things that are the core of my ML versions. The unfortunate thing here is there are quite a few rooms but literally NO description of the rooms or what's in them. It is like this big empty shell. Hopefully that is something I can remedy. I believe there are 22 rooms already, so I will mostly be adding some texture to this adventure. I will also have to retcon the mission. Not sure where to start, I don't have much time anyway. Updated a few things, and now it is time to start some data. I will probably have to start this after work. Just another thought. If I ever do (which I hope I will) another of these big text adventures, I will have to do a few and then take a break, or do something else for a bit. Because it is just too much of the same thing over and over. This, on the other hand, I plan on plowing through this one till the finish. I am closer, only 2 more adventures and an epilogue. When I got home I really really tried to do something, but I am just too tired. I guess I copied the map and got a feel for the game. I have a very good idea for the intro, but that will have to wait till tomorrow.
15 Feb 2019
Didn't get too far before I ran out of time. I created the intro and will have another intro-like bit to explain the base and how you got in. From there I will just have to start explaining rooms, and some of the things that would be in them. Not too sure how wordy I can get . But I will have to attempt this after work, hopefully it's not too busy today.
16 Feb 2019
Finally starting the data for Fave Ret. I am going to try to take my time, I think I kinda rushed the data for Gredonis. I could have been a bit more descriptive. I finished the first room and the intro, but I think I already have to take a break. I have a lot of blank spots in my map, I have to fill them in. These were originally hallways or storage and I think they should be something a bit more substantial. OK map is filled in, now for that break. I have added up to room 10 for now, not sure how much further I will get tonight, as I have other obligations. When I returned I did another five rooms, but I will have to stop here.
17 Feb 2019
I finished all of the data this morning and checked it. There were several fixes needed but I think everything is ready. Gredonis was difficult because it wasn't linear, thank goodness Favé Ret is. Unless I add more data I am 168 bytes from the top! I think I have created a devious puzzle, maybe not for the first goal, but certainly to get the second item that you will need in the secret adventure. I'd better not talk about it, it's a secret. I have been in the chair for about 2 hours, I think it is time to do something else for a bit. As usual I didn't get back to this till late. I added the data and then started calculating the room directions and I thought of a few more phrases I will need. Have to take the dog for a bit, I hope I can get started on this tonight.
18 Feb 2019
Had to work early this morning, so very tired when I got home. I added the 3 phrases I needed and started updating the program. Hope I don't have to add anymore data I have 80 bytes left there. I should start to work on the rooms but I don't think I will get to that before bed. I guess we'll see.
19 Feb 2019
Today I started coding the rooms. While I was doing the first room I realised I needed yet another phrase. And then I had to do some extensive changes to the main routines. I really hope I have enough room for this, there will be alot of extra code. From dealing with the guards to the non linear rooms, just alot for IFs to deal with. By the way Fave Ret is a 3 dimentional map, but there really isn't enough memory to make 2 or 3 grids, so the rooms are really haphazzard. OK first room complete along with the cut into the mains routine. More coffee. Slow going. Finished room 4, 21 to go! I was working on room 6 and realised I missed an important phrase. I was thinking I should add it to the room description, but then all of the phrase pointers would have to recalculated and I would have to go through and fix all of the stuff I had already finished. Luckily I found a way to avoid that. I added 2 more phrases, hopefully they fit! 66 bytes to spare! Unfortunately I only finished up to room 7.
20 Feb 2019
Just slowly working through the rooms. Remembered an important thing for RM 6 that I missed. Coded up to RM 10. I am a bit worried as I am 400 bytes over the 6.5K. Although this could change, because I just left all the old code from RM11 to 25. I hope. More coffee. Up to room 15. Break time. Finished RM 18, 600 bytes over!! I really may have to do some serious cutting! UG! I finished and saw a couple of things I should remove from the BIG LOOP (like North and South as I have to deal with them in each room) so I did and I am STILL 127 bytes over! I could look for a few more things to cut, but really, I doubt I could find 127 bytes. My only choice is to put something in the cassette buffer. The question is, which way? Should I make it all 1 program and temporarily have it on the screen? This would mess up my little solar system picture. I think I should do it the old fashioned way and have it load a separate program into the cassette buffer. Wow, after adding the load routine and putting stuff in the cassette buffer I have 3 bytes left!!! Right from 820 there is continuous code to 7633. I guess I have 50 bytes at the end. Maybe I cound move some small data tables there. So if I have any big fixes to do I am screwed!!! Lots and lots of testing. But I must clear my head now. Move some stuff around, added some data, now it's time for debugging. Already found a few minor things. But I have run into something kinda bad. The whole guards thing isn't quite working. I'm sure I can figure this out, but maybe I have to take a break. I think I have that working now. Tested most of the east side of the base. I realise I forgot to add the map. This is horrible because I know this will be a huge abount of bytes to print the map. At my last count there were 7 bytes below the data and 4 after. Lol I tried to triiger the event that allows you to finish the game, and it killed me. At first I was puzzled, then I remembered there was some code I had been meaning to remove. For some game (maybe even in Cygnis) the character would be killed in a subroutine and I needed to pass something back to the main routine so I didn't jump out of a subroutine. At the beginning of the Big Loop was some code looking in the dflag to see if it was greater than 50 (not sure why 50, maybe to catch a bit 6 as well as a bit7 ??). I haven't used this flag for that purpose for probably all 6 games so far. In fact I'm sure that flag has only been incremented and has always been less than 10, until now. I needed a way to keep track of the amount of guards and the way to win, so bit 7 was my new best friend. But then it wasn't. So while I removed that old code, I updated a few things to save a few more bytes as well. Lots of little mistakes. I found a terrible error that was making room 17 crash. Slowly eating up the bytes I saved. I can almost solve it. So close. I think I got the last few bugs but my back is killing me. I have to figure out how to add the map in tomorrow anyway, I will finish the last couple things then.
21 Feb 2019
I am screwed. I tried doing the map a few different ways but it seems like I need 170 bytes for data and prolly 20 for code. I have 30 bytes. OK I was thinking I might be able to stash it at 675. (673 and 674 are corrupted when you use the cassette) there are 92 bytes there. I made the cheapest possible data and it's still 98 bytes! Not sure what to do. I will at least make sure the rest of the game is debugged. OK there were a few more things, like a JMP instead of a JSR which brought us out of the program. I think it's working now. I just have to decide what I am going to do with the map. And how I am going to load all of this into 6556 bytes. Well no time now, off to work. Back. This is going to suck. I will have to load my map in the preceeding program at 681, I forgot I am using 675 - 680. So this will not hold the entire map, just most of it (681-767). Then the Fave Ret program will load the rest of the rooms into the cassette buffer. I cannot start at 820, I am using that for something as well. So it will be 822-1023. OK I set it up and I am 5 bytes over. I have to find 5 bytes to remove from somewhere. I was just about to leave it for tomorrow, when I looked at dflag and rjump. They were 5 bytes that I could move anywhere as they were absolute variables. Unfortunetly I only have 4 bytes left at the top of memory (just under 7680), then I realised I am not using dflag+2 for anything. So I saved 5 bytes and only needed 4. I will have to check that Init isn't overwriting anything, but I think I may have set this up. OK I was able to trim a couple more bytes but had to move one of the variables back because I actually only had 3 bytes at the TOM not 4. So there is 1 byte at 7679, and 2 bytes 4663!! It will have to load as 3 separate programs! I will have to try saving and then loading it tomorrow. Yeah that's just not working. I'm not sure why but it won't print the map at 681, if I move it elsewhere it prints fine. I will have to sleep on this.
22 Feb 2019
If this was later in the year, or I wasn't so determined to finish this, this problem would have probably stopped me for the year. But today I tried loading the snippet at 681 and it printed fine. But really it would be better (and save a few bytes) if the map was all in one place. So I looked for a chunk of code that was around 86 bytes. The closest is either room 6 or room 15 at 84 and 85 bytes respectively. The map HAS to be in set uppercase mode so I will have to change it and then change it back, meaning I have to add code for both changes and a wait for keypress. The changes to uppercase and lowercase I will put into phrases printed by the print till 0 routine. The map is one and the "what are you going to do?" is the other. That only adds 2 bytes. I had 2 extra bytes and saved 7, so I should have enough to make a loop to wait for a keypress. The next thing will be to add a bunch of this to Gredonis. I realized rather than load the snippet at 681 (and also there will be a problem loading things at 822-827, maybe right to 848!!), Gredonis has alot of space, I could use that program to load areas not affected by the cassette. The problem will be 828 to 848. Will I be able to load to this area? Or will I have to put it on the screen and move it like I usually do. I hate that method, but I may have to use it. One bonus to this is that Fave Ret could be saved as 1 program and I could remove the load at the beginning. This will all take some time, because I won't be able to use the assembler to resolve addresses, I will have to calculate them myself. Then will be the delicate act of saving it all and testing it. I doubt that I can get it finished today, but at least I have a plan. Some testing has shed a bit of light on why I was having problems yesterday. It seems the print till 0 routine needs some free memory. I don't know why, it doesn't use any. And it doesn't need it for phrases later in memory. Weird. Anyway not important now, have to get ready for work, but if it's not too busy maybe after work I can start doing some of this. It took some time to make sure I was happy with the map (lots of cheating to make it work enough for me to see it). Then I started to disassemble rm15 in Gredonis. I tried to make a quick routine in Gredonis to save rm 15. For some reason it was crashing so I just did it a different way, and it works now. So that is in memory. I just remembered I can't move ANYTHING!!! I need to (eventually) jump to 7680 to move all of the stuff off of the screen, luckily I can do that In Gredonis too. Man I had ALL of the JMPs wrong, I had to look for and re-calculate all of them. But now RM 15 is working. Next step will be to put RMs21-25 on the screen and then save and test that program. I have a tough day at work tomorrow, maybe the next day. We'll see. Oh by the way I now have 33 bytes free !!
23 Feb 2019
I wanted to change the start address in Gredonis and realized that the new code was being overwritten. I'm not even sure how that was working! So today I will try to get the addresses for rooms 21-25 and hopefully I won't need to do much more except a bit of code to move that code to 822-1023. Lol there is a couple colours that aren't right for the ending screen, but I am going to leave it because everything is working!!! That was difficult!! 2 more programs to go!! But first work :( .
WOW! That was kind of an ordeal. I hope this last program, Dryton, isn't as difficult. Also, I think Fave Ret has a very devious puzzle. So I can kinda go a bit crazy with Dryton, the original game only had 8 rooms! I do have a couple of ideas, although I am not entirely sure I should keep 25 rooms. If I want to fit it in 6556 bytes. I certainly can't use Fave Ret to load an extra room at 681, so I will have to be careful. First I will revisit the original. OK well that didn't take long. I have a map and several ideas. I hope this will all fit. I will start the data tomorrow.
24 Feb 2019
Terrible sleep, so I am moving really slow today. Made a couple of fixes to covers, and a note to fix Cygnus. I was sure the spelling was what I originally put. Hopefully by the time you read this, it will be fixed and you won't know what I am talking about. I also fixed a cover for game #17. The name didn't stand out very well, so I did some tinkering. It's strange, but I have been thinking about the past alot in the last 2 days. One thing that crossed my mind was making these covers. Back in about 2000, I got my first PC. It was old and slow, but it worked well enough to put me on a path that I couldn't be without a computer after that. Previously I had no computer after my Vic20 (I got a few second hand Commodore 64s but I rarely used them). At that point I had plenty of time, so when I aquired a scanner I scanned all of the drawings I had for the first 60 games or so. At this period many of the titles changed. I also drew many more covers and within the next year or so, and started drawing them in Paint. I wanted them simple and child-like so mistakes were almost better. I'll be honest and the list is an almost ever changing, so I'm not really sure when I completed it (128 titles), I would guess soon after this. I know that in late 2002 when I had to move back home, all the titles were filled in, because I put all of my important computer stuff onto a burned CD and I still have it. Of course there have been changes, I don't think there have been any recent casualties, but weaker titles or things I am no longer interested in pursuing are replaced with new things that inspire me. For now I refuse to add anymore titles, at my current rate I might finish my list in 40 more years, but I do think of the possibility of going beyond it, maybe someday. Now that I am in the homestretch of Betelgeuse, I think I may have to look into updating many of the old programs. Some will be fairly simple, some will take huge chunks of time (like Betelgeuse has) . Not because they will be difficult but because they are big programs (Cauldron comes to mind). And even though it will take away time to continue working on the list, updating the current games comes down to a simple idea. I liked the concept of each of these enough to draw a cover and many other associated scribbles and ramblings as well as make the game (many times with it's shortcomings), I think it would be well worth it to have a version that I am proud of. In many cases I am happy with the original but would still be interested in doing an updated version (as I have time), but for those few that fell short of my expectations, this would be a chance at redemption. Maybe next year I will take another stab at Tyrant I. OK enough of that. Time to work on some phrases for Dryton. Ended up with only a little time for this, but I did finish the first draft of the data. I copied the data into the Dryton code and emptied all of the rooms, and put them back where they belonged for now. This one looks like it will fit into the main memory without too much extra. OK put a fork in me, I'm done.
25 Feb 2019
Had to work early. After work I opened Dryton in CBMPS and updated all of the code. I see a few things I will have to add to the phrases, nothing too crucial. If I have a bit more time tonight I will start coding the rooms. Had a bit of time in the evening so I did a couple of rooms.
26 Feb 2019
It was a busy day, but not for programming. I managed to code up to room 16. Hopefully I can finish the last 8 rooms tomorrow and start testing, but then again tomorrow will be a busy day as well.
27 Feb 2019
Had some time before work. I finished coding the rooms. There are quite a few phrases that i still need, so I am not quite ready to start debugging. Pretty close. Have to get ready for work, so hopefully after work I can do a bit. After work I added the phrases and added the code to point to them. I figured I could start testing, but quickly in room 1 there were problems. I am too tired to figure it out tonight. I'll work on it more tomorrow.
28 Feb 2019
Got my coffee and got right to it. I found 2 serious problems right off of the hop. I couldn't go south from RM1. It turned out that I forgot a JMP in the BIG LOOP that sent all SOUTH commands to the "YOU CAN'T GO THAT WAY." routine. Once I found it, it was an easy fix. But I couldn't look at anything in RM1 either. Turns out I compared the verb, but the noun was missing a couple of instructions. And my dead routine was printing the same phrase twice. Recompile and see how far I get. Finding lots of little mistakes. Made it into the castle, haven't checked all of these rooms yet, but I should recompile and recheck a few things. OK there were lots of little mistakes. Two hours later I think I have it working, I still have a final check to do but I need a break. YAAA! I'm done. I will have to build the epilogue and then start wrapping this up. Not sure if I'll have time today, lots of things on the 'to do' list. It's been so cold for the last month, todays temperature of -16 seems pleasant!
Later in the day I started setting up the Factory program. It will be sort of a bonus game/epilogue. I also looked at the splash loader and I am of two minds. I can keep the new colours and change the game cover OR I can just add the 30th anniversary to the cover and change the colours on the splash loader. (I would have to run the picture through again and switch a couple of things like the auxillary colour and the character colour). I'm just not sure what I want to do. I started to map out the last of the epilogue, but ran out of steam. If I am not too tired after work, I will try to get the data together for this.
2 March 2019
I had a long day at work. it was too hard to do anything yesterday. But I did decide something. I will keep the new splash page and have already made the new cover for the 20th anniversary. If I want I can always change it back sometime in the future. This morning I started on the data for the epilogue. Because the phrases are long, it is taking quite a while to get the formatting right. I have the first 4 phrases finished but it is taking a long time. I have been in the chair for over 2 hours. I need a break. Funny I wasn't able to get back to this till late. So I finished checking the formatting and saved it into CBMPS. I was hoping to get a bit farther today, but there were other things that I needed to attend to. I will start coding tomorrow.
3 March 2019
In the home stretch today.I finished coding the rooms and started testing. The thing that doesn't seem to work is the get items routine. This is kinda important as it checks to see what bonus items you kept along the way. Anyway it's not working but I have to take a break. HA! The problem was I jumped to the getitem subroutine and then later jumped to INIT which zeroed everything. So I quickly debugged the game and I think I am done. Although I do wish I had a couple of graphics for the end. I will think about this. Maybe a Poxil picture, well I guess I would need 2. Well I picked 2 pictures that I thought would work and converted them to 64x128 pixel pictures with 4 colours and they look good. But I would need a separate program possibly for each picture!! So I converted them further still to 44x48 (poxil size) and they looked terrible. I can safely say they were mostly unregognizable. So I am pretty sure there won't be any pictures here, which is too bad, but they are text games. So I will start putting a TAP together, hopefully tomorrow
4 March 2019
Didn't get much sleep last night. So I am having a hard time thinking this stuff through. I will have to set up the auto loader to go to a lower address, as the AJ loader will load in at 1025 rather than 4097 (it loads as a BASIC program). Not sure what that address is as it is above all the DATA. Plus I am sure there was a 3K version of the AJ loader somwhere, but I can't locate it. Once I can get over this little hump the rest SHOULD go smoothly. Although Fave Ret maybe a bit of a problem, just because of the cassette buffer stuff. Alright I couldn't find a 3K logo program so I made one. I tried to update the loader as well but it looks like I forgot a few things, same as the Logo program and B0 (there must be a RTS that I forgot to remove).So I will take a break and hopefully be able to fix this.
Yep, MOST of the fixes were straight forward and I believe Betelgeuse V3.0 is complete!!! I will have to do a full test of it later or tomorrow. I just want to make sure the loaders are working and it is keeping track of the bonus items. Because it is such a VAST improvement over the previous game I skipped right over version 2, how's that! I don't think I had any idea of what a huge and difficult undertaking this would be. About 45K of games and 5K of loaders and the like. I had no idea that it would take almost 2 months to finish this. It's probably a good thing that I didn't, or I may not have started. I played the first 3 games of Tau Ceti and I think there are a few things that got lost that I will have to include in future games. (Niceties I took out for Cygnus), but overall I am very happy with Betelgeuse. One thing I am grateful to have solved is the cursor colour issue. (Someday when I revamp Tau Ceti I'll have to fix it in there too.) I would liked to have put a couple of pictures at the end, but I think the cassette is already very long. I'm not sure who would have the tenacity to last for the 20 minute load (Not all at one time mind you but still ...) Even though this was a long and difficult (in the way that it was long and repetitive) game I actually am looking forward to making more text adventures. And there are more pencilled in!! My only disappointment is that I can't cross out a game from the list, because I crossed it out in 1998.
I spent the rest of the evening updating a few of the relevant web pages. And the new catalogue. I figured I should put up a picture that is something different than a Vic 20 screen shot. I certainly was running CBMPS hard. It was actually getting slow. I am probably using the whole project thing wrong, but it still worked. I kinda want to empty the binder and a bunch of things like that, but I still actually have to do a final test, and might need the notes. I do hope that I don't have to make any changes, but if somethings wrong, I'm certainly not going to leave it.
5 March 2019
Well that's disappointing. I have already found two problems. One is huge. The lesser one, is when checking the inventory (in Epsilon Aerigie), I think the MSB is crossing a page and printing jibberish for the later items. Of course one character it printed was a shift to uppercase, so that HAS to be fixed. The other is more devious and that is, I think because I am loading these like BASIC programs, and they load up to, and passed the top of memory, there is nowhere to store a variable (the load name). So it just searches to the end of the TAP. I can manually lower the top of the BASIC program, which may work, except for Fave Ret, I don't hink I have enough memory left!! Not sure how much time I will have today, but I will do what I can. Well I found another issue, but this one will be easy to fix. To save the first several games I moved Top of Basic to 7674, just so I had a few bytes to save with. Unfortunately Epsilon Aerigie stops at 7676. So a phrase continued to read right on for the next 255 bytes. OK I added a bit of code I will try this. Hmm not working. I may have to move where the name is stored to start with. OK I stored it at 250 and that works. Not sure what I am going to do for Fave Ret. So I will have to leave for a bit but when I return I will have to fix the load for all the rest of the games and I just realized I didn't zero 820, that is important! Maybe I will add the rumour to Uter Eutis as well. So I added a bit to Uter Eutis and fixed the load for all 7 adventures. Before I resave the epilogue, I have decided I will add the pictures. I will find a way for them to both fit into 1 program. I added the load to the epilogue but CBMPS is crashing when I try to save the program to a disk! I decided to download and re-install the newest version of CBMPS as I was having a couple of issues anyway. Nope still the same problem. I will restart the machine as it has been on all day, and try again. Yeah there are a couple of funny things happening now. I can't make a .d64 and it won't write more than one .P00 file. It has taken most of the night to get the picture program to save. I now have it on the .TAP file and will have to test everything. But I think I will have to do that tomorrow.
6 March 2019
Testing this morning went mostly well. There were 2 problems. One was kinda minor, there was reversed branch in Gredonis, making me have to drop an item to solve the puzzle rather than having it. The other was a bit more scary. Fave Ret put a bunch of garbage on the screen for the load and didn't load the next game. Looking at the code I used a LDA instead of a LDX making the load name 250 character long and loading at who knows where. So hopefully they are bothe fixed I will just have to re-record them on the TAP. When testing I missed the binus item in Xterious so I will just have to make sure its there, gettable and saves it into memory. So a bit more testing yet. For some reason the .D64s are working again today. Hmmm found another problem. I really wish I had made a MSB table for the gettable items, as this has been an ongoing problem, and it has popped up in both Tritonus and Xterious. I guess I will have to check this for all of the games, I will have to finish this later. Also the bonus item DIDN'T save so I will have to fix that as well. I think I fixed Xterious, but Tritonus has the same problem. I'm not sure what the heck it going on but I can't get the repulsor to appear in the inventory. It always comes up as goggles. It makes NO sense, I can't seem to fix it. I finally just gave it a variable name and that seemed to work. So drunk I went through the last few games and finished testing. I did have to resave most of the games but they all work now. So I guess I was a bit premature, by saying I was done on the 4th, but I am certainly done tonight! I knew I had to finish soon or else it would have to wait till the 25th anniversary.
I actually have several notes for this, which is funny. I haven't needed much for notes since I started using CBMPS but I guess this stuff is a bit complex and I need papers to keep track of some stuff. This took alot out of me, I hope I still have steam to work on another game or two. There are 3 games on the next 10 list that have been there since the start of the list. All of the games are a bit complicated, but I hope to finish one of the hard ones and maybe an easy one on the list. That is a bit of a problem, all of the games have gotten more and more complex. Soon there won't be any easy games, they will all be hard complex games that will take a long time to program. It worries me a bit, but it is what it is.
Working on Heart Attack
8 March 2019
Yesterday was terrible. No sleep, no time before work. Today is better. So I figured I would just start looking at the graphics portion of the game Heart Attack. I set it up to print out the graphics and there are two obvious problems. One is that I don't have all of the data for the picture. The data should go all the way up to 7167 but it is only up to 6655. SO I will have to get the rest of the picture data. The other is something I vaugely realised before, and that is, with the data the way it is, there will be very little memory left to play with. 1392 bytes in fact. Which will be more than enough to make the game with, but won't be enough to add another 2K of graphics for a second level. There are several characters that are exactly the same, so hopefully I can either use some form of manual compression, or build an actual compressor. This compressor would deal strictly with repeating bytes. It is what I understand the basic idea behind the first compressed picture formats. Not sure if I need that, but it could be interesting. I guess it just depends on how big the de-compressor is to make it worthwhile. Unfortunately I have no more time to play around with this, for now. After work I got the rest of the data, and started the screen. I think this is what it will look like. The play mechaninic shouldn't take too much memory, but I will have to test it out. I looked at the pros and cons of the 2 ways of saving the graphics and I'm pretty sure the compressor is the way to go. So hopefully I can get at least 2 sets of graphics in here. So that's actually a good start.
9 March 2019
Didn't sleep well again. Have a huge headache but decided to proceed with the copressor. It was difficult becaues I am not thinking well, but about an hour and a half I have the hard stuff done. I have the repeats taking up 3 bytes (although I will still have to test it to be 100% sure), I will still have to add a bit if the byte is zero. There is a problem, and that is even compressed, it is still too big. The compressed file (for now, before testing) takes up 626 bytes. A far cry from the 2048, but still too many. I will have to think on this. I had hoped to have 2 (or maybe more) screens per program, and keep it in as few programs as possible, but even if the 2nd picture is around the same that would consume ALL of the remaining memory before the actual game. Even using the cassette buffer would only add 320 bytes. SO I think I am stuck with one screeen per program and have to load then next as needed. That is unfortunate. I am out of time for now, but when I get back to this I guess I will have to just work on the first level and see where that leaves me. When I got home from work I wrote the code to move some of the graphics around. It almost works, but there is something that isn't quite right and I just can't seem to find it. I guess I will have to leave it for tonight, try fresh tomorrow.
10 March 2019
Well don't I feel stupid. It took almost an hour to find the mistake. I guess I was tired last night, so first I had the whole operation backwards, that certainly helped. But it seemed to be skipping a block on every row. In the back of my mind it was one of my counters at fault. I don't know why it took so long to find, but nestled in between the code that gets the graphics from the next row was my culprit. It was supposed to not look for the graphics for the very last row, but instead it was skipping it on the very first column. I don't need that now anyway. So I guess that is done. Next will be the joystick input. This will be a bit strange as it won't be the regular up, down, left, right. It may take a while to code, and quite a while to debug. I need to find out how long to wait between joystick movement, so I am testing that now, but I may have to return to this later.
12 March 2019
Yesterday I had to work a morning and by the time I got to the computer it was too late. Today I had to get off of my lazy ass and get some stuff done, so it was a productive day, just not for programming. I opened the program and fixed a couple of things to see what the timers looked like after each joystick movement, but something is wrong and the numbers almost seem random. Tired and just can't figure it out.
13 March 2019
Took a while to get to programming today, but I finally debugged and kinda looked at my joystick routine. I guess the bottom line is I now have an idea, so I will have to just pick some numbers and try them out. I am pretty sure I will have to tweak the numbers anyway. So if I have time today, I will start constructing the real joystick routine. I guess this will be the heart of the game (pun indended) so I will have to test it alot to make sure it is challenging but not too challenging. Several hours later and I have the shell of a game. It isn't a fun game yet, but there is a game here. I will have to add the compressor and compressed graphics to reset. I forgot about that. I may only be able to load 1 screen, but I have an idea. I could have a second screen on the other side of the cassette. What will make it more difficult or challenging will be the precision of the joystick movement. Well I think I will take a break now. I was hoping to do more, but I am too tired now. I just fixed the car picture, I am hoping I can add it in.
14 March 2019
Code-wise there are 2 things I will have to do (today or when I get at them). One is the bar on the side. Right now, it is working like a progress bar, which was interesting to program ( it increments by a vertical pixel) but doesn't really help the game at all. It needs to be a power bar, indicating if you should speed up or slow down. The other will be re-importing my compressor (I think I saved it) and testing it, and compressing the first picture, and if I can, a second. Working on the compressor-decompressor. It keeps overwriting my program so I can't see what is going on. Obviously something isn't quite right.
16 March 2019
Back at it again. I have been at this for about an hour and literally have gotten nowhere. It is tough to debug because all I can do is compress it then de-compress it and wonder where the mistakes lie. Simply because I have no way of knowing what the data should be after compressing. It is only after de-compressing that I can see that something is amiss. So far I can tell there is somethign wrong with the 0 non repeating routine on the compression side, but not sure what. I did find a fairly big boo-boo in the compression routine where I was adding 2 to the non-compressed graphics counter. I will keep working on this, but it may take a while. Looking at the de-compressor I found a similar error, I'm sure it won't solve everything, but it will certainly help. I am starting to make headway. It seems that so far the mistakes are in the compressor. There was a problem in the non-repeating 0 routine, and now I am SO VERY CLOSE! There is still something not quite right, so I will keep searching. All of the repeats work except for 0. For some reason it is putting a 0 after a 0 repeat code. I need to break for a bit. it has been 3 hours. YAA!! I have the compression routines working as far as the graphics go. For some reason the de-compressor is crashing. I assumed it was being overwritten, but that SHOULDN'T happen. At any rate I will have to keep looking, becuase there is one more bug. I was checking the wrong MSB to see if we were finished. Now we are golden. So the 2K graphics compresses to 553 bytes. That is going to work well I think!! OK I imported the compressed data back into the program but there are going to be memory conflicts, so I will have to juggle things around a bit. So the majority of the code sits above the graphics @ 7168. There is 100 bytes below the compressed graphics @ 4464 and 20 between the current code and the screen. I think I am going to compress another picture and see if i can fit it in. I'm sure that I can move a bunch of stuff to the cassette buffer, hopefully I can free up enough memory to make it work. Well just to test it I put in the second screen, and I think that will work if I can make it all fit. But there is something that still isn't quite right because I can't run it a second time.
17 March 2019
Happy St Patricks day! I was thinking that there is probably just an extra 255 in the data that is overwriting the code at 7168. Sure enough that was the problem. Now the de-compressor is working after the first run. So there is a bit of a problem, when moving the graphics the very last time it leaves a empty block near where it starts. There is a larger problem and that is, the grpahics HAVE to be @ 5120. Below that is 1K, above it is 512bytes. Both compressed pictures are about 550bytes. and need continuous memory. SO even though there is enough memory, there is not enough continuous memory. I have an idea that may shrink the size of the second picture somewhat, but beyond that, I don't think there is much I can do. The other problem is simply the actual game part (the code) is about 650 bytes (and will need a bit more). I am not sure that even with the cassette buffer (203 bytes) and the area @ 675 (92 bytes) that I will have enough memory. I might be able to steal a bit back from the computers work area at 256 but I am not sure how much. I will have to think about this. OK something I could do is REALLY juggle memory around. I could move the screen to 4096, and then the graphics could be at 6144-8192. Thsi would leave 4608 to 6143 free making a 1536 byte continuous zone. Not sure how much work this would require to make it work but I will try this a bit later. I started moving things around for this new structure, but ran out of time. I'm still not sure there is enough memory for everything. It certainly will be tight.
18 March 2019
Some days my objective for the day is clear, other days it is less so. Today is one that I had to figure out where to start before I started. Nothing will work the way it is, because I literally jumbled everything up to make the graphics fit. So I guess my first goal is to get the program back to the way it was (which was a partially working game). I will also have to trim ALL the fat. I looked at the way I printed the meter and realised I could cut about 10 instructions if I coded it a different way, those kind of things will make a difference to this game being completed or not. I also changed several hard numbers to variables in the assembler so that moving them around is less painful. I guess I should make the change to the second screen and see if i save any memory. Well it is sad to lose that little detail, but removing that 1 line in the graphics saved 60 bytes! Hmmm it's still not enough to fit everything I currently have in there. I moved another routine to the area at 675 and now I have 40 bytes free in the main memory and about 30 @ 675 and about 10-18 in the cassette buffer (if I move some other varibles). I still have to resolve several addresses, but I am close to trying this out. Well I have it all back together, and most of it works. The addblock routine isn't for some reason. OK it was because I hadn't updated the numbers for the new screen and graphics locations. So now I am back to where I was. and I must take a break. Trying to re-configure the bar to a meter, it's coming along slowly. I think I have the up meter coded, I just need to find 9 bytes to put a sound. I have it not crashing, but it isn't working the way it should. I think I see what I have to do but it means adding code to my spot @675 and there just isn't room there. I need a break anyway. I finally found the problem, so the up part of the meter is working. The problem is I don't have any more memory. I'm not sure how much I will need to finish the game but I will need more than the 5 that remain. I have a bit of an idea, and I will have to skimp on alot of details, but I might be able to free up a few more bytes. Like score, forget it! Well that was an ordeal, but I have it working for the moment. It is quite fragile, if I add code I have to remove graphics. If I don't, nothing lines up and nothing works. Several hours later, I think I have that working. So all I have to do is the level up. I am SO glad i stuck it out for the 2 screens. I am really pushing boundaries with this game (at least for myself). OK let's see if I can wrap this up. Wow that was a very interesting game to program! So I'm not sure if I can finish the whole thing tonight, but the game itself is done. I will have to make a splash screen and a loader that moves the screen and puts the ML routines at 659 and 675. The last of the ML I hid underneath the top 2 rows of graphics. Both pictures had nothing there anyway. I used almost all of that memory as well, so this game really challenged the limits of the unexpanded memory as well. I am absolutely tickled pink with this game. I may tweak the level up stuff a bit. We'll see, I have spent a good portion of the day working on this.
I am a bit disappointed that I couldn't fit in the other 2 screens, but there is absolutely no way I could. Maybe I can re-visit this idea sometime in the future. I was thinking I might start the splash page, I already had the picture mostly converted. But I have to work early in the morning, so maybe I should do that tomorrow.
19 March 2019
So tired. Had to work early. When I got home from work I built the splash loader and put all the extras in. I built the AJ loader and started saving everything to TAP. When I tested it though something funny was happening. After a while I decided to look at the current memory in the vic and there are some wierd numbers in the code. In twosound in particular and also the code that zeros the level. So strange. I will try to save it again. Nope. It almost looks like it is trying to do a BASIC link again. I'm not sure how I can fix this. Woah! Even the disk version is corrupted now. WTF is going on! I'm too tired to figure this out tonight. I gave it one last try and this time I moved the start of memory above the game. That seems to have worked! I guess I am done! I will have to leave the rituals for tomorrow.
20 March 2019
Tough day at work, so I am glad I don't have much to do today. Basically update all of the web pages and the main binder. I have WAY too many pages of mostly irrelevant information, but they are mostly all upadetd now. I have went as far with that as I can. I have to update the cassette cover and make it as well as instructions for it. Then take pictures and update the store web page. I'll leave that for another day. I guess I will have to find a new binder or duotang to put notes in. So I put another single digit serial number game in the next 10 list. All these ideas are so old, most of them I really had no idea about the mechanics of even trying to make these games. I'm kinda surprized that I could even make a game out of the idea I had for Heart Attack. But it is still fairly true to the original idea while making it work on the Vic. I believe for these games I didn't even know what system I would program them on. So the ideas pre-date me owning a Vic. This is why my first game, Bopper, is number 13. Something good is that the number of games on the original next 10 list continue dwindling. There are only 2 games from the original list. One is a very BIG EXPANSIVE game that I hope to work on next cycle. The other is a platformer that I think I will try to work on pixel movement. This I will also hopefully get at next cylce. Then there is one other game that has been on the list for a while, and that is one I would like to work on next. It is the original Adez game. I made a BASIC version of it in the 80's and have made Adez the AJ & KJ mascot (He is in 3 released games and will be in many more). Unfortunately I felt the BASIC version wasn't good enough, and knew I wanted to program it in ML. I think I have been capable of making this game for some time now, but there were other games I felt were more important to complete first. Anyway I have that and another possible game to work on (if I can). I also have to see if I can start copying games with my CASSIOPEI. It is something I'm not looking forward to because in the past it has been SO frustrating. But it is something I HAVE to do. Hopefully I can get as much of this done as soon as possible because the snow is melting and soon I won't have time to program again. I made the instruction booklet and the cassette cover, I just have to print them out. Seems to me there was something else I wanted to do tonight, but I am running out of steam.
Working on Adez I
21 March 2019
I have a headache but I decided to do a bit of programming anyway. I made the graphics I needed (I think I got all of them) and coded a title page. But I think I will have to leave it here for a moment. When I got back from work I tried to make a loop but I'm just too tired to figure out what I did wrong.
22 March 2019
I just jumped into debugging right away, and soon I had the basic loop for the game. I decided to work on the background mountains and they are actually already more complex than the rest of the game so far. Having problems to get them to display properly, and I am running out of time before work. OK I have to go to work but I have the main loop, and I have some mountains and clouds backgrounds and they are moving! Next I guess should be the joystick routine and dying. I had hoped I would be able to program a bit after work but I am completely exhausted.
23 March 2019
This morning I got right to it again. I coded the joystick and debugged that routine, and then the dead routine, and debugged that. Neither routine needed alot of fixing. I basically have the game already. I just need a level up, game over and the music. This project is just moving along. I think it is because this is a game I have really wanted to make for a while, and I had alot of it already figured out. I haven't added the music yet, but I have most of that figured out as well. So this shouldn't take too long. Me and my big mouth. I started the level up and realized I would have to make some major changes to my main scroll routine, and that's where it all went south. There were several problems, last last one just took a crazy effort for find out what it was doing wrong, so I could fix it. So I now have the level up mostly done. I was going to add a bomb dropping bird but I wonder if it would be too much. The game is already hard. I have to test the dead routine for spears and walls and add something for crushing a spear. Then it will be on to music. In the original, the screen colours changed for different levels (of course the game stopped as well). At the moment one level scrolls right into the next, and I actually kinda like that. I have to take the dog for a walk, I guess I can think about it for about an hour, but I am leaning towards just keeping it the way it is. Well I got back and had to work on the dead routine, because it isn't working the way I want it to work. After supper I finally get all of that working, so in essence I basically have the game. I have to make a game over part and now just the music. The game over part will be easy. The music may take a bit. First I will look at a BASIC program that I made a long time ago that has the main part of the music in it. I did have to modify the music data quite a bit, but it all worked right away!! Except it was too slow. So I put it in the delay and that complicated things. It took a while to get it working again but I have and it's working great now! I played it and made it to level 4. All that is left is a game over routine! I tested it quite a bit and I'm done. This is definately the fastest I have ever made a ML game, but as I said I had alot of it sort of mapped out. Not sure if I should do the splash page tonight or not. I guess first I have to figure out what picture to use, as I have many of them. Converted and put the graphics into the splash loader. Now I am getting tired I'll have to finish this tomorrow.
24 March 2019
It took a half hour to finish the splash loader and make the TAP. But then I played the game and thought the first level seems harder than the next couple, so I made it easier and then I thought the music should be longer so I doubled that, then I realised when you crushed a spear it wasn't updating the score so I fixed it. Plus time testing. So another half hour and I think I really am done. My goal for the rest of today will be to update the web pages. I was kinda hoping that I could do one more quick game but there are too many RL things that need my attention. I guess if I manage to have a bit of free time I can always came back. OK most of the web pages are updated, I printed out the covers and instructions for Adez and Heart Attack. I just have to take pictures, update the web pages and upload it all to the internet.
25 March 2019
After work I tried to get the web pages updated on the internet. It seemed to require more effort that it should have. I was kinda hoping I could get one more quick game finished before this vic season finishes. There are several candidates on the next 10 list. But I think I have to concentrate on one final thing. And that is getting the cassette tapes to work. If I get that done and I manage to do anything more then that would be great. I know then next big project will be Sol: Survivor. It is a game I started a long time ago and just couldn't finish. It is also 1 of 2 games that hasn't been completed that was on the very first next 10 list. I hope to get both programmed next cycle, but the future, especially my future tends to be unpredictable.
27 March 2019
Today I decided to try to get my TAPs on tape. I tried for several hours, and I cleaned the heads, demagnitized them, adjusted the azimuth, and replaced the belts on 2 datasettes and neither will load what it saves. So it is a HUGE fail, and truthfully I'm not really sure where to go from here.
28 March 2019
It occurred to me there could be a couple of possibilities why the LOAD is failing. One COULD be the joysticks giving false positives during the SAVE or LOAD phase. The other is more nefarious. I think the VIA is going in several of my working vics, as after the computer "warms up" the keyboard starts printing strange (wrong) characters on the screen. This may also affect the SAVE or LOAD. Unfortunately I was so upset I tossed the cassette I was using in the garbage, so I will have to start again. One other thing that I worried about is RF interferrence from my old tube TV. Because CASSIOPEI is almost a separate device for the backup/restore features I just turn the TV off. I will try a bit more before I have to think of a new way of doing this. Well that is a nope. I was just thinking, the save operation is strickly between the CASSIOPEI and the datasette, so it SHOULD be a perfect save. I think the VIAs are my next suspect, but why would it load perfectly from the CASSIOPEI? I wish I could figure this out. The more I think about it the more the datasettes are suspect. It's just that there isn't a whole lot more I can fix. A few more pictures. Trying to to save, watching the load fail, and then the games so far this year.
29 March 2019
I did a bit nore research last night, and there are 2 more things I can try. I can recap the datasette (which everything could probably all use new caps, they are over 30 years old), this will help strengthen the output. The other may be the capstan. After a while the rubber becomes smooth and won't grip the tape anymore. I think this is the more likely of the 2 problems, althought a recap wouldn't hurt. If I have the right capacitors I'll do it tonight or tomorrow. Well I cleaned and scraped the capstan, and tried again. Although it did go further than first time. I still got the same splash screen as pictured above. Funny it would do the same thing again, even with a different save. So my next option is to replace capacitors. After that, there are options, but they are much less favorable.
30 March 2019
I recapped two datasettes, and tried again. For some reason I had to adjust the heads again. But neither one would load what it saved. I even had some problems with the CASSIOPEI, but I cleaned the contacts for the cassette output on the VIC and then it was fine. But I just can't seem to get the datasettes to work. I am sure that I am very close but I can't figure out what needs to be done. I may have to consult the gurus.
3 April 2019
I found out why one datasette wasn't working. I was listening to the computer sounds through the CASSIOPEI and they started cutting in and out. So the cord is broken. I kept trying the other datasette and it makes nosence why it isn't loading. So I tried yet another datasette. I put on a new belt, cleaned the heads, pinch roller and capstan, demagnitized the head, recapped the electronics, and adjusted the azimuth. To no avail. Loads fine from my CASSOIPEI. I am very pissed off.
6 April 2019
I haven't gotten any further on the cassette issue. Some night I will cut up the cord on the one datasette and try to make that one work. But for now I am just thinking about what I might attempt next. Just for a laugh I played my Tyrant I/II game. I think I just need to adjust the joystick routine somehow, if I can get that fixed I can probably continue with it. At the moment I am leaning towards just making it the lucas of Tyrant I as planned. I think I have one of two projects I could tackle. One is a game called Minimos, the other is a simple first draft of my hires picture converter. I have huge plans for the picture converter, but I think that is always what makes me not work on it. Maybe if I scale it back just a bit, with the intention of adding some of the features later, maybe I'll attempt it. I also decided like my colourful games, the Vlog needed a splash of colour as well. Later that night I looked at another game called Pickle. I decided to just play around with it a bit. I wanted to work on pixel movement, and I have the pickle moving right.
7 April 2019
I'm not sure if I'm working on this game or not, but I have the screen drawn and the pickle is moving right and left by pixels. From my sparce notes there is a fairly huge flaw in the game play that I will have to sort out before I go to far. I would like to animate the pickle a bit, maybe I'll do that next. Up and down movement will be tricky. To be honest even if I didn't do anything more to this (for now) I would be happy. Pixel movement will be quite involved and I am under no illusions that I am anywhere near done. The other interesting thing is that I used my regular delay and it seemed WAY too slow. I had to reduce it by 40% and that's before I added any enemies or even finished the player movement. I'm not sure if I just expect to be acoss the screen in the same amount of time as character movement or if my routine is really slow. Wow! I tried to animate the guy and ran into a huge problem. It took most of the rest of the day to solve it, and basically it was a page boundary crossing problem. I now have the pickle animate both left and right. Up and Down is next and I'm sure it will have many difficulties. I am starting to get tired already so I decided instead of starting the up and down movement I will start the frame for the picture conversion program. As I start to pencil in the blocks, each block will require some significant coding. It already seems overwhelming and I haven't even started.
8 April 2019
It's just been a really disappointing day. So later in the evening I coded some stuff for up and down movement. It doesn't work and I don't know if I have the desire to debug it at the moment. I decided to try and debug it. It didn't take too long to at least get it to move up and down. I think it sort of works now, I will have to add several more conditions, but the problem is erasing and trying to put the ladders a back. All I'm getting are pickle blocks. Working better, but there is still a long ways to go.
21 April 2019
So I have done a few things in the intervening weeks. Not much, but a couple of things. I have started to look at hacking up the cord for the broken datasette. I think I have a plan of attack and just have to do it. I looked at my pickle game and slowed it down. There are several problems, but the one I really want to solve first is the erase(put back) part. Because it isn't working at all. I think I just need a block of time to hammer on it until it works. Maybe next week. Most of the other problems I have ideas about how to fix, but the erase has so get solved first. So back to the datasette front. Tonight I tried a different way to check things. I loaded up the main ML for Adez I with the CASSIOPEI and then unplugged it and saved to the dattasette. Loaded no problem. I tried using a different datasette to double check, but it won't load. Then I realized something. When that datasette (the gray one) was plugged in I was getting strange (wrong) characters when typing. I unplugged it to make sure and as I thought everything was fine. I plugged it back in and it was buggered again. So my VIAs are not broken as I had been worried about, it was this datasette all along! So something in it is probably broken, maybe the cord, maybe the adapter, maybe something worse, but it is broken. So what I think after tonight: I have one working datasette that seems reliable (I will do more checking on it tomorrow), I have one that might work after a cable surgery, and my CASSIOPEI's backup function does not work, at least with NTSC machines. So I have 2 choices for making Vic cassettes. Going back to using my tape decks to make copies (which requires a ridiculous amount of fiddling to get it to work) or get a SD2IEC device and copy program by program. I could copy program by program with the CASSIOPEI but I would have to unplug it and plug it back in for every program to plug in the datasette. I just don't think that is a good idea. In fact none of the options seem like a good idea.
22 April 2019
It is very late. I chopped the cord for the datasette and it seems to work but now I can't seem to align the azimuth of the head for the other one. They both read different cassettes to different degrees, and many they can't. They so far can't read something the other has recorded. So I am going to see if I can get another method to work. On a side note, the TAP for Panik wasn't working so I fixed it.
27 April 2019
Last night I manually transferred Adez I to cassette. Strangely I was having problems with my CASSIOPEI, several load errors. But I was not about to let that stop me. I had a good idea of ending addresses and if the data was there I would just fix the end address and save. So I managaed to do what I thought would be simple and that was load a (set of) programs that the same dattasette saved. I had 1 (maybe) readable copy of ADEZ I. But when I tried the cassette in the other working dattasette it wouldn't even read it, it just kept searching and finding nothing. It loaded fine on the original datasette. So my conclusion is this: the CASSIOPEI will NOT save a NTSC version to cassette. Going forward I have have a couple of choices. 1 is working with thte creator of CASSIOPEI to see if we can get a working NTSC version of the backup feature, or find a way of streamlining the process of saving WAV files from computer to a cassette deck. I will keep working with my dattasettes to see if I can finally get them to read each others files. And then I will have to decide which method I would like to pursue (maybe both).
28 April 2019
Today I got both datasettes close enough to read each others data (I think). I will probably have to do more testing. I did copy a few games manually. I have Adez I, Panik and 2 Joystick Collection A side A on cassette. I will have to send a letter to Jan D about the CASSIOPEI when I have a bit more time.
1 May 2019
I sent a message with some info and data and Jan is on the case. I can only hope that it is something fairly simple and fixable in the short term. There are so many other things going on I feel a bit overwhelmed. After playing the 2 Joystick games I and saw the problem again in Bugaboo, I wondered if it was something that would be fairy eay to fix. So I looked at the code and what I think is happening is that when the falling block gets to the bottom of the screen it is not removed till it is over the page 32 boundary. Because there is no memory there (or even if there was) it shouldn't make any difference. But it does one last check to see if it hit your creature, and does a compare. Any block less than 12 will send it to the dead routine. I think it is getting some weird false reading from here and sends it to the dead routine. My head is a bit fuzzy but I think I will have to do a double compare and remove the block in the last row. It's funny this didn't show up when I was doing testing for the game, because I know I played through that level. Although I may have disabled the dead routine to get to that level.
Working on Pickle
3 May 2019
I didn't have time yesterday, but before work I quickly looked at pickle. I think I figured out one of the problems. The vertical Y should start at 7 not 0, so I will have to do a bit of fixing and stuff to make that work. Then I will have to see if I can figure out why it is trailing character blocks instead of spaces. So hopefully after work I can tackle one of these problems, Bugaboo or Pickle. When I got home Pickle was already set up so I quickly looked at it. So my guess was wrong but I feel like I am on the verge of figuring this out. I may have to have 2 separate routines, one for up and one for down.
5 May 2019
Everything has just turned to shit. So to try not to think about it I am programming a bit. I slowed everything down to a crawl and had it print the numbers for x1,x2,y1&y2. I then was able to fix the vertical movement on pickle, (YAAA!) but it has introduced a trailing of pickle characters. None of my previous ideas for solving this issue were right. I think I have an idea of what needs to be done to fix the trailing pickles, I don't think it will be to hard. I hope. Not sure if I will have time today. There are definately a few other things I want to do. The checks to keep the pickle on the ladders are only partially working, so that's one. The other is I think I will OR the ladder over the character. In the meantime Jan D is working on my RESTORE problem for the CASSIOPEI. OK I think I fixed the issue with the pickle staying on the ladders. The other issue has me kind of stumped. OK I have that fixed. That took about an hour and a half. So now I will have to try ORing the ladders. That sounds like fun! I also sped the game up 75% because it was way too slow. That may be a problem for this game, there may be a lack of speed. I finally have some gameplay ideas. I hate to borrow, but I guess the game that inspired the look will inspire the gameplay (to an extent). That's crazy! Almost 800 bytes just to move the guy around. I know I don't have the most efficient code, but I can see there won't be multiple screens, I can only hope it is fast enough and maybe speed it up for difficulty. Yep it's working. That, I must say, is pretty cool. It's not much yet, but I think alot of the hard stuff is done. Only enemies (dill and garlic movement), score, sounds, start, dead , and an end to do. No problem. I may have to re-arrange the screen a bit as well. That actually wasn't too bad, about 30 minutes of coding and a bit of debugging and the player movement is done! BUT it really is 1000 bytes (well just under) so I imagine enemy movement will be about the same, so it will be a bit tight to put a game like this in 3.5K. One good thing is I removed all of the print numbers (to see my x1,x2,y1,y2,old1,old2) and there is a huge speed increase! So next I will quickly change the screen a bit, then I will start the enemy movement. Oh actually player movement isn't finished, I will have to check if you are over a garlic. Maybe I will try that next, after I fix the screen. I had to do a few RL things, but later fixed up the screen and added garlic. Now I will have to code stuff for the garlic into the player routine. But I think I did enough today. I feel invested in this enough to say I am working on it.
6 May 2019
I got up so late today none of the RL things I had planned got done. And truthfully I wasn't in the mood to work on pickle. I looked at and fixed the web pages a bit. And then I just thought about the future of some of these ideas. But first I had to think backwards. Many of the larger programs had were partially coded or at least thought out, and they still took long periods of time. I am thinking specifically of Dynasty, Tau Ceti, Realm of Evil, and Beteguese 20th anniversary. So there are some really big projects ahead, and I think I may have to start on some of the initial planning or coding because they will literally be to big of a chunk to work on at once. And it's not just one game it is several. One in particular will be my penultimate work, and it will have to work in 16K. That one, I definately feel is a long way off, but there are many stepping stones that will also be large scale programs with expansive ideas. So on top of my Lucas idea (which I will talk about in a bit) I should spend some time planning or coding bits that will end up in some of these large scale programs (well for me, I can't say Ive built a 35k program). I hate to unfocus my work, because that was a bit of a problem before, but I may have to. On top of this, I have decided after finishing the Betegeuse game, that I will slowly update all of the games (with a few exceptions). Eventually all of the games will be in ML, and almost all of them will benefit from it. The exceptions are mostly newer programs like say Boogieman. That game is fine the way it is, I will just update the loaders. I'm not sure how long this will take and I am not putting a date on it. I will just do it as I feel I have time. So there are lots of things coming up, but I can only do it a little bit at a time. And speaking of time, summer is almost here. At that point there will be no more programming, so hopefully I can get a few more weeks in before everything stops. After supper and a fire and a couple of drinks I decided to try programming the garlic bits for Pickle. It was more complicated and less complicated than I thought. The dropping by pixels was fairly easy, it was falling between the next level that was difficult. I really thought it would be the other way around. Plus I still had some issues with movement, and a couple of things came up as I was testing. So I have the left garlic working, the right one I should be able to copy and paste. Right? Well not quite. I guess I missed a compare and it tried to go through the left garlic routine when it shouldn't have and messed alot of stuff up. But I think it's working now Todays work only cost another 500 bytes! Ouch! I hope I can fit the enemies in. Pretty happy with the progress today. I guess I should call it a night, all the things I didn't get done today will have to be done tomorrow.
7 May 2019
Well I had a semi-productive day. I decided I to program a bit, we'll see how far I get. The first thing I am unsure about is how I want to save the dills addresses. I will have to have 2 x locations, but I think I will want an absolute address as well. I started the Dill routine, but it is complicated and I think I need a break. Several hours later I have a version, and surprise it doesn't work! At least there is a dill on the screen and it isn't crashing. I will take a break and then try to debug it.
8 May 2019
I had to be up early, so when I got back to the house I started debugging. There were a couple of obvious errors right off the bat. I slowly worked through the code fixing stuff I could tell was wrong. And it was working a bit better. The problem I really need to solve is, it isn't erasing the old characters and I can't figure out why. This is my first big hurdle. It's been an hour and the solution just isn't forthcoming. Also something from that is erasing the code at 4096, so there are some strange things happening. I think I will have a nap and try later. It took alot to find the problem, but basically when moving the enemy I wasn't updating the zero page addresses. Next I will have to see what is overwriting the beginning of the program, that is important. But the bit that moves the hi-res graphics isn't working quite right either. OK found the problem that was overwriting the program, it was a stupid mistake. I was tired I guess. Then I missed a CLC, but there are still a few more problems. I am getting closer though! Well ready or not, time for work. Back from work and pondering a few things. I fixed a small thing but it still wasn't looking right and then I realized the graphic is upsidedown! Alright I have it printing the right way but there are some strange bits on the right side of the character. I really would like to figure this out but I am just too tired.
9 May 2019
Lol. I got up and started right away. I was looking for places to stop the code to see where things were going wrong. I saw a couple places that looked good and then I spotted it, the problem. Although I cleared the 2 locations that would temporarily hold the bits as I slid them over to match how far over the character was within the blocks, they were not cleared again within the loop. Meaning the second bit still generally held something and was shifted with the new bit information. One instruction within the loop and my dill walked across the screen like nothing had ever been wrong. Step one is complete. Next I will have to get him to go the other direction, and then I will have to add 5 others (see if my indexing is working properly). The way I have this set up, all I should have to code is a decrementing x1 and x2. The bits should be handled the same way regardless of the direction, and the character selection (for the reverse direction) is there and should work. I only has to pick between 4 characters, an index of 0,8,16,or 24, and so far it is working for the 0,8 index. I coded that and noticed another place that the zero page variables weren't being updated. So let's see if this works. It didn't right off the bat but very close. It turned out I accidentally mucked up the x fine and course indexes for my dill, and then I used the wrong variable to see which direction he was facing. So next will be to add more, and I see another problem, and that is I didn't program a bit to save the old characters, so ladders will disappear when the dills cross them. This will be a bit of a pain (which is why I didn't include it to start with) because it will have to ignore many characters as well. And then I will also have to check to see if the dill has fallen into a pit. I think I will modify my player code to check for collisions but that is a ways off yet. Well before any of that I will try 2 dills and see what happens. There were a couple of little problems, there was an indexing problem and then just where I increased my count was in the wrong place. Dill 2 's character is off by 1 byte I will figure this out and then take a break. Hmm this may take a bit more thought than I can must at the moment. I'll come back to it. Had to go to work but when I got back I took a look at some of teh variables exiting the routine. They all looked right which was puzzling, but then I noticed one of the variables was short, and started looking a bit closr at the routine. I had changed the flow a couple of times and soon I saw that at one time I had zeroed X for a loop, but decided I needed to check something and used X as an index. It never got zeroed for the loop, so enemy 0 was fine, enemy 1 was out by 1, enemy 2 was out by 2, and had I gone further it would have continued. So I think I have that working, it's time to wreck it again. So first I will have to see if I can get it to replace ladders, while I am at it I will add 2 more enemies. I allotted 6 and I think I should have 8. This will involve changing quite a few things as the ladders and platforms and stuff have to move. Meaning all checks for those characters in the player routine have to be changed. So far I have burned just over 2000 bytes, but I think the majority of the gamplay is finished. It just depends how hard it will be to add checks for the ladders, and falling into a hole in the dill routine, and collisions in the player routine. Well I added the 2 enemies, lets see if this still works. LOL I forgot to change the screen. OK that actually worked. Next ladders. Oh and when the fine x is zero the dill isn't printed, I'll have to see if i can fix that too. I tried to code a bit for the ladders and I broke it. One of the characters is either not printing or being erased all the time. I will try for a bit longer to fix it but I don't have much left in me. Fixed the ladder problem, I had to shuffle lots of info through A and forgot to return it to the current block. Fixed the erasing problem now too. When the fine index was zero it would loop 255 times shifting everything out making the character blank. There was a bit of a spped up as well. YAAA! Next I will have to see if the dill falls in a hole. But I think I will try adding the rest of the dills to check a few things. That took a long time to get it all working, but there are 8 dills walking around now. It looks like I may have a strange bug as dills 2&3 are losing thier x index after a while. It think that's it for tonight though.
10 May 2019
Although I am not sure what I will have time for before work, I have 3 three things on my to do list. The one that will be the hardest (hopefully not) will be figuring out why just the 2 dills are losing thier x index. The next is, when playing and watching the game, it is annoying to have the ladders disappear when the dills are over then so I will have to OR them back in. And lastly, have the dills check to see if they have fallen in a pit, and associated code. Well that is a bit odd, becasuse I could have swore the 2 dills were moving within thier alotted paths. It seems though that I had the indexes wrong and that's why they weren't staying on the proper level. So that is fixed hopefully. It did seem a bit slow but I am only moving 1 dill per loop, I wasn't sure how it would work with all 8 of then running in 1 loop so I tried it. There is a bit of a slow down and there is lots of flickering, but not bad for my first pixel movement attempt. So next I will have to OR the ladders back in. But I may save that for after work, we'll see.
11 May 2019
This morning even before I had some coffee in me I coded the little bit to OR the ladders. took about 10 minutes to code and 2 minutes to debug (I had 2 branches backwards). Wow! That looks so much better, but now my pickle is flickering something fierce. I might be able to just move the erase routine to place where more time has passed. Moved the joy and print routines. It's much better, but I can see why I had the dills moving first. It was so that they would be ORed into the pickle character on collision. In fact there is another bug on collision and that is you can go up when on a dill character. I am hoping that just adding the dead routine will sort these two issues out. But next will be the trapped routine. Moar COFFEE! I coded the trapped part and the just added a whole pile of problems. I will take a quick break and see if I can fix this. A couple of stupid mistakes but one big one. I thought because the routine is long I should compensate for the time that I skipped for the dills that aren't moving any more. A quick JSR to my delay would do. Unfortunately the 2 zero page addresses I was using, I was also using as indexes for the main routine and just messed everything up. So I am getting very close. Collisions! There are 2 ways I can handle this. One is by bits which would be fair, the other is by blocks, which would not be fair, but without it I will have several problems (such as being able to climb a dill). I will try the blocks and see how frustrating it is. I will have to think about this, as I guess this was another reason I wanted the dill printed first. Unless you purposely move onto one, the dills won't be 'seen' by the routine, because they are not there yet. I knew this would be difficult. Anyway I will have to come back to this later. While walking the dog, I formulated a new plan. But then I figured if I re-arranged the main loop it might work.
12 May 2019
Then a bunch of RL stuff happened. I am very close. I tried it today and it is catching the dills (and dying), but for some reason every other loop won't filter out the players characters. I guess I could try to catch them when I set the dying flag but that won't help leaving a trail of player's characters across the screen. I have to leave right away so I'm not sure if I will get to this today. So a mostly wasted day pursuing a lazy concept. In the end I decided to try the idea I had yesterday afternoon, and that was simply checking the X&Y co-ordinates. I even figured I don't need to check the fine co-odinates, just the coarse ones. Although I need to test it more it seems like it's working. So I will have to work on the dead routine, game over, a sound for the trapped dill, checking if all dills are trapped, a level up routine, a start page, a few niceties, and more testing. But really all these things are easy and if I wasn't so tired i could probably finish them up tonight. Coded a few more things. Still need a game over, level up, and a start page. The biggest problem is the collision test isn't accurate enough on the x axis (maybe on the y axis too). So I will have to work on that. The game over and start page I could have finished in a few minutes. The level up is only aproblem because I really don't know how I want to start. There are several ways to increase the difficulty. At the moment I am looping the enemy routine 8 times for every player move, so that each dill moves as fast as the player. I have it set up so that I could only move 1 enemy for every player move, meaning the enemies would only move once for every eight player moves. There is also the delay that I can increase and decrease (a little). I could have fewer enemies to start. I'm not really sure what I want to do. I was working on a falling sound for the garlics, but I think I am finished. I did get a start page, but aside from fixing the collision stuff, it won't take long.
17 May 2019
The last several days have been extremely busy. It is very nice outside, so I probably won't spend much time on this before work, but I am so close I have to finish this! I quickly looked at the check collision code and I think I have wrapped my brain around what I have to do. Basically I have to check the fine x co-ordinates and if they are within 0 pixels to the left and 4 pixels to the right, you sir, are dead. Hopefully I can tackle this after work. Once the collision is working well enough, it won't take much to code the sections that are missing. I wish I still had my laptop, then I could code outside! Or that I could get a good app for my iPad, but that's not likely. When I got home I was just too tired to do much. I tried a quick bit of code but it isn't working right, so i will have to do more testing tomorrow.
18 May 2019
Just testing and watching the interaction, I see this will be more complex than I thought. I will have to check the direction of the enemy, and test if the player is in the vertical phase. I am not sure I am ready to try coding this yet. More coffee and more testing. I am just working on the x axis collision, I am getting closer. but still not there yet. I have an idea I may have to do a double compare because of the wraparound nature of this routine. But for now I must leave it till later. OK it is evening and I have been at it for about 30 minutes. Strange things are afoot. For some reason my player coarse x and enemy coarse x are out by 1. So it is working in the most general of ways, but I am not sure that I am happy with this. Much more testing is needed. I'm not 100% sure but I think I have it working OK. I will take a bit of a break and test a bit more again. Watched a bit of TV then tested a bit more. I think that's got it. I added a few more little things and now all I have is the level up. I still haven't decided what I want to do there, and I am tired so I will call it a night. But unless I find something terribly wrong, I should be able to finish this tomorrow.
19 May 2019
I figured I would code the level up, and when I tried it, it totally fucked everything up. So for the rest of the morning I have been hunting down bugs. I only have a few minor ones to fix, and just to get the level up to work a bit smoother and maybe add a song. I am getting close the using all of the available memory. I forgot I left room for the enemy routine to only move one enemy each pass to all of them each pass. I think I just made a patch to make it work, I will have to add a couple of more variables to get it to work right. Unfortunately I have a bunch of other things I have to take care of. Hopefully I can wrap this up later this evening. Well I had some time and I have it very close, still tinkering with it, and still need a song for the end of the level. Still testing inbetween other things. Found a small laughable bug, I think it's all working pretty good. Just need the song. OK it's more of a chord, I spent about a half hour testing a bit more. I got to level 7, and it's pretty frantic at that point! I think I am finished. I will start making programs for the TAP. Wow another game finished! I thought this one was going to be REALLY difficult. It was definately hard, but I managed to get through it a bit at a time. So I have now dipped my toes into the realm of sprites (sort of). I ended up using almost all of the memory. Probably shy of about a hundred bytes. Next time I will have to make more genaric code for the character manipulation so I can use it for the player AND the enemies. I also imagine next time I will have to use 4 characters for each sprite. I got lucky this time and only needed 2.
20 May 2019
Although I started to update all of the web pages last night, I am finishing that today. I just need a couple of pictures and I think I am all caught up. Today will be my typical lazy day, but I'm not sure if I am done for the year or not. If I do any work on anything I should work on my picture converter, but I may start on something else, or maybe not. Something interesting, this is game number 42. That means I have completed 33% of the classic list (yes, all of the slots are filled). There is some hope that I will complete the full list in my lifetime, not alot but some. It was sort of an all day affair. I slowly finished the web pages. I thought I had a cover made for Pickle already but I didn't so I spent some time making the cover and the instructions. I cut them out and glued the case, took pictures. I put the TAP on the SD card for the CASSIOPEI and took some more pictures and played for a bit. Yep it feels good to finish this one. And while not all in 2019, these 5 games were all made in this cycle. Pretty cool.
21 May 2019
I thought I might have time before work to code a little bit for my autopic program. I see what I need to do but there just isn't time. I will have to grab my input routine from my text games to get the filenames (maybe have to modify it a bit). I will have to make a quick bit to open a channel, and I will have to grab my referance book for that, it's been too long. I pasted the build block from my splash screen in verbatim, but I will have to modify that a bit as well. I think my first goal will be to read through the data to find all of the different colours. But later I guess. Well I got a tiny bit further, but just didn't have the energy to do much.
22 May 2019
I probably won't spend too much time on this before work, but I coded enough just to see if I can start to get data from a file. First test, I am crossing my fingers. Well somethings not right, I guess I'm not opening the channel right or something because I all I am getting are returns (chr$13). I figured I would just check the filename, and there it was, the first character was saved as a zero. I forgot the offset starts at 1, so I fixed that and loaded the header! Next I will (for now) strip off the header to get to the good stuff. I may leave this for later, it's too nice out. After work I wrote a bit of code to strip off the header, and let it use the code to amalgamate the RGB data. So it seems to work and grabs the first 255 pixels. I now have to figure out where I am going to store this data, because I may need 2048 bytes just for this colour data. I have to call it a night now.
23 May 2019
I have it storing the colour data at 5632 for now. I have been coding and mostly debugging for about 2 hours, and I ALMOST have the colour sorting routine working. For some reason the very first colour is always 22. Obviously that's not right. I have an idea something is not getting set or reset, but I haven't found the culprit yet. I will have to look at this after work. After work I found the culprit. 'A' was used for a CMP to see if it was the very first byte and then was stored as the colour byte. So that is fixed but it was only getting 3 of the 4 colours. I looked through the data stored, and it looked right but I couldn't find the other colour either. So I did another quick calculation and these pictures are 64 x 128 pixels meaning 8192 pixels not 2048. So I actually only have 1/4 of the picture. Not sure how I came up with that number, anyway I guess I will need 8K if I want to store the colour data. I'm not actually sure that I need to store this data, I may only need to know how many times it appears. If that's the case i might only need 33 variables (rather than 8202). 11 is the maximum amount of colours you can have (1 border,1screen,1auxillary, 8 character colours), and each would need a LSB and MSB for counting. I have an idea that for now I am not going to delve too deep into the whole colour sorting thing. Maybe later I will want to expand on this. Well I tried to get values for the colours, not really sure where to go from here. To get the computer to evaluate the colours might be quite difficult. I might have to get the user to decide on the colours and where they will reside (border, screen aux, char). I guess I am out of steam anyway.
24 May 2019
OK I think I have formulated a plan. For now I will just have the user assign the colours, eventually I will make a colour chart. But the fact is with 2 bit colour, the light orange (or peach) colour is unobtainable. I don't think I will have time before work, but it is supposed to rain all day tomorrow. I did some work on the catalogue, I didn't realize I was so far behind. Finished the catalogue at night.
25 May 2019
I guess I will need that colour chart. It sounds alot like something not fun. I will have to go through all 64 bit combinations and see what is the closest Vic colour. I know the first one is black and the last one is white. 62 left to go. That took about an hour. I have to admit there are some dubious choices, but it's pretty tough when you're losing so much information. The difference between 64 and 127 is pretty significant. Anyway I will have to make the user confirm the colours. OK I have it reading colours from the chart, but I have to leave this for now. After work I got it to print out the colours. I checked some of my pictures, there were 2 errors in my chart. Many of the colours are a bit strange, but again going to 2 bit colour is difficult. Tired. Bed.
27 May 2019
After work, I tried to build the colour selector interface. I started but I ran out of steam. It's not much fun.
29 May 2019
Got only slightly further. Very tired again.
31 May 2019
Got a new version of firmware for the Cassiopei. I copied Pickle and it worked! When I have time later I will test it a bit more.
1 June 2019
I had to sort out the tape lengths. So I had to update a couple of pages and a short note to myself for future reference. I guess I should update the webpages today. I created a template for a game called Minimos yesterday. Just lazy. There were several things I wanted to do. Now drunk and lazy.
2 June 2019
I decided to work a bit on Minimos. I was hoping to get the player routine working but it's not. I haven't copied any games, and I really think I should. I have an early morning tomorrow so I can't do much, but maybe I'll copy one game (it will take 6 minutes). I decided to quickly copy 3 games with the cassiopei, and it was 3 more successes. I even tried loading from a different dattasette for the last game and there were no problems. So I can update my website and move forward. Now bed.
5 June 2019
Last night I copied and tested Realm of Evil. I played till I got to the first dungeon, completed it, saved, and turned it off. I realized I should have loaded the main program again, and I need to do a bit of testing when you save in the dungeon and then load from the beginning. This morning I uploaded and updated the web pages and tonight I fixed a couple things. Not much, but it is something.
6 June 2019
I looked at Minimos and I don't understand why it is not erasing the player properly. Unfortunately I don't have the time to investigate before work.
Working on Minimos
8 June 2019
I have been very distracted, there is a RL crisis looming ATM. I hope we can fix it or none of this will matter. In the mean time I opened Minimos and looked at the code, I was going to drop in some instructions to debug the short routine when I spotted the error. I am using x & y coordinates for the character, so there is a short calculation routine to convert it to screen memory. I did this before erasing the character then I checked the joystick, but forgot to JSR to the calculation routine before putting the character on the screen. So it was always using the same calculation for both actions. The player moves almost fine now, there was another minor error, easily fixed. If I have time I will attempt some enemy movement. Or maybe I will work on the Autopic program, we'll see what piques my interest. I started working out the enemy movement, and I am looking at the BASIC program. It is simple and yet complex, the way it switches between different movements. It may be a bit more difficult to impiment this. I won't have time to do anymore, but I have an idea of how this will work. If I can get it to work, all 6 aliens will be almost finished. Later in the night I finished the coding the routine, but I broke it. I will debug it tomorrow.
10 June 2019
Started debugging the enemy routine. There must be alot of problems with this. At least I have a couple of enemies on the screen moving around. For some reason there are 2 enemies that aren't printing, and they are definately not in the right order. OK I am starting to make some progress. The first 4 aliens are sort of working, I will have to change the level up to a counter instead of checking for when the aliens leave the screen as they leave at different times. For some reason alien 5 isn't moving and the player x and y are getting messed up. I will take a break. It turned out that a couple of variables were getting overwritten. So the routine is almost working. There is an odd behavior, some of the aliens appear and move very slowly. I will have to look into this problem a bit more tomorrow.
11 June 2019
Boy, don't I feel stupid. And I should. I forgot a CLC and that was what was causing problems. So the aliens are moving and I have 63 waves of them. So I will have to add shooting and Bosses. Oh and I added a cute little meter on the side. I will colour it a bit later. I couldn't help myself and I have the meter coloured. But I have to take a break now for sure. Didn't get back to this, I think I want to make one more change before I start something else. The diagonal aliens only attack once, I think they should reset when after they get to the bottom of the screen. But that will have to be tomorrow or the next day.
12 June 2019
I don't think I will have much time today, but I programmed the movement for the boss. Seems to work fine, now I will have to add the lasers. Maybe later today, or maybe not.
13 June 2019
After work I added the code for the lasers. It doesn't quite work, but I am so very tired.
14 June 2019
Before work I added the code for the last few waves of aliens and the reset for the diagonal aliens. None of it works, but I am out of time. Hopefully I won't be too tired and try to tackle debugging this tonight. SO I will have to see why the diagonal reset isn't working, the lasers aren't working and the waves over 128 aren't working. Also I was going to make this a 2 player game, but it really just wouldn't work. So I had a minute and I figured I would take a crack at the diagonal alien, and I have it working but there is a problem. It pauses for 1 cycle when reversing, and does not have the period as the other aliens. So when the wave is over the diagonal alien is 4 or 6 spaces down the screen. I tried to add an erase (which I needed anyway), but now it's crashing. And I am definately out of time. Back from work, I have the erase working. I was jumping to a subroutine and losing my x, so that's fixed. I see that the lasers still aren't working I will muck around with it a bit. For some reason they aren't getting re-set, and I just can't see why. And for some reason it just won't go to the right routine after level 128. I guess I'm too tired to continue. Hopefully I can figure this out tomorrow.
15 June 2019
There were quite a few things that were messed up. There were a bunch of odd things that crept into the code, it wasn't even going to the Boss Initialize routine. And it was skipping over my routine for the end aliens. So I think I have that working, my end aliens routine is not. So a bit more fixing is in order. Well it is something in the initializing routine, haven't found the culprit yet though. Yeah it was another odd thing. I was jumping to 2 subroutines to make random x then random y coordinates. I assigned the max and min number of random numbers I wanted and then jumped to them, not remembering the first routine would count the max number down, so it would be 0 for the second routine making it wrap around and messing everything up. Now all 151 alien waves are finished, I think. I will have to work on the players laser, score, the end, some music, and a title screen. But first a break. Well I took a few pictures first and thought I need to add a counter into the last levels for the reset, it shouldn't be too hard, but later. I added the reset and I ended up doing the ending. The ending was a lot harder than it should have been, but it's done now. Next : lasers I think.
16 June 2019
It took less than 5 minutes to code the laser. And it works fine. Now the harder part, collisions. Rather than my usual peeking to see if an enemy is there I can use the x,y coodinates and just match them. I will basic ally have 12 compares. 6 to see if the laser hit an enemy, and 6 to see if the player was hit. Hopefully won't be too hard. OK coded, and a quick test shows that it seems to be working. Next will be the dead and game over routines. That is coded and tested. For some reason the men left indicator isn't working right. All that is left is music. I hope I can start that later tonight. Wow that wasn't as bad as I thought. It is a bit odd sounding, but I really like the song. I also fixed the men remaining indicator. So all that is left is a noise for the end, and to loop back. Oh and to speed up the delay every once in a while. This game is really hard! So if you get to the end (wave 153), should the game end, or should it continue? Not sure. There are a few little things to finish on this game but it is almost complete. I have an early morning tomorrow so I may just leave this here for now. I would like to finish at least a rough version of my autopic program. Maybe tomorrow finish this game and work on the autopic a bit. Actually I finished it. I still have to test a few things but Minimos is finished!
17 June 2019
Busy most of the day but I finally tested the few things I added and it works. I did have to make a few fixes. I was hoping I might get at it tonight but that is not going to happen. So soon I will have to create the loaders and a TAP and then I will be completely finished Minimos. OH shit! I see I have to fix the Boss routine (as it just automatically removes points from the boss without shooting), and I will have to remove my temp stop in the loop. So a bit more work tomorrow. I hope I can finish the Autopic before I stop programming, but it will have to be quick, I have too many other things to do.
18 June 2019
Busy most of the day again. Coded the fix for the boss and edited out a couple of testing things. I had a bit of a problem with my fix. It actually made it WAY too hard, so I got it to something I'm OK with. Now I just have to make the loader and the splash page, so I can make my TAP. It is complete. If I can stay up I will try to finish the web pages.
19 June 2019
After work I made the cassette cover, the instruction booklet, and finished the web pages. I also got a new duotang to put all the last several games notes in. I crossed out game number 79 in the big book. SO I am ready to start a new one, but I think that is it till late fall again. Although I would like to finish my autopic program, even if it is mostly feature-less. I can always add stuff in later. I will have to add a copy of teh TAP to my cassiopei and get an actual tape of it, but there is no hurry.