I had a very productive 10 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. This is a document of my bi-polar mostly unintelligable process...
2012 and earlier
I decided to end the 2014 blog and start anew, even though it is quite short. Although there wasn't much done last year the big project of Tau Ceti was finished and I suppose that is enough to start another chapter. So the new vlog begins ...
<BY THE WAY THERE ARE SPOILERS IF YOU PLAN ON PLAYING ANY OF THE GAMES!>
19 Jan 2015
I am back from holidays. As always they just seem too short. But on the other hand I DID miss my toys. So I guess my next project is Distractions. A compilation of games, art and screen saver-like thingies. While away I was thinking about the little discussion on Denial about a loader that sets you up for the game you want to play by telling you to fast forward and stopping just before the game. I love this idea, and I have a good idea how to do it. The problem will be that it will take alot of fooling around to get it just right. So I think I am still on the fence about this. Looking at the current list of stuff done and not done, I have one Distraction to fix up a bit, then I have four games that are in different forms of completion (from almost done to nothing). And I think 2 bits of art with no loader and 1 not completed and no main loaders. So really, it is a mostly complete, hot mess. Not really sure where to pick back up. Treminator was getting close, as was Cowboys. If memory serves the ML in Cowboys was starting to get me down. Not sure why as it looks like it was all going well. But that is the nature of these projects sometimes something trivial will make me lose interest in it. I guess I have been doing little bits and pieces along the way, as I made alot of progress with the art in Oct, going from 1 finished bit of art (with a loader) to four completed and 2 almost completed. I also worked on Treminator a bit, to go from a non-working screen40 demo to an actual almost working thing. So where to start, where to start? Actually I just realized i don't have a physical copy of Tau Ceti yet. Maybe that could be todays project. A small but significant step in my conquest of the universe.
Well this may crimp my plans somewhat. It took a while to get everything I needed to change TAPs to WAVs and for some reason my laptop decided it was having no part of my plans today. So after finally realizing that wouldn't work I got the older computer running and played with it till I got an acceptable WAV. I then set up the volume and hit record and left as I knew it would take 20 minutes. When I got back I tried the tape and the volume looked good BUT it seemed to play right until the leader unrolled. Is this too long for my cassettes? I thought they were C-40s but maybe they are shorter. Tau Ceti is 18m 52s long so I need the full C-40. Now I think about it maybe they were C-34s, not good. And I also see a problem with the AJ loader. It doesn't blank the space character. An oversight on my part, just not sure how difficult it will be to fix. After spending about 30 minutes digging through my mail, I found that the cassettes are C-35s and will be too short for Tau Ceti. So this universe will have to wait.
20 Jan 2015
Yesterday I got to play most of Tau Ceti, I will have to check one thing for game 6 though. The epilogue sorta worked, considering most of it didn't load. I did get some pics of the game and I decided to try some others tapes. I found old versions of Kerratias and Quiggly. Quiggly was the same just without the loaders, but Kerratias was the original version with the really slow music. I should try putting some other stuff on tape.I should also break down and order some longer tapes, I won't need many, as noone will probably be buying them. I will need a C-40 for Tau Ceti and a C-62 for Cauldron. They are having a sale on C-61s right at the moment if only Cauldron would fit on those. Looking at my list these are the only 2 that exceed 17 minutes. Betelguese is 17 minutes exactly. I'm not sure what I will do today, but I should see what length the red tapes are, I forget if they are C-12s or C-14s. If they are C-12s then Adez and all the Kings Gold will have to go on the longer tape, it is a transitional length @ 6.11 senconds. All others are less than 6 minutes or above 10 minutes (except Adez and the keys of Dengar which is 8 minutes). Another interesting thing to note is that I think the waveform needs to be inverted to work. The tape for Tau Ceti (even though it was about 1.30 minutes too short) worked flawlessly until it ran out of tape. Oh another consideration is that I should remove the load from game 3 as it loads the intermission and it displays the type in capitals instead of lowercase. Anyway just a thought as I will have to make a few small changes to Tau Ceti anyway.
Maybe I should make a list of the few games that I don't need to redo. I think the list would be fairly small. Or maybe I shoudl just re-do them all. I don't know. I'm just worried that I will wear out the tape, like I did for Exploria. Well that took almost all day. But most of the tapes that I made work. I tried to record a version of Tau Ceti and Cauldron, but both of the tapes I used were old and crappy so both failed. I guess I will have to order those tapes when I have enough money. There were a few games that didn't work, but surprizingly most of them did. I'm pretty sure that I stopped at some point, so I know that many are just blank tapes, so there are a bunch that I didn't even bother trying. So this is the list:
Adez & all the Kings Gold
Adez & the keys of Dengar
Not working :
Peg Leg John
Adez & Mr What
I think that's 32. So really the only cassette I did today was Tyrant I. But the unsucsessful attempts at Tau Ceti (I made a few on tapes that were too short) then on a tape that didn't seem to take any signal at 20 minutes every side and 30 minutes for the first half of Cauldron. That tape just totally self destructed. When I tried to rewind it it would barelt move and when I looked at the spool the beginning of the tape wasn't sitting on the spool properly and was just trashed. It almost loaded the auto loader but that was it and it crashed. Yeah I just need the proper length of tapes. Oh and Adez & all the Kings Gold is on a red tape so they must be C-14s.
I finally looked at the Distractions disk. I can't seem to get Cowboys to work, but the ML so far seems like it is working. It is just moving the player around, no bullet yet. There were a couple of programs I thought were Cowboys related but it turns out they were some of my current versions of the loaders. So I worked on it and finished a disk version. It uses pretty much all of the memory. The cassette loaders will be quite different. But now I am tired.
21 Jan 2015
I spent most of the morning looking for a document and hours later it is still eluding me. So I opened up cowboys and started to puzzle why I couldn't make the ML work and where the new graphics were. I found the new graphics on a more recent disk and eventually realized that the ML was trying to put the character on a block that was already there. Without looking at the code I can only assume this sent the ML into an endless loop. So I moved the blocks around and there was my cowboy. So the joystick read and movement are working fine. I guess I will have to dig out the ML and see where I was on the bullet ML. Don't think I will spend too much time on this today as I now have to go back to RL obligations. Oh and for a laugh I printed out one of the Tau Ceti posters. Ha. I pulled out the binders with the notes for Distractions and Dynasty. I flipped through the notes for Dynasty and was surprized as to how few notes there were. I am kinda excited to start into that project. It will be a big but super interesting project. But it will also be a pain in the ass to figure out what's done and what needs to be done and how to put it all together. Anyway my current dilemma is the same but on a much much smaller scale. Dynasty has about 6K of ML and maps. Whereas cowboys has about 150 bytes to look through. So lots of gazing at the pages today. Not really anywork done. I looked at the Set Bullet routine and I am pretty sure it won't work, although I'm not sure how much modification would make it work or if it's just better to start from scratch. I can almost wrap my head around the idea of what i am trying to do. It seemed to elude me before. It is still a strange concept, but I can sort of 'get' this half character idea. I think I need to make a default 'off' value for each bullet to know which are used/not used. OK finally looking at the routine I see what's wrong. It is trying to do too many things at once and failing at all of them. I will have to make 3 smaller routines. Set Bullet which will decide which slot (if any) to use. Print Bullet which should also have an erase and detect hitting something and Move Bullet which will also check to see if it is out of bounds. I should make them flexible enough to use for either cowboy. If I have time I will code these tomorrow. I can steal quite a bit from my old code. I am feeling ill so that's it for now.
Working on Distractions
22 Jan 2015
It will be a strange day. I am in the process of coding the new ML. I have Set Bullet for Player 1 and Player2. Just a short routine. The Draw Bullet will probably be kinda long as it will draw and erase all 4 bullets. Been busy most of the day. Having problems with my truck again. OK I'm working on Draw Bullet. Too tired to finish, it looks like it will be about 200 bytes. Tired.
23 Jan 2015
Stephen King Said the hardest thing to do is to start. I am having a bit of touble getting into this. Not sure why. I think I see a mistake in my set bullet routine but I want to type it in and try it first. The draw bullet routine is also ready to type in. I am just feeling really lethargic or is it something else? I have about 30 minutes before work. I should do something productive. I copied some of the old stuff to a new disk and typed some of it in. Out of time.
24 Jan 2015
Today my thinker is very fuzzy. But I struggled through and tested the Set Bullet code, and translated the Draw Bullet code and started the long process of debugging. There were a few mistakes and a couple of omissions that kept me struggling with the code for a few hours. But is it working now and I am ready to code the last bit that sort of ties most of the bullet stuff together. One thing I am happy about is I am applying some new ideas for coding. Starting to use the BPL and BMI instructions now that I understand them better (nice article at 6502.org) and CLV and BVC for a branch always. I will take a short break and get back to this. I am curious about the BIT instruction, I have to do a quick test. OK that was interesting, I also wanted to make sure the BMI instruction was working the way I thought so I tested that a bit as well. Then I started coding Move Bullet the whole thing ballooned until it was almost 165 bytes. So then the testing began, I had 2 branches reversed, surprizingly everything else seems to work. Except the enemy bullets don't erase and don't reset. The reset I will hunt down but the erase is in the draw bullet section. I hope this doesn't change anything too much. Ok the reset problem was me not paying attention and sending a branch WAY beyond where it was supposed to go. I will look into the other problem now. Oh also I'm not sure if my X is quite right, that won't be too difficult to fix if it is. Well it took a few bytes to fix but I wasn't setting the flag for enemy fire, so it is fixed now. So what I have left is enemy movement. I'm not really sure how I'm going to do it so I will have to let it sit in my mind for a bit. Cool to see the bullets flying across the screen! Using the player routine a second time would work except for one thing. When checking the bounderies where the player cannot go the x=0 and y=0 parts don't bother with a CMP and wouldn't have enough room to check for the enemy/P2 bounderies. I may be able to alter it so I can use it for both I will have to see. But I think that is for another day.
25 Jan 2015
I opened the old BASIC ML program and my notes and it seemed like it should be an easy fix. There is only one branch over each section and as far as I could tell no JMPs to any of these places. So I added 1 insrtuction (2bytes) and changed the brach in each section. And then I tested it. As soon as I move it goes into an endless loop. This was supposed to be easy. I think I have the main loop working now. It seems to work by itself, but as soon as I add the bullet routines it crashes. And when I try it by itself it does really wierd things. After looking at it for a bit no wonder it's not working. My bullet routines were storing varibales at 7640 instead of 7440 !!! This would put them right in the middle of the player routine!! That is now fixed but there is still something wrong. I will test it until I go to work. OK a huge problem was the erase routine was modifying the code and of course it was poking the wrong numbers. That seems to be working now. Another problem was I was expecting a different number in the locations that said the fire button was being held down. I was able to fix it by reversing the branch. Then I knew my X value for the bullet was out and when I looked at the code on paper it was plain as day I wrote a 65 instead of a 66 and my x was out by 2 every time!! It is very cool to see the player 1 routine working. Now I have to figure something else out. If it is a 2 player game player 2 will be pretty easy. I just have to make a new joystick routine and that one will only have to check one location. But a computer enemy will be a bit difficult to come up with. It's almost time for work anyway. I will play with this a bit more.
28 Jan 2015
For some reason it has just been too difficult to do anything the last couple of days. I have slowly been coding the enemy move and today I finally finished it. I typed it in but I don't think I am going to test it tonight. Too tired for some reason. Maybe I'll have more time tomorrow.
29 Jan 2015
I did something scary today. I had downloaded A.Jordison's CBM prg studio and started playing with it. I re-typed in my work from cowboys on the assembler and added a bit. It is the first assembler that I have seen that will accept decimal and hex numbers. This is very important to me as I generally work in decimal, but now, with not having to convert numbers into MSB and LSB, I will probably adopt a bit of Hex as well. I guess i say that a bit prematurely. I will only use this if I find it convenient. I will now attempt to try my ML program. The first step was to change the PRG to something I could drop on the disk. It took a couple of tries because I kept forgetting to attach the disk. I merged it with the current binary and now it is time to test. I figured I would try the joy2 routine as it would be the easiest to check. It has been a while since I have done anything with this stuff. If VICE is right then this routine won't work at all. At least not with out some modification. All the directions are stored in different bits. For some reason I thought that most of them were the same. Back to the drawing board. I will try some of the other routines before having to do this all again. The player routine isn't working either. Nor is the computer enemy. The only one that seems to work is the erase routine. There must be an easier way to test and fix, I will look into this. Not having much luck. I may have to go back to the old way. Plus I have some fixing to do. I have a couple of small things for Tau Ceti: the AJ loader needs to blank the space character, the splash loader needs to remove characters from the queue (198) and should have a nice friendly LOADING printed on the screen, and finally for adventure 1 there must be a indexing error as the last couple of phrases are missing the first and second letters. THEN I have to fix the Betelgeuse programs seeing as I spelled the friggin title WRONG!! I should look for and fix as many other spelling errors as I can see. The biggest pain will be the splash page. SO I have to finish cowboys to get some of this other stuff done. Maybe I'll even order some cassettes at some point so I can get Tau Ceti on tape.
30 Jan 2015
After a considerable amount of testing I did find a few problems. There were some typos again, but a more significant problem arose. I have been modifying the original code to work for the player 2 as well. Unfortunately there is quite a bit of the original code that overwrites player 1's locations. I am starting to wonder if I should just start over. I have been trying to use cbm studio, but I am pretty stuck in my ways. I am sure it will be a good tool in time, I just have to learn how to use it better.
31 Jan 2015
Sick today but I should be able to at least get the computer move working. Too late to start over I think, I will just hack up what I have. The player 2 routine will have to do a bit more. Looks like another 15 bytes to the computer move routine. Wow that was an interesting mistake. It appears my jump in one of the old routines was out by 2 and was poking the cowboy a second time. The Acc was being reset so when it was the player this was fine as the right character was still being poked, but for the enemy it wasn't and it took a long time to hunt down. So it appears the computer move routine is working now, I just have to see if it is shooting. The set bullet wasn't working but I remembered that I hadn't updated the default number. Unfortunately it still isn't working. When both bullets are assigned it should just return, but that isn't working for some reason. OK that's working now, but the dead flag is a problem. I looked at the code and the flag is overwritten by the next bullet so unless you are killed by the last bullet it won't be flagged. I can jump out to fix this, I guess I will have to but my head ache is getting worse. I have to take a break. Fixed the Joystick 2 routine., although I should make doubly sure that these are the same locations and bits as the one in Blondie. So I just have to fix the player 2 routine and make a patch for the dead routine. Slowly getting there. Hmmm a quick consultation with Blondie shows that I may have the directions wrong still! I will have to check this and dig out my joy 2 adapter. It won't be hard to fix as it will just be a case of changing the bits checked, but i do want it to be correct. I spent quite a while online looking for the 2 joystick programs. And as far as I can tell they are the same as blondie Bit 2 is left, bit 4 is down, bit 8 is up and bit16 is right. The Xvic is 8=right 4 =left 2=down 1=up. Totally incompatible. I may have to send a note in about this. So ultimately I will have to change the joystick 2 routine and i will only be able to test it on my REAL vic IF ican find the adapter I made. It won't make a difference to the DATA though so I should continue. I am so very, very close. The player 2 routine works until you move on top of something. It then resets the player, but is still using the player 1 variables. OK I think I am done. OH wait I have to change the bit values for Joy2. I will just have to fill 174 with a number other than 0 or 4 to know if someone has died. So really I just have to fix the bit values in Joy2 and do a bit of BASIC to make it all work. Yeah I kinda feel all the effort wasn't worth it, but I am learning more stuff. And I did use CBM studio to make some of the ML. I just haven't figured out how to use it to test stuff yet. I wish there was a way that it would try to disassemble an input file. Anyway I need to move, my back is not happy.
1 Feb 2015
Feel like crap today. I had to look up the Compute's Gazzette article again as I forgot to check what bit was the fire button. I went looking for it then found out I had saved the pdf. So I think I will document the changes but keep the ML the way it is till the end so I can still test it. If I was motivated I would be able t finish today. Because I am not hard to say what (if anything) will get done. Shit I hacked into the wrong place for the dead patch. Sorta fixed that, but having problems with the computer enemy. It goes into an endless loop when it tried to move onto a bullet. This is where an assembler would be handy. I probably need more space and there are 4 routines above the computer move that all have JMPs in them. I will have to JMP to a patch and JMP back. Horrible programming. Now to see how I can fix this. It was getting to be a pain PEEKing everything so I loaded Looker and then some other problems started to surface. OK so I have to hack into computer move to change 2 instructions. OK now the enemy bullet isn't working. I guess I should get ready for work as this is making me angry. Now nothings working AARRRGGG!!
2 Feb 2015
Still sick, and have to work soon, so I won't have much time today. Going back the last working version was CB.D12, 2 versions back. So it will be a case of figuring out what is not fixed in this version. I'm not sure I'm up to this today.
4 Feb 2015
Still horribly sick, so I figured I would play with something much simpler. I made a quick routine that tests if the cassette motor is running and displays the appropriate dialogue. Unfortuntely the poke that should stop the motor isn't implimented on VICE (or maybe I don't have the right stuff set up). At any rate I have a very rough program to test with. I guess I will have to try it on my real vic. Maybe tomorrow. It would help move this forward a bit as I think this will also take some time and planning to set up the loaders and each tape. I can have most of Tape one finished if I set up the loaders. Actually I could have both tapes mostly done as I think there is one program lacking on side one, three and four. Excluding Cowboys. I have to finish that PITA. And a few odds and ends, the upgrade to the Color program, some of the art doesn't have loaders yet. But all this would be fairly straight forward. Anyway I hope to be better tomorrow.
5 Feb 2015
Started to go through the cowboys ML, but then I had to take more medication. DXM is not good for thought processes, and it appears it is not as potent as a cough supressant as it used to be. I blame the crazy New Years party about a decade ago, but that is another story. Anyway everything appears to be right, but it's not working. I hate when I basically have to hunt through all the routines. Fuzzily I have narrowed it to the enemy move. While everything was changed for the enemy move I looked through the code and found an endless loop. So I am making more code to modify the code, and wonder why I just didn't make a separate routine for it. Anyway I will try again. Like taking a hammer to concrete eventually I am starting to make headway. Because the code is SO modified it is difficult to debug. Maybe I learned my lesson, but then again maybe not. Actually I'm sure that I haven't. So I have to debug the 2 player game and wrap it up in BASIC. I should save and take a break this has been a good 5 hours of testing. Had a small fix to the set bullet2 and I think the ML is finally finished. Well I still have to change the Joy2 bits to the proper ones, but that won't take much. OK joy routine buggered (for VICE anyway). I probably could whip up the BASIC for this tonight, but I'm just not feeling it. I am very close to finishing this little bugger though.
6 Feb 2015
It is a bit funny to me that creating the BASIC for this game has been more of a challenge than I had thought it would be. But let me decribe the morning so far. I had a bit of BASIC to test the ML routines together so from this I knew I needed to expand the screen a bit, and add an intro where you chose your opponent and the speed. I quickly put this together and started testing. Oh I need to add a score. No big. Oh the computer isn't shooting, yeah I had to reverse that branch in the set bullet routine there are 2 ways to fix that. But when the speed chosen is more than 1 the computer character is erased and not printed until the counter resets!! Everything from here has to be handled by BASIC so I will have to set up another counter to erase the computer character. What a pain, especially when I have so little room (I had to drop the Top of Memory to page 24). This is getting annoying. I have the fix for erasing, but when a non computer enemy is shot it goes into that endless loop. It shouldn't because of the order I have been using the routines. It's quite a balancing act, but apparently there is still something ... It was a problem with my BASIC, after a dead flag was read it wasn't erasing because I had to add another line. So I just have to fix the ML, I think I will just change where it jumps to, that way I SHOULD only have to change one byte. OK I think I am done. I was going to put a score thingy but I don't think it matters. Well I may put it in later. 565 BYTES FREE. Actually I guess I have a couple of things I want to add but it IS finished. When did I start this, 2013? What a royal pain. Time to move on. I guess I should finish Treminator. After a break I added the score, changed a graphic, added my stupid bomb and saved it about 5 times. I am SO DONE with that game. Well I guess I will have to try it on a real vic. Soon. I wish I had more notes for Treminator. I know that I did have a plan but I forget what it was. Many of the variables don't mean anything to me at the moment. Study the print out for a bit I guess. OK I'm finished that one too. I knew it was almost done. Basically I only had to create the part for aftershocks, next level and the end. Done. Backs sore time for something else. I was surprized but there actually is a bit programmed for Adez and the Pirates of Ud. I may start there. I also started looking at the actual memory these programs will take and the way I have divided them. Tape1a will be the shortest holding the Distractions, Tape1b will be the art and the longest of all 4 sides. Tape 2a is Games One and I may have to move one game to the other side because Test Pattern is quite big. Tape 2b is Games Two and is the second shortest side. Just because, I started a little random direction program. I quickly deicded I should use the CBM studio for this and it ballooned into a 200+ byte program. I love the assembler for this and using lables is pretty cool. So much better than having to figure out every branch and jmp. I'm sure that my usage is fairly barbaric but it is a step in the right direction. My probem is testing. So I crudely transfer it to VICE because the debugger loads the ROM areas with $00 which is no good. I'm using the basic stub maker so I can edit and fix, but it is harder because I have no notes to look at. So anyway it doesn't work. I'm not sure what's happening, but it seems to be making many moves instead of one. I think that's it for tonight.
7 Feb 2015
Today I opened my Random ML and solved the 3 or 4 things I had done wrong. It will be a bit strange using CBM studio but it will speed things up I think. I was so close to the code that now debugging is a bit more difficult becuase the data statements are foriegn to me. The numbers unfamiliar, but I think I will eventually get used to this. Or hopefully find a better method for testing and debugging. Anyway I am curious how far this code would be from the code in Turnabout. As it would have a similar output. Cool to see the little buggers messing about the screen. But alas that will change when I add the BASIC. Cowboys suffered a similar fate only from a few lines. I am still thinking about a premise for this game. Oh by the way I am talking about the start of Widgets. So far I have the graphics and the ML for 10 widgets that will scrurry around the screen, and you will ... Well it's time for a break anyway. I will just tie this stuff up and think for a bit. So with the variables it fits perfactly inbetween 7432 (the last byte of the space character) and the bottom of the screen 7680! I made a little routine to check to see if the screen is filled, maybe this is the route I will go. Now for that break. Later this evening I went downstairs and turned on a real vic. I entered most of the Fast Forward Test program from memory, but I did have to change one number. Anyway it works fantastic!! The count numbers are slightly different, but fairly consistant. So I just have to figure out how long some of these programs are...
8 Feb 2015
I shouldn't have but I bought more cassettes today. Just to make sure, I got C-46s. Last night I was also playing with the loader, but I wasn't in the mood to actually change anything. So I am working a bit on widgets. I entered the ML to check the screen and it works great. I just have to add the player to this. I think I will do it in ML because I am loving the speed. I shouldn't be too hard to keep the player on the screen in ML. I also had a cute idea. Because I need the whole screen there is no place for a timer, so I will do a countdown on the player! I will have an intermission screen to tell the other important things such as lives left and score. Well after work I finished up some ML for the player movement. I am sort of getting better at debugging the ML and transferring between CBMS and VICE. So after about about 2 hours or so I have most of the ML. Yeah CBMS did make quite a difference. I would have written out the ML on paper then changed it to numbers. I may have typed it in and even tried to debug it a bit, but I know I wouldn't have finished it tonight. Whereas with CBMS I am done. I mean i still make stupid mistakes that take a while to find, but the process is definately faster. So with widgets I will just have to make a game now. Well pissing around with it was a lot of fun, but that's it for tonight.
9 Feb 2015
After thinking about it, there really isn't much happening in each loop, maybe I could change that to ML as well. The big thing I am hoping to retain is the speed. Even with 10 widgets running around it is difficult to die. Hopefully with it being fast this would be a bit different. Maybe. Unfortunately there isn't time before work. Oh I just had a great idea! I will introduce something that comes straight for you in later levels, or maybe in the earlier levels it is really slow. Because looking at the BASIC there are 3 sys calls and 3 if then lines. Only 1 of the If then lines could be turned to ML, so the speed up wouldn't be that significant. I did cheat a bit on my 17 pirates picture and I have a .ppm waiting for conversion. So bit by bit I am getting closer. Hopefully after work I can do a bit more. When I got home I thought about making the ML for this new idea for Widgets, but decided I didn't feel like it. So instead I loaded all of the Distractions and saved them on tape and recorded thier tape counts. If I have a good block of time I could probably whip together the loader. I also started the art tape so I could get an idea of how long the longest side will be. I have 4 of the 7 art programs, and the count, so far is a bit less than the first side. Well enough for now. Oh one important note, after looking at Color, I have decided there is no reason to modify this program, so i will just have to change the instructions.
10 Feb 2015
When I got back from work I played with the fast forward test program some more. I have most of the time values for the first 2 tapes, although I will have to double check this on a real vic. That's all I had energy for. Oh and changed the program order a bit. So Games 1 will be the longest tape because it has Test Pattern on it. It is almost as long as all of the distractions put together. I was think about possibly adding more, but no this will be enough. There is a Distractions 2 in the list, where I can revisit all the ideas that didn't make it into this one.
12 Feb 2015
I was really hoping I would be able to get something done today, but it hasn't been very productive yet and the day is almost over. I got the ML for the new enemy but it is too big and won't fit into what I have left above 7168. I really don't want to go any lower but I may not have much choice. The BASIC won't use much memory anyway, but I just didn't want to do that. On the loader front nothing has been done. What I need to do is make the AJ loader for DIstractions (if it isn't done yet, it may be) do up a quick version of tape1a to see if this is going to work (on a real vic) or if I have to modify it more. Well I guess I should at least try and get something done today. Oh and just a couple of thoughts. I thought this would be a 'simple' project to finish up. The truth is, nothing will be 'simple' anymore. I can't make something in a day and expect it to live up to what I have been doing lately. Just as it is getting harder for me to program in BASIC. This means that most of my new projects are going to take longer, but hopefully, be better. The other is a comment I made in the last entry. I don't want anyone to think the ideas left over from Distractions 1 are crappy. In fact there are some strong ideas there, but they will delay the release of this set by a lot! I feel that this set of 10 distractions, 5 art, and 14 games is a healthy set. So I will finsih what I have planned and some of the ideas will carry over. An example would be a game called Styger. It has a great set of webbing graphics and a spider character. I even have a general idea of how it would play. But I think it would take a week or two to finish, so mabe next time. OK Widgets the game is done. It's kinda addicting. I was able to get to level 5 once!! It is also hard. So actually tape 2 is done both sides! Tape 1 still needs 1 game and 2 pictures. So just Adez and the Pirates of UD and the pictures 17 Pirates and Female are left. Then a bit of jiggery with the AJ logo program, test and add my Fast Forward to the Loaders and Done. It sure sounds easy, why do I have the feeling it may not be. OK I was working on the loader when sure enough a problem arose. I am completely out of memory. Which made me think I have to raise the Top of Memory before I load anyway. So how am I going to do it? I don't know, and I think that's it for tonight.
14 Feb 2015
Today I have to find a way to make room in the loader to a) perform a load b) raise the memory back to where it should be. There was a thought that if I raised the memory before the load this might work. The problem with this is is has to be done almost last as it will clear any variables. I thought this may not work because I need the varaibles, but I could do it in the very last line. Otherwise this could be difficult because there is very little I could change to make any memory savings. I will try this and see if it works. Well that seems to have done it. There might be a bit of problem with the times for the fast forward as Lice! seems to go just a bit too far. But this is pretty minor and I should be able to get this all to work with a bit of extra space in between the loaders and the programs. So if I can get the AJ loader fixed/finished I could probably have most of Tape 1a ready to go right away. I wonder if I could somehow import it to CBMS. That would be the best. So I typed in most of the loader into CBMS, but I'm too tired to really do much. I think some of this is quite old and untested. Even though I would really like a trial copy to test on the real vic, I think that will have to wait. I am tired but will probably putter around for a little bit yet. Yep puttering around I completed the last 2 art programs. So there is only the last game to complete and setting up the loaders. Well I think the loader for Tape 1a is ready, but it needs to be tested on the real iron. I am slowly getting my test tapes together. Tape 1a is only missing Adez and the loaders, and Tape1b is only missing the loaders. My hope is that I can keep them separate for now so if I have to fix the loaders I won't constantly have to resave all the other programs. I should be able to append the programs to the loaders with a sound editing program (when they are wavs). Part of me really wants to get these loaders done but then another part of me thinks I should finish Adez. What a dilemma. Luckily I don't have to choose today as it is time for sleep.
15 Feb 2015
The autoload program was on my mind today. I looked through it but I forgot what I was looking for. Oh yes I remember, 'does it hand control back to BASIC' and the answer is yes. As I knew it would be. The problem is that the SYS call in the first line of the AJ loader is currently pointed at a COLD start. I will have to jury rig a few more things in the AJ loader and then test it. There won't be time before work though. Well I put together the loaders for Tape 1a but forgot to change the SYS call so I will have to do that after work. So my laziness failed me again. I had a version of the AJ loader that looked like it was done and I used it only to find that it doesn't work. So I will have to assemble my loader from other parts because for some reason CBMS won't compile with the data. So it took about 3 hours to fanangle the AJ loader together, but it should be easier to set up for other games now. So the loaders for Tape 1a are ready, now it will just be testing.
16 Feb 2015
There was one fix I wanted to incorperate. I forgot that if you are loading the first program it should skip all of the fast forwarding stuff. So I hoped there was enough space to add one more line. It worked so I resaved the Distractions loader. I should make the loaders for the other tapes because they are actually ready. But I'm not sure if I will have time before work. I quickly put the autoload and AJ loaders on 3 more .TAPs. I should be able to make the changes to the current DIstraction loader for the other 3. If I get REAL ambitious I could even start saving the programs for each side. I guess we'll see what happens.
17 Feb 2015
Thought I was getting better but took a turn for the worse. Struggled to get through work yesterday, will be worse today. So I accomplished nothing last night. This morning I made the loader for Tape1B. Again it has to be tested. Part of me wants to keep going because it is progress, and another part of me keeps thinking I really need to test this as I may have to redo all of them. I guess I have to invest in an SD interface, because that really is the hold up. Transferring the TAPs to WAVs (easy) then recording the WAVs on tape (not too difficult now, but time consuming) and then testing. Although virtual TAPs really won't be of any use here. Also I have to find out which pictures do not have a reset in them. Crap I have to add the reset to the loaders as well. Before work I tried a few things but ran out of time .Well there is good news and bad. So firstly the loader ran out of memory when I tried to open the secret folder. Luckily I left an extra print in there for checking stuff and when I removed it I had just enough. I just tried Houset which is the first program and everything works fine. So I tried Widget2 and it stops LONG before the program. But it is still OK as it will still load. So I figured I would try Artis which is near then end and it goes WAY BEYOND the program. So tomorrow (or when I get at it) I will have to adjust the timer delays for the real world. This means that I will probably have to have 2 versions. 1 for emulators and 1 for the real deal. I feel horrible so I doubt that I will attempt anything more tonight. OH and one exciting cool thing happened today, I got my new cassettes. Some lime green ones and a pack of various colours and various lengths. I hope I have one long enough for Cauldron! I did find a bunch of art programs need resets in them. I should put the fast forward stuff into the Test Pattern loader as well.
18 Feb 2015
I feel terrible. But I hope to get something accomplished today. I started updating the Net page for Distractions. I also checked the length of Tape 1 side 2, because I was starting to worry that it would be longer than 17 minutes. But it is around 12 and Tape2 side 1 should still be under 17 minutes as well, so all is good. So after cleaning and medicating myself I felt it was probably better to not sit in a cold basement right now. So I opened the Adez loader and found a couple of things I wanted to change. One was the ML was right after the graphics, and I though I might need a couple more graphics characters so I moved it above the space character @ 7432. It just moves 2 lines left, pretty basic stuff. I then wanted to change one of the enemy characters from what ever that was to an octopus. I knew I had one in my REALLY old notes, like from the 80's old. So I dug out the binder which is mis-shapen from so many years of sitting at the bottom of the pile. I have to say I was pretty ambitious, looking at some of the ideas I wrote into those pages. What I lacked was the skill and the time. I have slightly more these days so it is possible some of these ideas may come to light yet. But focus!! After an hour of daydreaming I found the character I was after and saved the new file. Listening to the new Pink Floyd the Endless Dream which was fairly appropriate, but it has continued on to The Wall. There were some graphics for a Vycryle picture and I was very curious so I typed it in. It was very interesting, I'm not sure I can do anything with it at this point though. Another digression, too sick to stay focused. Instead I played with some semi 3D graphics (like Zaxxon) for probably another platformer. Although I won't add it to the list yet I have a feeling it may develop into something, I guess it just depends on how long it takes to complete the current stuff on my list. If I applied myself I'm pretty sure the Adez game wouldn't take long, but I can't stay focused. Played with the other graphics, then updated the main Adez program so it had the new sys call. Well I am puttering around with the game, I added the death and game over parts. I also added a splash page. I have to make a change to something as Adez is always dying when he hits a tree wheather he's jumping or not. Hmm for some reason the code seems kinda buggy. I am starting to get a massive headache, I may have to leave this for a bit.
19 Feb 2015
Not really sure what I want to tackle today. I could work on Adez a bit more. Or I could work on the loaders. The biggest problem with the loaders is I have to have the tape counts to finish them which means I have to put it on tape first. So I will have to transfer them at least twice. I don't really see anyway around that, and that is a huge pain. So far Adez is no fun to play so I definately has some work to do. I know I will have to add some more ML, but not entirely sure what I need at this point. OMG I didn't save my work yesterday! Well that just sucks! So I added a bit more ML, then started playing with some ideas for sound. I looked at the '15 new waveforms for the vic 20' article and hardly understood it. The bottom line is that you can change the length of the pulse from 50/50. This I understand as I have played with synthesizers a bit. But what does a pulse like '0010110011010011' sound like? I would guess kinda distorted because of the irregularities of the wave. I guess this is like extremely simple PCM. I made a simple program to pulse the sound on then off. One using 0 as off and another just minus the on/off bit 128. Surprizingly they were 2 completely different sounds and notes. I also tried reversing the order as I did a quick JSR to GETIN so I could exit. I'm not sure how many cycles this uses, but it would be enough that the last number would be significantly longer than the first. Again I got a different sound. I find it all very interesting and would like to investigate further. But not now. After an extended break with Capt. Kirk and friends I toyed with the Adez program. I think it works better now anyway. I have had to throw away a couple of cool ideas but maybe I can use them somewhere else. I will have to add 2 ML things when I get a chance. One will make the skeleltons jump every x moves. And one will be the music. I have an interesting idea for that. A note playing a 16th pattern while the bass pedal tones around it. That way it will be economical as I will only have to program 2 timings and maybe 6 notes. And being the smart guy that I am, I saved it this time.I then went downstairs to get my cassette counts. It took about an hour and I actually want to double check my numbers, but I think I have the numbers for the first loader. I also found a number of mistakes that will have to be fixed, including a curious sys call in Artis. That is all for tonight.
20 Feb 2015
Because it was way more interesting to me I started with the little bit of ML I had to program. It didn't take long, but I did run out of room. Not by much so I just put the last part in the undefined characters under the space. There was a huge problem though. There was a branch right before I ran out of space. So I could jump before the branch and make things way more difficult OR I could use 2 locations on the screen for my ML. Because I am lazy I chose the latter. I have already done this in games such as Extra. And for the sake of 2 bytes. I will just have to move the print ADEZ over. So I think my ML is done. I have a bit to add to the BASIC then I think I am done. The music works great and only uses about 70 bytes! The game is almost done but I made a mistake with the skeletons and will have to raise then one line. No Big. Well after pissing around some more I'm finished. It runs a bit slower that I had hoped but it is still quite hard. So although I am a long ways from finishing, really, what's left is just logisticts. Setting up the timers for the loaders and fixing a couple of little things here and there. As long as I don't procrastinate this shouldn't take longer than a few days. So the loader far Tape 1a is done I think. I just have 1 tiny fix in Artis and I think that tape will be ready. I fixed the loader for tape 1A and as best as I could the loader for 1B. I started the tape for 2A and then estimated the numbers and saved the loaders for 2A. In my testing I found a few more things that need fixing. I am working on 2B but my back is getting really sore, so I will take a break.
21 Feb 2015
I didn't work at anything too hard today. I did go through and try and fix things like some housekeeping in Artis, and 5 art programs. There were a bunch of programs that needed to change the TOPMEM on tape 2A. Then I quickly went through the games on 2B. So far everything looks good. I will estimate the numbers for 2B and quickly get a loader saved. From then on everything will have to be done downstairs. Well here goes nothing. So after a long period of other things, I finally started testing the cassettes. So Tape 1A works great, I made sure by loading each program. It was then that I found another mistake. Shipit does not perform a CLR and overwrites the graphics. So I will have to fix that. Tape 1B also works excellent. This was the first time I had seen any of these pictures on a real vic and it was awesome! Tape 2A was the last that I tested and I only tried the last 2 programs. They unfortunately are out by alot. They would still work but I should be a bit closer with the fast forward. I will continue with this tomorrow. Because I had to reload from the start for every program, this took a long time, so I started dubbing a few games on the other computer while I waited. I will have to test them but I transferred Turnabout, Kerratias, Gem Warrior and Boxa. Although now that I know how to record them there shouldn't be any problems. So very close to being done this one! Oh I haven't put up the loader so here it is.
23 Feb 2015
This morning I had time so I worked out the times for tape 2A. The ones towards the end were out by quite a bit. So I had enough time to get the tape counts from tape 2B only to find that it didn't save properly. So I grabbed another tape and dubbed it. While I was waiting I checked Kerratias, Turnabout and Boxa all worked fine. I went to rewind the Distractions 2B tape and it wouldn't. I finally did get it to rewind but knew there would be problems, and sure enough nothing would load. So I rewound and fast farwarded the tape and thought I would try the other side long story short it didn't work. And now I was out of time. So disappointing. I thought I could try again tonight after work but life isn't kind to me, and I won't be able to do it. Extremely disappointed. With some luck I may be able to try again tomorrow but more likely not till wednesday. I did get ahead of myself and printed out the covers and instructions and stuff. Oh I found another little bit. I need to poke 36869,240 in Broken Bones. I will wait and fix everything all at once. I was kinda thinking seeing as I can't do anything else, I could fix Tau Ceti, but I don't think I will. Well I looked at it and the AJ loader won't be too bad. I will just have to add a bit at the end to do the ML load and some housekeeping. The splash screen will be a bit different as the ML is under the picture data. BUT once I insert the ML I need into the program it shouldn't be too difficult to move the data and the 4 spots that reference it. If only I had a bit more energy.
24 Feb 2015
Before work I was determined to check tape 2B. I had to try dubbing it 3 more times before I finally realized what I had done. Or what I hadn't done. I forgot to turn on the speakers from the computer. It is so strange because it seemed like the cassette player was still getting a strong signal. Anyway I did have to change the counts for tha least 2 games. But I made another startling discovery. I have all the directions reversed for Joy2 in Cowboys!! I want to double check so i will have to dub Blondie. So I have a fair amount of fixing to do tomorrow. Oh and I got to check Gem Warrior and of course it works fine.
25 Feb 2015
I don't think I have been more frustrated. Today I dubbed Blondie but there was a load error ... often. So the 2nd joystick routine works on that game fine. I found out the reason Widgets was giving me trouble was it too was getting a load error often. So while I was testing things I tried to dub Springer 3. I had another tape that was so tight it wouldn't FF or Rewind. Then another and another. And there is no headphone jack on this tape deck so I can't even listen to the sound to see if it's recording properly or not. I'm wondering if my tape deck is dying. I just don't know. And I am getting angry becasue I want to dub the remaining tapes (plus Distractions and Tau Ceti when I fix it) and I may not be able to. So I have brought my notes upstairs hopefully I can get a virtual version of Distractions up and running. I will have to transfer this to the real vic to test some of the changes but unless my previous testing missed something or was incorrect. Distractions is DONE!!! It has been in an ambiguous not done/done state for a few days now. I won't really feel it is done till I can transfer it onto cassette simply because I can't test it on an xvic. Too many things don't work on the emulator, the cassette motor shut off, the real joy2. I really hope my tape deck is OK, and that I can keep dubbing computer tapes. I took about 2 hours and fixed the 2 loaders for Tau Ceti. If I have time I need to fix a couple of little things in the first adventure for Tau Ceti. Maybe another day. I didn't even update my web pages ...
26 Feb 2015
I'm not sure if I want to tangle with the cassette player again today. I did update all the web pages and Distractions is now available for download. The only wierd part was having to combine the 2 .tap files. So I took the 8 files downstairs used Audiotap to make .wavs, used Wavelab to put the loaders and the programs together, then converted them back into .taps. I built the little .zip file for the web site and updated all my personal web pages. And unless I work on the fixes for Tau Ceti I doubt that I will be doing anything Vic related today. Strangely restless today, but there is nothing to complete. I fought with the cassette player again, losing again. I am quite disappointed as I was hoping to dub the remaining 14 games in the next few days. I guess there are other things I can do, but that was what I WANTED to do. Oh and one more final amazing thing ; my next 10 list has only 10 games on it!!! The first time since 2001 or so.
1 Mar 2015
In the intervening days I have relaxed a bit, which means I have done nothing. But today, although tired, I opened my current work binder (which is almost empty) and flipped to the 3 pages I had for Cygnis. In here is a quickly jotted down routine for a compressor. I tried to follow the logic as best as I could, and I immediately saw problems, so I kept running it through my head, and modifying it until I think it may work. I actually have nothing to test it on, so I don't think I will get any further with this today. But this is the crux of this game. Without the compressor, I doubt that I can actually fit a decent adventure in a 3585 byte Vic. So if it works, it is off to the races (as I will use slightly modified routines from Tau Ceti for most of the game). If not ,I will either have to struggle to get a working compressor, or abandon the idea for now. On the subject of dubbing tapes, I will clean my player, and try again.If it fails again, I will look locally for a new recorder, and failing that I have a couple bookmarked on eBay. I obviously don't want to spend too much on this, but it is important to have that link, for me.
4 Mar 2015
Still enjoying a break. I cleaned the cassette player today, printed out a new catalogue, and started an investigation on colour and vic graphics. Still haven't tested my compressor, or the tape deck. I am trying to see if I can make a full colour converter for MINIGRAPHIC. I think it would be handy. At first I thought I would compare ranges of the RGB components, but quickly realized that would be a difficult and long journey. I think I will shrink all the colour components down to 2 bits rounding up to the nearest 32, so it will be easier to calculate colors. Obviously it's not like I will be dealing with gradients. Not sure how far this will go, as I think I will have to load all the colour in before calculating the colours, so it will have to be at least a 2 pass operation. I was very close to trying to get Tau Ceti on cassette, but thought I should wait and make the changes to the programs. T1 needs some fixes and so does T3. I may even make 2 small changes to the 2 loaders I just fixed. I need to update the version number in the AJ loader, and I need to take the RVS field off in the splash page loader. I hope the cleaning fixes the tape deck, I really want to get Tau Ceti and Distractions on cassette.
Working on Cygnis
7 Mar 2015
There have been just too many things happening to do much Vic related. Unfortunately I think the next while will be more of the same. I did make a copy of Springer 3 and tested it the next day, and all is good. This morning I dubbed Distractions and it seemed fine, but I probably won't be able to test it till later in the week. I was just looking and I have just over 10 games left to dub. Oh wait, that's not true, I forgot the covers for Vycryle 1 & 2 are still on the shelf and I have yet to dub them. But hopefully I have a cassette long enough for Cauldron, and I will be happy. So I started testing the compressor and there were problems but there is hope. After a bit of fixing it is printing out jibberish. Unfortunately it doesn't stop at a double zero, so work needs to be done. Plus I am not entirely sure it is printing the right letters yet. I will need a bit more time with this. OH plus I forgot about capitals. I can add another flag to create capitals but I have to get this working first. I also have to do a bit more fixing to Tau Ceti, but with my limited time, I haven't gotten to it yet.
8 Mar 2015
Before work I played with the compressor a bit. After work I decided the real test would be to encode something, so I started making an encoder. Even in BASIC it is alot harder than I thought, so really nothing has been accomplished. I quickly encoded my own few letters and started testing. I have Table 1 working, but Table 2 is eluding me. The capital flag is working so far. Well it is getting closer but still not quite there. Oh and I tested Distractions, it works but it WAS THE WRONG WAV FILE!!! So I have to do it again.
9 Mar 2015
Worked on the compressor (actually the decompressor) and I finally figured out what was wrong. For the final character it was trying to capitalize a space character, so a quick CMP and I think it works. It takes up the whole cassette buffer from 820 to 1020! 3 bytes to spare. Now to make an encoder. I have to be off but when I return I will try to dub some more cassettes. I dubbed Distractions but side b of each tape isn't recording very well, so I'm not sure what to do. Maybe try and clean it again. In the meantime I am trying (unsuccessfully) to build an encoder. Just too tired, didn't sleep well last night and I just can't wrap my brain around this right now. Not really sure what I am doing, but entered the Input routine from Tau Ceti along with some startup ML. They are just fragments and I'm not sure they will work (I may have changed the Input routine after I wrote it out). Maybe I should open Tau Ceti and fix those little things and see what's what. I took several hours but now Tau Ceti is all fixed. I did forget to look at the input routine.
10 Mar 2015
Did a whole lot of nothing today. Even though I have not figured out the problem of the side b deficiency, I have decided to go ahead and dub a cassette for Tau Ceti. I will try the same thing to see if it just wasn't the cassettes were already recoded on too many times and if that fails I will try the left side for side b. And if that fails I will try to adjust the playback/record head. And if that fails I will have to buy another cassette deck. Aside from hitting record and walking away for 20 minutes, I have been looking at notes and things. I found the docx Master list I was looking for, updated it and printed it out. It has been warm the last 2 days and the snow is beginning to melt, so I know my Vic time is running short. While I have finished one of the most important parts of ML for Cygnis, I do not feel particularly engaged yet. I also know that using CBM studio's assembler will make things so much easier. I have been using it for many little things since January. The best reason, for me, that this will help is that I can assign Branches and Jmps and Tables to variables, so that when I need to add something or drastically change something, I don't have to worry about recalculating all of these numbers. I am still quite dependant on a data loader for testing. It is hard for me to adjust to a new system, although in time I probably will. I hope that Cygnis will be almost fully programmed in this environment. Seeing as I don't (at this time) need macros or intricate lables and variables, this assembler should do fine. Especially because I still like to deal with decimal numbers. My biggest problem will be extracting ML from old projects for use with new projects. It isn't impossible, just a PITA, unless I find a better way to do it with CBMS. Luckily once I have it in CBMS I can recycle ML routines quite easily. OK as one would suspect, side a works fine. side b doesn't. That's disappointing. I had to make sure, so I did some more testing and Damn there is another mistake in T7! I also took a look at the input routine and I think I have to make a couple of small changes. Done I will add the Collect words, Check Verb, and Check Command verbatim but I SHOULD leave some space after the noun,verb,command data as I know that will be changing for each game. BUT in an unexpanded game, how much room should I leave? It is such a strange thing. I have entered the ML for the whole chunk, and if I haven't made any mistakes this SHOULD work. It seems so different, such a strange process. After checking, this is almost 500 bytes! If you add the decompressor it's another 200! This is going so quickly. Mind you, most of it was already coded. Oh there is a problem, something I had wondered about. An offset crosses a page boundary. I will have to fix this before testing. I am still learning but it seems I have enough understanding to set up some simple variables and lables. Enough to get going. I had said I have started to use CBMS for bits and bobs. Like finishing the ML for Cowboys. I also used it to set up the AJ loader for DIstractions (the ML loader for Tau Ceti was bourne out of pure paper and frustration). Cygnis will probably be done mostly on CBMS. I am a diehard and will probably do the data encoding on the Xvic. Binaries are fairly easy to merge, but the ML will benefit from an assembler. Enough ranting for now.
17 Mar 2015
Top o the mornin to ya. I have had a CRAZY week and I have another busy weekend coming up. Today is the first day I have been able to spend programming in a bit. I admit I was also a bit scared as I have typed everything in CBMS ( quite a considerable chunk by my old standards) and was worried it would just be a waste of time. Today I entered the data for the opening screen and just went for it. To my complete surprize it almost worked! I had forgot to assign a variable and then I forgot a return and then I forgot about a bomb I put in there. But soon I had an opening screen and some untested routines. The Input and Collect Words routines plus data are in this chunk. I guess as long as I didn't make any typing mistakes it SHOULD work but I HAVE to test it. The problem will be resolving the start adress of these. I was thinking I would have to hunt them down manually, but I guess I could find the hex address in the asm file and convert. Hex is a dirty word here. Also I am quite disappointed that on my cassette recorder only one side seems to record properly. I have ordered a new one but it will be some time before I have Distractions on tape. So the dubbing has stopped for the time being. Well the input routine works but something is wrong with the Collect Words as it is returning zeros for both the noun and the verb. I thought at first it might be because I was altering the Collect Verbs routine as it was running. In the original the verbs and nouns were on the same page, and here I don't think they are. I added a fix to change the Hibyte as well but I am still getting zeros, so this will require a closer look to see why it's not working. Another test shows the Get Command is working but the Collect Verb is not. That is where I will focus my debugging efforts. Quickly I found a curious thing, that the Input was saving stuff starting at 268 rather than 267, a quick bit of testing and it all seems to work now. Plus there was an error in the Get Command that I had to fix. I forgot I needed to subtract 1 from the lable. OK next I guess is the Rm tables and a bunch of stuff I will borrow from Tau Ceti. I see the greatest benefit is being able to move things without having to update JMPs Tables and stuff. OK back needs a break. Actually I guess the next crucial part is making an encoder. Because I am lazy I will probably make it in BASIC. I think my previous approach of trying to get 2 letters at a time was a bit too crazy, I will just try getting one letter at a time. I think I have it. It took a while because I had to actually check each letter combination myself to make sure it was working. Now I can test the decompressor to make sure it is working, and soon I can start adding some dialogue. I tested the decompressor and it was a complete failure. But I looked at the output and found it funny the first 4 letters were Htre. I must have reversed the order of the letters, so I looked to see how hard it would be to fix and luckily it wasn't too hard. I tested it again and it didn't seem to read the end then I realized I hadn't ended with a zero. I added the zero and it worked! One thing I will have to remember is that I won't have to add a space after a punctuation. Another thing that should help save bytes. Alright I think I have everything tested and ready for more. I checked to see what I have used and if this is still possible. So the decompressor is in the cassette buffer from 820-1020 (200 bytes). And I have used from 4096-4662 (566 bytes). I still have a whopping 3018 bytes. Actually I know they will go quick. If memory serves the rest of the interpreter and other functions are another 1000 bytes, variables will take up another 20 or so, then the dialogue. I think in Tau Ceti I used about 3500 bytes for that, but I had more rooms, and no compression. Hopefully it won't be much more than 1200 bytes because I will still need 800 bytes for the rooms. Well I think that's all for today.
18 Mar 2015
Someone was hung over today. While not an overly productive day I typed in the massive BIG LOOP from Tau Ceti. Because I didn't update the code as I changed and fixed it, I know there will have to be some changes. But That is a lot of code. At this point I am at 5354, meaning I have used 1258 bytes (not including the decompressor) and have a dwindling 2315 bytes left (I have subtracted the variables I am using). I will either test the BIG LOOP or start creating my dialogue and run it through the compressor. At that point I should know whether I have enough room to finish this or not. It will be tight. Number of pages of paper with code on it so far: 2. One has my first rough draft of the decompressor and the other has the Input, Collect word, Collect Verb and Command routines, just so I had the most recent version. I have another busy weekend, so I may not have time to do any more till next week. We'll see I guess.
21 Mar 2015
Not that I have time, but I started adding phrases to my encoder. I have found an extreme caveat, becuase I am using DATA statements the limit of a response is 79 characters. Unless I add a way to concantenate DATA. Anyway I added many of the common responses and some of the objects and am only using about 400 bytes. This is looking quite good. Oh one other thing I need to mention is I had to add 4 bytes to my decompressor so hopefully I can start it @ 819 with no ill effects. I WILL have to remember to save BEFORE I run the program as I am overwriting the SAVE vector. After work I tried running some of the compressed data through the decompressor. I had to make a quick fix to the encoder. I forgot to put a 0 to make the end of a statement, It seemed to work after that although the first sentence was corrupted very quickly.
22 Mar 2015
Old habits die hard. I am having trouble leaving my initialize varaibles mostly empty, or not trying to leave some kind of place holder there. But there is no reason to worry or do anything, the program is designed to recalulate all of the lables every time you send off a PRG. It will also tell me when I have run out of room by letting me know there is a memory conflict when I build the assembly. Perhaps not as handy as a realtime warning, but I am so old school a lot of this is still magic to me. Oh another thing is adding that stupid zero (plus starting a bit higher because of 2 non compressed phrases) ate another 100 bytes. And another thought occured last night, there are letters I have absolutely no use for characters such as z,x and q I could replace those with either other characters (as my missing') or colour codes! Just a thought. So I tested all of the compressed phrases, and there are 2 that I typed in wrong. But when I tried to add the extra 4 bytes to fix the decompressor everything stopped working. After several tried to see what was wrong it was the same old problem. I had only changed the data, all the JMPs and JSRs and tables were wrong. Not sure if I have time to try another build. Anyway I am on the right track, the next step will be to test little portions of all the code I have typed in. I keep puttering with it. I have found a couple of mistakes that I have corrected, and I keep adding little bits. There are a couple of things that may not work (assigning a lable for a byte), and many text responses that I will have to put in by hand (I could use variables but I don't think that far ahead). But this is moving ahead. Just slowly. Off to work.
23 Mar 2015
I am puttering around again today. I rebuilt the decompressor and fixed some of the DATA. I was curious how good my compressor was so I checked. Uncompressed the DATA (so far) is 993 bytes, compressed it is 592. I was hoping for about a 2:3 ratio so this is actually pretty good. After a number of interruptions, I think I have the DATA ready. The next step : build the main program and start testing. Oh wait first add a few of the compressed addresses for dialogue. I added as much as I could, there are still many things that are unresolved. It was pretty cool to see the decompressor all over the screen!! (ready to be saved in the cassette buffer). Unfortunately something is returning it to BASIC and the room description isn't working. I may have to import my compressed DATA, I will play with it a bit more. I found 2 mistakes. One was I forgot to subract 1 from the Room Jump Table, the other was I didn't update the Decompressor's start point. I will build again and see what happens. So a few fixes here and there. Some formatting fixes. I have my first room! There is still so much to test, but I am adding variables and tables and resolving things as best as I can. I guess I'm not totally ready for lables, alot of it I am just coding in, like the compressed descriptions. It is a PITA to go from CBMS to Xvic, maybe there is a better way, but I haven't found it yet. Well some things are working others are not at all. It will just be a case of patiently testing, fixing, rebuilding ect. I complain but there are so many things that CBMS takes care of I really shouldn't. Oh another crash. I will take a break. Back at it for another hour or so. Lots of little things a LDA# istead of a LDA or a LDX instead of a LDY. Hunting them down and fixing. I am close to getting most of The Big Loop fixed. Inventory I will have to leave for now, as I need to fill in another table. Another big mistake is my x offset usually starts at 1 meaning I have to subract 1 from almost every offset and I keep forgetting. I filled the Inventory table, hopefully with this build it should all be working. I forgot I have to fill in the check object routine. Then I had the wrong print routine. OK I think I have everything working so far. Today was all the testing I had been putting off, but it actually went pretty well. So I have 2 areas that are free for ML or DATA. Between 5475 and 6144 (669 bytes) and between 6778 and 7664 (886) bytes a whopping 1555 bytes to finish the game with. To be fair there isn't NEAR as much description as there will be in the other games (hopefully). I have a couple of things to add to the Main and The Big Loop and 7 more rooms. Easy peasy. Right?
24 Mar 2015
I spent most of last night after designing a cover and a booklet for Cygnis. I shouldn't have as I was up several hours later than I wanted to be. But I do think it will be a nice package. So I am listening to Angel Rat by Voivod, the true anti-pop album. There are so many awesome songs on this album. "There is no reason for my eyes to glow" Anyway. I did fix another couple of small things. The get dir had another typo in it that was making it do strange things. Well there really isn't much going on in the rooms I am almost done! I will have to add a few more phrases, that will take some time. I will break for a moment. Well holy crap I think I am done the first one! I just have to test it. The CBMS gives a report on how many bytes you have used in each part I added them together and got 2695!! I have 890 bytes left!! I am actually disappointed I didn't use up all of the memory I will have to try harder next time. Now for testing. Yep a bunch of little stupid mistakes. I had a bunch of JMPs instead of JSRs in the Check Objects. I had BNE instead of BEQ for my press a key bit, and forgot to store the room number before JMPing to the Jump Room table. Stupid. Having some problems with my You are hot, You are thirsty bits. I have them sort of working, I will play with it a bit more. I think Htar, the first mission is complete. I will have to finish a couple of things. I need to make the loaders so there is some code already there to load the next part. I was just looking through the AJ loader and I have to do a fair amount of work to it. I am tired of this for now.
25 Mar 2015
Last night I went back and played some more and of course found a few more mistakes. Unfortunately it isn't a terribly exciting adventure. And I am still having problems making the "you are hot" bit work. The big news is there is a new version of CBMS! You can build directly to a .d64 (although this was in the last version it didn't work properly) and you can import straight to disassembly. That will be handy when I start working on Dynasty as there is a considerable amount of ML done. So today I should work out the adventure for Thes because until I do there really isn't much I can program. Oh and I found another thing that I had to change, but not in the game. I wanted to change the name of the last planet so in the booklet I did. Stupid me I had already used the old name in the intro of the game!
26 Mar 2015
I'm not sure why, but I didn't feel like starting Thes. Instead I started working on the splash page. First thing was I had to update the splash graphic as it had the wrong serial number and a reference to Ruf Noiz. In the process I was checking out some of the new features of CBMS. Unfortunately the save to .D64 stopped working for me. I had a hard time importing stuff this time. Anyway I programmed the splash page and went to test it. I had to go back to my old method of saving a .PRG then using WAV-PRG to convert it to a .TAP loading the .TAP in XVIC and saving on a .D64. I had a couple of small things wrong, but I looked at the copywrite date and it had 1998! DOH! I will have to fix the data before I can move on. Well it didn't take long and now the splash page is done. If I have time tommorow I should start Thes.
28 Mar 2015
I finally started the data for Thes, the second adventure. I guess it is a big undertaking because I have to decide how the adventure will play. Once this is done changes are usually difficult unless minor. I knew there would be alot more data, and I kinda figured out what will get responses in what room. This way I am pretty sure that I have almost all of the data. So I wrote it out and it filled from 6185 to 7167. This leaves a little less than 2 pages here (about 500 bytes) because of the variables. I will probably need this room as there are more actions in this game. But it is all fairly simple and straight forward, I doubt it will take long to program. I hope I don't run out of room. I added the data to the project and updated many things. I removed all of the check object routine because I won't use it. But that is enough for now.
29 Mar 2015
Today I started programming Thes. I am up to room 3 but it is probably the busiest. I did run out of room but there is more room above the DATA. I will also have to add a few more line of DATA as well. I'm pretty sure I can still make this fit, but it will be close this time. Between the house flooding and work there may not be alot done for the next few days. Off to work. Well I'm back and plugging away at the code some more. I finished rm5 and thought I should see how close I am to the DATA. I am within 100 bytes. I could probably put rm 6 in there but I think I should add my new phrases before I continue. Well it is close, I had to move RM6,7,8 above the compressed DATA. So there are about 80 bytes between RM5 and the DATA and there is about 200 bytes left between rm8 and the variables. I think that is enough for tonight, I will start debugging tomorrow if I have time.
30 Mar 2015
As the flooding continues I decided I would take a quick look at Thes. I tried all the directions first to make sure you could get to all the rooms. I was disappointed, but a few of them were quickly fixed. RM 4 is a problem though I can't go west as I should be able to. And then it seems like the Look Room table is being corrupted. More testing. OK I can go to every room, but I found a new problem, you cannot look at an item unless you have it. I also forgot LOOK SHIP in room 1. The Get item isn't working also. But it is time for work.I did a bit more after work, lots of little stupid mistakes. I have to finish checking room 3. I also have a couple of bigger fixes. One is the LOOK SHIP that I mentioned and for the EAT x bit I forgot to check if you had that item first. I'll have to finish checking tomorrow.
31 Mar 2015
I can't beleive how quickly the debugging process is going. Generally they are simple mistakes and are fairly easy to see. If it's a small one I'll wait a bit to do a new build. One that had me a bit perplexed was the LOOK WATER when there were items in it. It turns out that when I updated the verb table the noun table moved up one byte and the INVTABLE was now pointing to zeroes. Took a bit to find that one. I guess I need to use more lables than fixed adresses. Listening to Anvils This is Thirteen. Saw them last week and they were awesome. Got Voivods Killing Technology in the mail today so that will be next. Anyway did a huge restructuring of many things. I think I fixed the EAT x in the Big Loop, and added LOOK item in each room. If they need no further fixes the only thing left will be to add the LOOK SHIP. I will have to go and compress a response, then add it to the DATA. hopefully that is the only response I am missing. Alright new build let's see if this works. Have a serious problem the new (beta) version of CBMS isn't assigning a label properly and the program is crashing. It is one I use often other wise I would just change it manually. So think that is it for now.It took a lot of coaxing but I managed to make CBMS build Thes. Then I had a few last bugs in it, then wouldn't you know it, I ran out of room. With a bit of quick thinking I managed to squeeze everything I needed to below 6144, with 2 bytes to spare. Then there is 123 bytes between RM8 and the variables. Now that's tight. So this one seems interesting. I imagine there will be several frustrated players dying before they can cure themselves. So Thes is Done!
1 Apr 2015
While I was lazing in bed (and others were playing practical jokes on each other) I started coming up with a plan for Hwir, the third adventure. I wanted it to be a race back to the ship, sort of like I had teased in the booklet. I had this CRAZY idea that I would try and incoperate 12 rooms into this adventure!! But I thought about it, and there wouldn't be as much going on in each room, this might be possible! So I copied Htar and started changing the relevant code to accept 12 rooms. Although there would be some strange things happening, it should be set up now for 12 rooms. I have quickly sketched out the map and some ideas for the adventure. Now it will be a case of starting to write the dialogue. I currently my mind is elsewhere so I won't be continuing for the moment. I will comment the MR. Jordison has been extremely helpful and just plain awesome with his support for CBMPS (I finally realized it is PROGRAM studio). So I will definately be throwing out a HUGE thanks and a few unsolicited plugs about CBMPS!! Again I was curious how my compressor was doing so I got the raw data (1806) and the compressed data (1113), so I saved 693 bytes or about 39%. Not bad. I certainly couldn't have finished with out that savings. I made up the DATA and tested it. There are a few mistakes, I should fix them before bed. We'll see how ambitious I get. Meanwhile I made a bunch of pictures to load after each adventure. So far I have just converted them to PPMs I would still have to run them through my horrible half assed converter. I really should fix/finish that at some point. Anyway I'm not entirely sure I will use them, but I like graphics and this game is sorely missing a few. Oh and on the DATA front (even before I have fixed anything) there are 2069 raw data bytes (uhoh) and 1225 compressed bytes. Meaning a savings of 844 bytes or 41%!!! I am a bit worried that is a LOT of DATA. I still have to jam extra rooms in there. OK data is fixed, Updated some of the program. I am ready to start programming the rooms but it won't be tonight. I tested the import binary to decimal, it looks so nice all those base 10 numbers!! Programming Dynasty should be a snap! Anyway I think I am done here.
2 Apr 2015
Can you beleive it? It snowed again last night! Stupid snow. Programmed the rooms for Hwir the third adventure. I also tried to fix the main parts for the new objects and stuff. I am a bit worried that the oxygen counter isn't going to work properly, as it will only be read when it goes to THE BIG LOOP. Thes also does this but it isn't timing critical, where as Hwir is. Soon testing will begin. This one wasn't as close as I thought. I'm not entirely sure but I think there are about 300 to 400 bytes left. I decided I wanted to get the pictures so I spent the afternoon transferring them and playing with my import program. I think I need to spend some serious time on this. I have some ideas that would make this import program awesome, but I can't just play around with it for an afternoon. Basically I want to make everything automated and be able to use more than 4 colours at a time. Anyway I have some pictures that need ML, and some ML that needs testing. I need to get out of this chair. Well I spent about an hour getting some ML for 2 of the pictures. I still need to change the colour on one of them. The other 2 will be easy. Cut, paste, change the data. I finally tried to test Hwir, but I run out of oxygen too quickly. I think the first move is getting a double count becuase you are still wearing the labpack. I think I will have to remove the oxygen death to test, but looking good so far. Forgot to update the Check objects routine. As usual lots of little things. I am starting to get too tired to think. I have it somewhat working, but I have yet to test and fix everything. Tomorrow I guess.
3 Apr 2015
Finished debugging Hwir this morning. It was fairly easy and straight forward. There was a moment though, when I finished the game I had inserted a RTS, and it did not return to BASIC instead I got the 'What are you going to do?' prompt! I was almost certain (because this had happened before) that there was a JSR dprint instead of a JMP dprint. A simple search turned up the culprit and all was good in the universe again. I have serveral options for the rest of the day (and maybe I can do more than one). I could complete the AJ loader as it, for the moment, is set up to load a BASIC program. Plus I could add the graphics DATA. There are 2 pictures I could set up. I could start the .TAP file for Cygnis. And I could start planning for the Black Hole adventure. This adventure will be much different from the rest and could use a fair amount of pre-planning. I imagine it will still be tough to program. I am still not entirely sure if I should add the pictures as they will be time consuming to load and add nothing to the game play, yet I really like them. Well it was an interesting afternoon, but I got absolutely nothing done. OK I worked on the AJ loader. I have no idea how I got the one for Distractions to work this one was completely screwed. It took a long time to iron out the problems within. But I finally have a working version. I then started the .TAP I have to stop at the second picture because it still needs some work. And yes I decided to put them in. There might be a few people swearing becuase it adds to the load time, but that is what I want. Well it looks like I will have to do that again, there are lots of little things I have to fix. I fixed the 2nd and third pictures so they are on the test .TAP. But I think that is all for tonight. OK I quickly fixed the assembly but I will have to make new builds for them later. Oh I lied I also did up most of the last picture and copy pasted Htar and called it Cygnis.
4 Apr 2015
Although I am organizing my thoughts for this last adventure, I am not really sure how I am going to do this. I went through the code and quickly realized I won't need the ojects or directions, so I deleted them. I'm not really sure what I need. Unfortunately I think the only way is to start and make mistakes. I did write out a very general idea of what could happen. From the outset I think I wanted to do a move based game where you would have to perform time critical actions to save yourself and your ship. This will be difficult to translate to a text based game. But enough rambling.
9 Apr 2015
I have been busy but I think I was not even sure how to attack this problem. And that is; how will this last adventure play? While I was waiting for a video to upload to youtube I started plotting out some ideas, thinking if I had to, I could crumple up the paper and start again. But then it started to make sense to me, and I started to see how I would write this. I have the first 3 "rooms" roughed out. It may take another day or so to get this plotted out, but hopefully I will be adding DATA by Moday and hopefully programming by Wednesday. My predictions seem to be pretty horrible, so I will leave it at that. A few days ago I finally tried to work on some cassettes with the new recorder, with no success, and then I ran out of time. I guess what ever break I was taking is now over. But first sleep.
10 Apr 2015
I finished a scribbled room plot. Unfortunately there won't be time to do anything before work, but I have a pretty good idea of what I have to do. The big loop will be totally changed, as there are no directions to go, no objects to look at or get or drop. Instead the big loop will handle certain responses that are the same for all "rooms". And even the rooms are different, they are not a different physical space but a different space in time! The longer you survive the closer you are to the last room. Space wise, as far as memory is concerned, I think I can be fairly verbose, as the adventure is quite short. Plus it will help give the feeling of being there. I feel bad that Htar's decription was almost always 'You are in a desert', but truthfully I wasn't sure if I could handle more than that, in the 3.7K allotted. I am excited again, so this is good. After work I should have started creating DATA, but I fixed the .TAP instead. So everything up to Hwir's picture works. I only have to create the last adventure.
11 Apr 2015
After work I started working on the DATA for the last adventure. I wasn't really in the zone (had a kinda rought day) but figured the only way is to start. So I kept a few of the old phrases and started working on as many of the new ones as I could. I then started adding stuff for the rooms. I only completed the first two, but as I said I have had a rough day. It is a start.
14 Apr 2015
It has been a tough week, but today I decided I should try and tackle at least a bit of this game. So I looked at the DATA and thought there was lots of room so I typed and typed. Once I was done I saved and finally ran the program and found out I was 93 bytes onto the screen! I have removed (for the time being) the ending message which is 103 bytes long. So this is where I am. If I am lucky the ML won't take too much room and I can sock it in whatever room is left. I guess all I can do is start programming and see where I am at with that. I am optimistic as I will have to reprogram the big loop and I think it will be considerably smaller. Again I guess I will know better later. I started programming a bit. I went through the Big Loop and it is about 1/3 the size. I have to insert some new things in the Big Loop before I start the rooms, but I have a splitting headache. Hopefully I can do some more with this tomorrow.
15 Apr 2015
Programming is slow going today. Finished up the Big Loop, Rm1 and about half of Rm2. Just can't focus. I guess I will take a break. I am worried that I will run out of room. I sure hope not. Man I am just not into this I finally finished rm2. I was slogging through rm3 when I realized that I needed one extra byte for the screen header which pushed everything back one byte! I had marked this in the program but missed it when I compressed all the DATA. In fact the ONLY reason I caught it now was because I need to modify a phrase and I needed to know the specific address of a DATA pair. When first checking the phrase I was puzzled by the fact it pointed to a zero, the end of a phrase. So when looking at the program I found my problem. At this point I don't want to change all of the pointers within the DATA, so I will have to lower the 2 uncompressed phrases by one byte. Rm3 done. I have to take another break. I finished RM4, it is getting easier now, and I am using fewer bytes by recyling code. I will have to stop now though, I see a major error in the phrases and will have to fix it before I code RM5. This is the room that makes or breaks me, as I have to get a raw input and have about 6 CMPs. I'm just going to see what I have for room left. I have 551 bytes left. With that I have to finish 4 rooms (2 will be very small) and insert 2 phrases (one is 103 bytes long). This will be very close. I may have to try and tuck some code somewhere else in RAM. I actually did up room 7&8 and added one of the phrases. I have 422 bytes to finish the game with. Then I have to test and hope I haven't forgotten anything crucial. I fixed the DATA and tried to squeeze the extra phrase in, but it just wouldn't fit. I brought all the new DATA into the project and set it up so all I have to do is RM5 and RM6 and a few touch ups (if they fit!).
16 Apr 2015
Well that was excruciating. I finally plodded my way through the last few rooms and an intro. There are about 17 bytes left! I really hope there aren't too many errors that take many bytes to fix becuase they just aren't there. So testing is the next step. I may start tonight, but I may not. I am really dreading it. I found 2 problems already, both rm tables were using the old location of the rm variable. Already about 10 little stupid mistakes. The power code isn't working though, it could be something simple but I think I will stop here as my back is hurting. Also it looks like I will have to fix and re-compress the phrases. Hopefully I will feel like facing this tomorrow.
17 Apr 2015
I have confronted an interesting problem. My interpretor will recognize A before Arrow, so typing 'press arrow', will return the numbers for 'press a'. I think the fix may take some thinking. At first I was just thinking I would put A at the bottom of the nouns list, but I wasn't sure that 'press A' may equal 'press arrow' but a bit of testing revealed that this will work. I see course will also be a problem so I will have to change all of the nouns around. OK that wasn't as bad as I thought. I am up to room 4 now, but I really need to fix the phrases which means that I will have to fix all of the offsets. I am not looking forward to that. RM 5 = crash. OK I found a few more problems, an endless loop, LDX instead of LDY in both RM5 and 6, but so far nothing too terrible, but there is the phrases yet to do. Oh oh. I have a serious problem. I was using X to hold the value for a loop, and realized it is used in between. This would normally not be a problem, as I could store the variable, it just means extra bytes. There is the problem I am literally out of memory!! Not sure what I will do. OK there was enough memory to fix that, but everytime I have to add a byte I cringe. Each time CBMPS builds without a memory overlap error I rejoice. I think I am done testing, now for the evil part. Fixing and recompressing the phrases. I knew I should have tested them, but was too lazy. So I updated the phrases and all of the pointers and found that I was still having some problems. SO I will make sure they are all right before compressing again! OK done, recompressing (again) and re-tested. So done, well almost. I found a phrase missing a period, and at this point I really wouldn't think it was a big deal but there is a phrase that prints right after it mashing the 2 phrases together. Many times the compressor adds a space (to make it all DATA pairs) but this works out without it. So adding the period will add 1 to ALL the data afterward. Doh. I don't think there is an easy way out of this. I found a phrase I could steal a byte from so only to phrases changed. And thats it. I put the last 2 programs on a TAP. Because Audiotap doesn't seem to work on Windohs 8 I just made up a test version to see approximately how long the tape will be. So about 10.39 is what it looks like. Well I think it is almost time to pack this stuff away. I have 2 possible projects for later. One is a fully automated picture tranfer program. I have some ideas as how to make it work. The other is Dynasty, a program that has been waiting for a long time to be finished. I am disappointed that I haven't been able to finish the physical collection of tapes, but once I get it roght for this new cassette player the last ones will be easy. And then I just won't move the knobs. EVER! OK time to update the files!
18 Apr 2015
All of my personal web pages updated and a big thick black line through game 91! Today I updated the public web pages, and I think I may later drop Dynasty into CBMPS. Maybe. So I did. But nothing makes much sense to me. I will have to look at the code and figure out what it does before I can move on. Kinda having a shitty day, so I can't concentrate anyway.
19 Apr 2015
So I am trying to sort out this mess called Dyanasty. There is more ML than I thought, but maybe not tested very well. One is just a binary, the other is a BASIC DATA statement program. Looking at the BASIC main program I have, there is a place that jumps to this new ML. But I am having problems getting it into CBMPS. I am kinda surprized that there is this much ML. 2.5K of ML plus grpahics and about 1400 bytes of map data. This was big. But it is truly a mess.The cool thing is, I have it where it will show the map and you can alter it. It will update the flat map too. The New ML was for building cities, but I am unsure how far I got on that.
21 Apr 2015
Today I tried all day long to save with my new tape recorder. And all day long I failed. I'm not certain why I can't get a signal the Vic 20 likes. I have been getting so frustrated that I was re-recording my recorded tape in Wavelab. I thought looking at the waveforms might help figure out what was wrong. There was nothing that looked horribly wrong. It seemed my new tape player was trying harder to keep the square waves that AudioTap makes so I used an EQ to roll off 2200 hz. The signal LOOKS better but still won't LOAD. Anyway I ran out of time and have to leave it at that. I guess I will try to pick up where I left off tomorrow. In the meantime I ended up playing a bit with prg studio, I found some more wonky things with it, and the fact BASIC has a nice .d64 loader. Well. Anyway I started projects for Bush Pilot and Panik. Bush Pilot is totally new, I was just testing the custom characters on prg studio and ended up with a start to that game. I then tried to figure out how to get a bit of ML into a project for Panik. I sort of have it in there, some are still in BYTE format. I want to change all if it, so I can work with it. I have an idea I am going to change alot of it, as I was still just learning ML when I programmed this. Plus I was using the cassette buffer for variables, that space is too valuable for that now.
22 Apr 2015
Last night I tinkered a little more with Dynasty. Just dropping in some new code that I know I'll need. But today was all about the real thing. Those real physical cassettes. Tenatiously I kept trying different volumes, different everything, nothing seemed to be working. I would get close, it would load a title then stop saying out of memory. I looked at the waveforms and they looked good, i couldn't understand it. Then I checked a bought game. Curiously the first wave at 9s360 was an upswing. How can this be? My notes specifically said it had to be a downswing. I tried inverting my wave anyway and suddenly it worked! I couldn't understand it, So I tried with the original phase and it wouldn't load. Again I tried inverting the phase and an easy load. So I can't see any reason why but now my waveforms must be the same as they are output from AudioTap. So Strange! When before I HAD to invert the waveform. It makes no sense to me. So I will try to finish some more cassettes before whatever planets are aligned are no longer aligned. So after dubbing side 2 of cassette 1 I checked the first side and the wave was on an UPSWING! so it is the tape deck that has reversed the polarity! Good to know. I guess I will have to look at a WAV on a tape deck to know what direction the wave must go. Dubbing Tape2b. So I dubbed Distractions, Tau Ceti, Springer 2, Adez & Mr What, and Cygnis! Then checking them I found out I used the OLD Tau Ceti and will have to do that one again. I then ran out of time. By my count I have 10 tapes left to go. Later in the evening I was extremely curious about making a sample. So I tried to get a wav, but after seral attempts I found I couldn't get it to a low enough quality. There was a sample I had converted before, but I had no idea what it was. Plus it was too big so I opened it in notepad and removed, well alot of it and resaved it. I revised Borays sample program with about 20K of sample DATA and let it rip. Unfortunately all I got was static. But that might have been part of the sample. I did get only about 6 seconds. Anyway it is for the time being a bust, but I haven't given up on it. Before that I did some playing around and possibly filled in the last 3 blank spots in the master game list. I did up some covers that are quite inspiring. And a current pic of the 2015 lineup.
23 Apr 2015
As I have spent the last hour noodling with some graphics I realize my tools need a serious upgrade. My Multi program (for working on multi-colour graphics) was literally for a single purpose and has NO flexibility. It was salvaged from a really old program (that I started with the intention of being a real muti-colour graphics editor) to fix a few 16x16 pictures. The colours are hard coded and have to be recoded if you want them changed. Then I get this feeling of 'will this be another huge effort for nothing'? Will I only use this a few times and it will collect dust? I think I would use it alot but I'm just not sure. I will have to think about this. I should test the ML I have for Dynasty in CBMPS. I get the feeling that something is wrong. But maybe first I will dub more tapes. Well that was a waste of an hour. I dubbed Cauldron but forgot to change the phase, so of course it doesn't work. I am dubbing side 2 of Tau Ceti, hopefully I have better luck with that one. Side one loaded with the new version, so it is good. Now I am trying to warm up. Basements are cold. Dubbing Cauldron again. Found a mistake on Cygnis, Thes drops back to BASIC if you finsih!! Also the secret picture on Distractions didn't load! So there are a few fixes. Spent the rest of the day trying to dub the rest of the games. There is only the massive Vycryle 2 to transfer. While waiting I worked on the samples again. I had a hell of a time getting Borays 8to4 bit converter to work, but after reading about dithering I figured I had to. I finally did force it to work and after dropping the data into CBMPS I had 6 seconds of Supernova (a song of mine) looping!!! I almost shit a brick. I tried some voice samples 1 was awesome,1 not bad and one was unrecognizabe. I tried some ambient crickets, no dice. And then I stopped, at least for now. The problem is simply that they are SO memory intesive. the Supernova sample is almost 10K, and my shortest sample (which sounds like a pop) is 740 bytes.I see why Boray used the SDIEC for his player. I hope that I can incorporate this knowledge somewhere, but I will have to shave off alot of bytes. OK I finally dubbed that last tape for Vycryle2, I just have to test them.
24 Apr 2015
Early this morning I transferred a bunch of .taps to cassette. I was excited because I wanted to hear my samples on the real thing. So it was a great moment to hear Supernova playing, but marred by a call only a few minutes later. I tested a bit of Vycryle, the loaders work fine that is about as far as I got. I reloaded Dynasty, and tried to get it to work. It took a while, but I have part of it working. I had to go back to just raw DATA. If I need to change any of these routines now it will be real shitty. The map terrain is working (so far) but I can't get the map update to work yet. I need to take a break but I will be back at it again later. Got the map update to work, now for the difficult stuff. I had 2 other routines ready, but it almost seems as if they were corrupted. I have one routine for building cities, but I'm not sure if it is the newest one. Then there is one more routine but it is just DATA statements. So I just have to check if this city building routine works, which may be hard because I'm not entirely sure what it does. If it doesn't I will probably have to start from scratch. Well it didn't crash, I'm too tired to do any more tonight.
25 Apr 2015
I added the last bit of ML and tested it. It appears to do nothing, so that means I have the unenviable task of disassembling by hand, to see what it is suppose to be doing. I disassembled what I think is Build Cities. I have no idea how it works yet. and that's all I can do today.
27 Apr 2015
Finished disassembling all of the new bits. Yep it doesn't work. Sigh. The next week will be busy so it is unlikely that I will get much done. I finally fixed and updated Cygnis and also the online .ZIP.
23 Sep 2016
No that is not a misprint, I have dropped everything for over a year. I was trying to figure out what I did last winter as I didn't have any musical projects or any other projects on the go. I guess I just needed a break, because now I think about it, last winter I watched several sci-fi series, such as Star Trek TOS, and Space 1999, and fixed a bunch of equipment. I guess that is what occupied my time, fixing equipment. We have actually had some pretty awesome weather up until today, today was awful, and eventually I found my way here. So I opened this blog to see what I had been up to, and then opened Dynasty in CBMPS. Well it looks like I was making some progress, but there was alot to go. I think I was attempting to dis-assemble my old work to see what was working and what wasn't. It also looks like I was turning the BASIC display loop into ML. But it is all unfinished, and there are lots of fragments. It is a huge mess. I still have some RL projects to finish before it gets too cold, but this is definately on my mind. This may be the cycle I finish this, it will be a matter of untangling the strands and making sense of them. I may even have to re-write some of the old code, but after all of the obsticles I have overcome in the last few years, I'm sure, that I can complete this game. And that would be a real feather in my cap. STOODIS!
28 Sep 2016
I don't know what I am doing. Because I am so excited about my stupid line (that I finally made a few years ago) I decided it was time to turn it into ML. I opened the BASIC program and started trying to figure out what does what. There are alot of usless leftover lines and it took a while to weed them out. I opened CMBPS and just coded the first 2 things because they should be easy. Clear the Hi-res memory and print out the hi-res square. I haven't tried them yet but they should work with little fixing. The hardest thing for me is assigning variables, although I just realized I could get CBMPS to do that. Anyway I do have one interger and I'm not sure what to do with it yet. The core of the drawing program is literally 5 BASIC lines. Once I assign variables this might not be so bad. Eventually I want it to be generic enough to just plug in any numbers. But I think I have run out of steam for now.
29 Sep 2016
I had some time so I debugged the first part of the program, there were a couple fo little things. Then I tried to convert the rest of the program. The results are not terribly encouraging. Everything SEEMS to be working except the variable P which holds the current location in the bitmap. It seems to be adding the MSB together and I cant' see why. I guess I need a break, maybe the answer will avail itself with a clear mind. Although I should really be spending time figuring out Dynasty and working on that. Oh well, I will get around to it. I will jot down a few thoughts I had last night, there are alot of text adventures, and I think LaLande 21185 should be for 3K not 8K just because 9 8K programs seems like way too much. I may change some of the last ones to something else, we'll see. The other thing I was thinking was about Lucas-ing a few things. Betelgeuse is pretty horrible, if I used the template from Cygnis or Tau Ceti it could be so much better. It would take time, but I think it would be worth it. There are a few other games I would like to update or fix, as I have time. I wish I knew if I trasnferred more tapes, as it seems to me that I am done, but there is no record of it. And I generally keep lots of notes. I see I filled in the last few open slots in my first 128, the deal I had with myself was I couldn't add anymore until I completed the first 128, so I will have to get rid of ideas if I get any new strong ones (or roll them into a current title). There are a few vauge titles anyway. There were a few other things I was thinking about but I can't remember them now. Well it turned into a crappy night, but I did debug the program a bit more. I was jumping in too late and several things were not cleared. So now it will print the first 4 dots before something has gone wrong again. Wait I just realized there is another problem as Y is decreasing and it shouldn't be. I found a mistake but I believe it is unrelated, I am feeling too crappy to think anymore. I guess I will just dream.
2 Oct 2016
I found my problem. One of the lines I assumed was not needed actually was, when the bits got to 0 they didn't reset back to 64 and 128. So I got a sucsession of lines making a nice triangle. Next step will be to just input values and also erase the line, then I will have to create a slightly different part when differenceY<differenceX. I just want to comment how much quicker everything is with the assembler, I imagine I would still be converting numbers and getting frustrated. I am unsure that I should continue this experimenting, I should get back into Dynasty, and solve the problems for that. I am not looking forward to digging into it and having to re-learn all of it's idiosyncrosies. Here is a pic of my current experiment, it doesn't look like much yet but it WILL lead to very cool things.
3 Oct 2016
It was too much to hope for, but I had hoped I might be able to look at what I had for Dynasty. The truth is I am too drunk to really figure anything out. I just tried the main screen and it did everything is should, except the power map. I can't do any more tonight but I guess, as feeble as it is, it is a start.
Working on Dynasty
4 Oct 2016
My back is killing me so I can only do something for a short time. So in between work projects I got the power map up and running and started working on moving the portion of the map you see. It just wasn't working at all so I eventually took a break, when I got back I found one wierd mistake. It should not have fixed anything, but it did. Sorta. But another problem became apparent. Ok debugged most of the old problems now I have to fix this other new problem. OK I wasn't sure because Xvic just crashed, but it seems to be doing that kind of randomly now. I tested it again and I have the map moving around now. It's funny I would have thought it would have been faster, but I guess my ML for drawing the map was written back in the 90's when I didn't know much. If I tried to re-write it I might do a better job now. So next will be the changing the terrain, it's only about 10 BASIC lines but it seems complex. Then like it or not I'm going to have to find a way to test and de-bug the build city (BLDC) routine. Hmmm something I should have been a bit more aware of, but I have just over 5K to finish the game with. I guess to put it in perspective I have almost double the unexpanded ram or I used 6K of 11K so far, I just haven't written an ML game this big before. I should be able to finish but there is a lot to do yet. I actually have about 4 songs that I had intended to include in the game. I have basic programs to play them, and I think they are on the Dynasty scratch disk. I don't know how many will fit, or I may just try to come up with something new. I really want to forge ahead but I am just too tired. I started about 3 things and had to leave each one. I'm probably not even making sense anymore. So although similar to the previous picture here is the Dynasty screen but done in ML this time!
5 Oct 2016
Before I start on all the other things that need to be done, I opened Dynasty and quickly made a test terrain (all of the same hieght) for testing the build cities ML. I know there are some problems with the way it will try to spread across uneven terrain, so I will think about having a seed option that costs alot of power. Another thing I thought about was, what a poor way to impliment the terrain. Zero is unused, 1 to 4 are positive hieght and 5 to 7 are graduating deepness. If there wasn't so much code already written I would definately change this to a simple 0-7 and then I could vary the sea level to what ever, earth would be 2, plus it would give 1 more in hieght. Although it seems to me that 4 was my max hieght on the map because otherwise it would interfere with the top of the screen. Anyway it is a thought. I am also starting to code the portion for varying the height. Well all through the day back and forth between home projects and programming. I did finish coding the height stuff, just debugging it now. It took a while but I got the crosshair cursor to finally move around and not off of the map, but the height is wrong. After quite a bit of testing it seems like it is a move behind. Then I took a chance and checked the raise/lower raise worked fine, but when I got to the last lower it crashed. So some thinking is required. Ha, so I haven't really wanted to admit it but I guess I am programming Dynasty now. I will go back a few headings and add it in. I hope I am able to finish this bad boy, and not just turn in a POS. My worry is the computer's turn, can I make this fun to play? Because if not, this has been a huge waste of time. Positive thoughts. OK let's see if I can solve some more problems. Well the lower terrain was a simple fix, the lagging controls are kind of stumping me, but I am starting to get tired and not thinking so good. I have made another ammendment to the program but am just too exhausted to try it. I am not sure if I have a solution or not. I guess I will have to try to figure this out tommorow. OK I had to run it again because I wanted a new picture, and I figured it out. I wasn't updating the height after moving, I added some code, hopefully I fixed it. Oh and I added some stuff to test build city but that is definately for another day.
6 Oct 2016
Well it was a long tough day, and once it was done I turned my attention to this. It took a while but I did finally fix the height issue. So now all of that is working as it should. I turned my attention to the mysterious build city routine and it does nothing for the first 4 trys and then it crashes. So I'm not sure if I want to start debugging this tonight. I don't feel like I've got the head for it at the moment. Then I am away all weekend. There is a part of me that thinks I should pop all of this stuff over onto the laptop, the other part thinks it would be a huge waste of time. Just looking back at the last week or so of entries, I am surprized how quickly I can just jump in or out of this. And then keep going like nothing happened. I have really only been working on Dynasty for a few days, yet it feels like just an extention of the long hours I had already (back in the 90's) put into it. Although to be fair things are moving along considerably quicker, now that I have an assembler. Taking that step really scared me, stupid change. Obviously it was for the better. Well I guess I will see if I can figure out what this is supposed to be doing. Of all the darnest things. I knew there was a working basic test city program somewhere but all I could find was a print out in my book. I started to type it in but the numbers just weren't making sence. Then I realized it was setting up for 40 columns! I quickly went through my x64 disks and found some dynasty programs (and a few other interesting bits as well). It is here the basic version of the build city was hidden. It works well too but it is slow as it is in BASIC. I don't think my ML is even remotely close to this though, I will have to look at it and see, but not tonight. I have run out of steam tonight.
9 Oct 2016
The one thing I ws dreading was trying to figure out BLDC and LKCT. Those by the way are cute acronyms I came up with for my ML subroutines back in the day. I commented the whole thing out and I think I understand the gist of it. I should test it but I am way too tired. I am unsure about some parts, and I found one mistake for sure that I corrected. I also corrected a JMP, by removing the address and creating a lable. I hope I can step though the routine to see if I am getting the numbers I expect or not. I hate the fact that I will not make any solid progress tonight. Well I did start to test it but it just wasn't making sense so I had to stop. I will try again tomorrow.
10 Oct 2016
I tried to go through it step by step today, but ran out of time. In the end it seems to go most of the way through the routine. Needs more testing.
11 Oct 2016
I spent several more hours testing the code. I sort of understand it now but I can't seem to get it to work. I am quite puzzled by the results, and I think I am going to have to break it down into tiny bits to test. It is such a pain, but I don't see any other way to find the problem. Just brute stubborness. I think I have run out of stamina for today.
14 Oct 2016
So sick and I had to work like this, but today I started the monotonous task of testing literally line by line. So even with my fog head I started to suspect a JMP to start the routine again, if a city was not successfully built. My tests mostly confirmed it so I changed it to a RTS and tested it like that. It helped as now it was not trying more than one location per subroutine. The other was a extremely camaflouged mix of numbers. I had two variables backwards for a compare and it made false readings. So now it is starting to work, I do see other problems, but the foundation of the routine is finally starting to work. I have a few fixes like it doesn't check to make sure you have enough power before subtracting it and making a city and there are other small things. Right now as long as the ground is level it will create a city and that is no good. I will have to think about that. For now I will have to take a break. Well there was some problems with a couple of subtractions, and a few things I had to fix. Right now I am working on a method to make sure it is resetting if a large city was built. I will also have to return power if a large city was already there. The LKCT section that creates a power station isn't working yet either. OK one thing at a time. Maybe because I can't think well, I just can't make this work. I am starting to get angry. OK after alot of messing around I have the cities working properly, now to figure out the power station problem. Well I had it working then I re-organized the structure of the routine, and nothing works. I can't wait till I get this working, it's just been too long for me to really know what I was trying to do. Or maybe it's just my state of mind, but it is so frustrating. Now the largest city and the large city are flip-flopping. And there is something wierd going on with the power consumtion and the power station stuff isn't working. ARRRGGG! I think there are a number of other problems going on, so I will have to keep at it and track them down one by one. So I have the cities growing properly now, I think. Next those power stations.OK I kinda have it working but there is something else going on. My current city is getting corrupted. OK moving these old routines around I did not re-load the current city variables properly. So except for the power consumtion, everything should be working. But much, much more testing is needed. I also got rid of the cities appearing from nowhere, I think I will use a seed command which will cost a whole pile of power, and your world will sprout from there. This was a huge pain and to be honest I think there are still problems with it. But soon I will be able to remove all of my testing bits and old useless code. I think I am finished for tonight though, kind of a wasted day, but I doubt that I would have been able to do much else today. Although from a programming standpoint not much was accomplished this was a difficult program to debug, but it would have been days of this without the assembler. I just can say enough about it now.
15 Oct 2016
Although feeling better today, I'm not sure what I will accomplish. I Have a couple of fixes for the main screen. The viewing mode is displaying the wrong icon, should be an easy fix. I also discovered that something I thought was not used in my BASIC program displays where you are on the world map. So the world map page will be the one that displays who owns a particular area. It may take a bit of calculating to get that to work. Then finally for some reason it seemed like I was not able to raise or lower land on the edge of the map. So I have to do a bit of testing before I do any actual programming. Well the icon was actually just a variable not set, and the not lowering of terrain was because it was still adding when y=0. But the adding of the current spot on the world map is being a pain. Plus I have actually (for the time being) gone over the 8K boundary. Well it will now sit on the first block, but won't move. And I may have to go through the other old ML as when moving the map around it randomly crashes. I'm not sure if it is my computer or the emulator (because after some updates it has been running really sluggishly and shitty) or if it is my programming. It seemed to work on the real vic OK, not sure why it is crashing now. I think it is mostly explorer causing problems, although the xvic crashed yet again. I am getting closer I think, but for some reason my x is 38 which makes no sense to me. I need another break. I ended up playing with my samples. I tried to see if I could improve any of them. I did get an OK cricket sample, and a scream, but I can't get the 'what' sample to be more than a pop. It took a while, plus I can't actually get it down to 4Khz on this computer. I halved the length (doubling the pitch) and saved at 8K. I wish I could use a sample or 2 on a unexpanded vic, but that seems unlikely. I will certainly try to use them somewhere in the future. Now my back is sore and I have gotten nothing done. Today really was a wasted day. Well back to Dynasty somehow I got x and y backwards and once I swapped them my world map works fine. So now it is just the power issues. I also removed all of my old testing code. I will just have to do a bit of hacking as I am 55 bytes over the 8K page boundary. Ok that's fixed. I think my next step is to assess what needs to be done and kind of start fresh. OK I just put together a memory map and there is 2 little gaps of about 110 and 55 bytes but basically the memory from 4096 to 10152 is used then the last block and a bit before it, leaving around 5153 byte chunk. In a way it's alot, but there is a lot to finish, and the bytes will disappear quickly. But again to put it into perspective, the first 6000+ bytes have 3 major data uses, the land map, graphics and the screen, including a bunch of ML. OK now I will start my wish list. Well it looks daunting, mostly because most parts are very dependent on each other. First thing will be to fix the power use. Then the things that are needed are a generate factory, advance mode including jumps to LKCT, BLDC and power usage, damage mode including the 3 damages, World map including power generation and block ownership, SEED function, Computer move, Music. Even though I have some cool music already started for this, I will have to leave it for last to make sure I have room for everything else. Hmm I noticed my map was corrupted, but I didn't hink much of it. I do think now it is the reason for the constant crashing, as I found a zero will make it crash. So it is the map and it is corrupted right in the assembler. Not sure how I will fix that. That's wierd it's not corrupted in the assembler, but when I load it from disk it is. So it is corrupting it when it builds. I do have a way to fix it but I will have to re-save it, so my cute little screen loader will be missing. But I think that is enough for now. I will work on this more another day. I have yet another picture of mostly the same, I am just slowly getting it closer to what it should look like.Again after more digging, it looks like it is trying to do a BASIC line link, something I can't even believe xvic is trying to do. The reason I think that is what's happening is because there are only 2 funny numbers after a zero, and the MSB is close enough. And it isn't doing it for the whole program just some of it. I am sure now as I used my sector editor to see what was on the disk, and there were no funny numbers. I'm not sure what I am going to do, because it is doing it just after (during) the load. What a dilemma !! (and yes I just spent the last 20 minutes reading why dilemma is not spelled with an n, and I don't even want to start !!)
16 Oct 2016
My thought is this: the only way to eliminate the problem is to eliminate the zeros or change the way xvic loads. Even though it is an error in Xvic I will obviously have to eliminate the zeros, I was going to change them to ones but it might be prudent to change them to 5,6,or 7 (water). The reason I had zeros there was to have a definate line as to where the map stops. Also cities won't be able to grow right on the edge which makes sense to me. So now it is simply wasted space, probably 80 bytes I can't get back unless I redo, well everything. I think I will try to note where the zeros were just for future reference. This is going to take a while. It shouldn't bother the map building, as when I was creating the flat earth for testing I forgot to put the zeros in there. Hopefully this works and doesn't create more problems. Well that has fixed it but was quite painful. I kinda want to start with the generate factory routine, but I have to deal with the power issue first. I am feeling SO terrible I don't think I can work through this today.
18 Oct 2016
I have been banished to the basement and donot have acssess to my main computer, but I quickly transferred a few files to the laptop, and today I did a bit of puttering around. I first tried to dis-assemble some of the code for panik. It seems I was fairly un-successful as when I tried to run it, it crashed. I decided to open Dynasty and after playing around I realized to check what is happening to the power I would have to insert a bit of test code. I did change around a few icons, and it looks funny to me. I will also have to remove the update map JSR from the main loop as it is unnessessary. I'm afraid that is all for today.
28 Oct 2016
Well that kinda sucks. First I was really sick, then I was away from my computer for several days, then I just got busy. I still have lots to do, I guess, but hopefully I can find a bit of time in the next week or so, because I am leaving right away again. So I inserted a few lines of code to observe the power, and it looks like it is adding (subtracting?) on the 7th and 8th tries. So I have an idea where my problem is. Unfortunately I won't have time to do anything tonight. Plus I will have to grab a few things from the laptop including a missing vlog entry.
9 Nov 2016
It's so wierd, I mean I have been busy with the renovation, but I really dropped the ball on this. It's a shame really, I think I just didn't want to go bug hunting. It looks like it might be in the code that checks to see if there was already a city there. Might not be that bad to fix. But it is hard to find good days to do this. Believe it or not we are still having nice (plus) weather, so I am trying to take advantage of it by cutting the drywall outside. It will all come to a crashing (cold) halt soon, I just hope I have time to put up the christmas lights before it gets too cold. Hopefully I will pick this back up soon, as I know I will find it interesting once I get some new code to work on.
16 Nov 2016
Today we got our snow, this is quite unusual, and is about 3 weeks late. It has been very nice until today and I have been trying to get all the things I had been slacking on done. Last night I put up the christmas decorations. So I really haven't felt like I could dedicate the proper time to this. I was going to say, like last post that I had lost interest but that isn't true. I honestly haven't had a whole lot of time to even think about it. I am working alot this week so maybe after work I will spent a couple of nights finishing up what I consider the OLD project. Which is just getting the last little bit of Build City to work properly. And that is the power issue. I opened the code and added about 10 lines of code that I hope will rectify the problem, but I'm not too interested in testing it right now. I feel restless, and I might get back to it and I might not.
As I look through the web pages and I look ahead I hope to complete Dynasty, then Bush Pilot, then Adez I, then Panik, then Realm of Evil, then Lands of Uth. Or something like that. Who knows if the order will stay the same or if these games end up just waiting. Another thing I was thinking, was I should look at for sure fixing Betelgeuse. Taking my ML framework and making it work for the 7 Betelgeuse games. I wondered if there were any other games I would fix. Tyrant comes to mind because it is a good game, but really slow, but Etheopia would be one I would really like to fix. That one though, would require a ground up re-working. There are other's but it all requires time, and right now I only have time to think.
22 Nov 2016
Today is the first day I had off for a while, but I was very hungover. First I purused some of the atari 2600 homebrews. There are some very interesting and inspiring things there. It made me want to do some programming, but I was too hungover. So today I pissed around and made a proof of concept for Korque 2. It should be quite fun, especially now I have an assembler, it might even be fun to program. I had the brick graphic wrong, so I played Korque for a while then Kerratias, then Boogieman, then Cygnis, then Exploria, then Tau Ceti, then Utaq. I found that the cassettes for Distractions were empty (corrupted?), so I will have to get those fixed somehow, but again there is no time yet. Hopefully soon.
23 Nov 2016
After checking the original I wondered if maybe I should go with the blue colour scheme. Choices choices! I was also playing with the interrupt to get different screen colours. Lots of ideas. So being the dummy that I am, I thought I should just do a bit in ML. Do the flashing colours, it's easy. So I opened CMBP and quickly realized I needed to tuck this in the cassette buffer, so I made a quick little transfer from the screen to the cassette buffer. I then realized it would be stupid to not set up the screen so I programmed most of that. Then xVic was giving me problems again loading a ML program directly. There was a zero and it put BASIC link numbers after. So I didn't want to but I made a quick little ML loader. I actually did this by hand just like the old days, then there was a bit of debugging. Surprizingly not too much and 3 hours later I have a screen. I also realized I had to change the purple sky as I didn't want it to flash as well. I could change that but I would have to make some significant changes to the colour flashing subroutine. So for now it is blue. I think I will also animate the character in the colour flashing routine. Just in case I forget I have a great idea for the harder levels. A little creature will fly in the dark blue part of the sky and drop things on the character. Like the silent Molitors aren't enough. And I think I want a big bad boss after all 16 screens are cleared. For whatever reason this is more interesting to me at the moment than Dynasty (which is a shame). I will have to come up with some kick ass music as I always thought the music for Korque was really strong. Quickly wrote the little animation part. All in, I have about 250 bytes invested in this. I guess I should direct my attention back to Dynasty. Well I loaded my newest version of Dynasty and it looks like my fix is working. It is so hard to tell because I'm not sure if the city building routine is working now. Well I added it into the GETIN loop and it built cities till I ran out of power, so I guess that's not working. It is such a pain to test, and it has gotten so large. OK another quick look at it and it is building power stations without cities, so when I look at this again I guess that is where I will have to start. But it's just so disappointing to be hung up on this stupid routine for so long. I guess I have had it worse. There was an error in Turnabout that took about 2 years to figure out and find (it was my first ML attempt and I had noone to ask whatI was doing wrong I had to figure it out for myself) and then another 2 years to figure out a problem for Korque (my first all ML program). So hopefully it won't bog me down for that long. I guess I am making progress, it's just really slow. Hmmm this could be bad, after roaming around the map, a variable seems to be out and I can't get to the edge again. I hope it is caused by the placement of the jump to the locate city routine. I hope. Oh and I had taken the small map update out of the main routine, as I should only need to update it when the map is being edited. And it really sped up the loop, a lot! So the old version seems to be fine. I will build a version without the JSR and see what happens. Yeah that must have been it. Well I won't be looking at it tonight but I will have to check that power station bit.
24 Nov 2016
I have a ton of other things to do today so I can't spend much time with this right now, but I did write about 200 bytes of code to test the city building routine. Only because I have to. So I can see that for some reason it is building med cities anywhere the map is even, even in the ocean. Which is why it was building power plants without cities (they were in the water). So I will have to investigate that. But not at the moment. Ok I spent most of the day doing renos, then I opened this again. So the achilles heel seems to be checking around the current spot, and when cities grow ( from 32 to 48), this will also cause the power stations to be built. I put in a few checks to make sure there was a city there, hopefully that sort of fixes it. I do see one more problem, it should move on if it builds anything otherwise it will build a big city (64) all in one shot. I will add a bit more code. OK the big problem is solved but it is not growing from a small city to a med city (32 to 48). And it was not re-setting the counter when it got to the end of the map and restarted, but that I fixed. Hmm for some reason I had the wrong address for the check, this should work now. It was working but in an unpredicted manner, I looked through and found some redundant lines that were preventing some of the cities to grow. There are a couple of lines I edited out that I may return just to slow the growth a bit, but I think I am almost ready to move on!! Did a bit more pissing around, and I am ready to create factories!! Now to find x and y from my current location. I think that is all I will do today. Just about the pic, this was one of the results from my testing. All the green is land and blue is water, the multicolour,spaces and lines are cities and powerstations. It is North America but sideways and backwards, east is down. Pretty happy with today, finally a little progress. It just took so much effort to de-bug. I actually had to write a new program to do it, but now I can move on. Holy Shit only a month till Christmas!
25 Nov 2016
Well Shit! I started programming the part to make factories and it was going along fine when I decided I should look at the code and realized my build cities will build the computers cities and charge your power! I will have to think about this for a bit. OK that actually wasn't as bad as I thought. Back to the factory. Hmm I may have been thinking about this wrong. I need to quantize the x and y values to look at a 7 by 7 grid ( I will need this for the power map as well). So I have x and y values and divided by 7, and I'm thinking do I just reverse the process? I think my brain has given up on today, because I just cant figure it out. I decided to see how much space is between the BLDC,LKCT and MKFT (make factory, I have no choice but to keep the acronyms so the document is uniform. I know ...) There are 24 bytes, so I just zeroed them for now. While doing that I really got a feel for how much space is between that and the display stuff at the last K. I am still abit worried because there is alot of code from here to the finish, but it helps to know there is a good amount of memory left.
26 Nov 2016
Accomplished alot today 2 big (for me) plumbing jobs down, one to go. Then I finished coding the MKFT code. It seems long but I can re-use portions of it. De-bugging seems so un-fun right now. I think it's because it is not visual, so it is hard for me to know if it's doing what it should without coding more. So 305 bytes and I am too tired to test it now. Maybe tomorrow after work.
27 Nov 2016
This morning before I got out of bed I was thinking about this. Finding the corner of a 7 x 7 grid in a grid of 49 x 29. Although I was concerned about the amount of bytes I was using, it was more about the execution time. Because the power map will have to do this 29 times and then search through all 29 grids! So I thought a table would speed things up and solve a few other problems. I thought I could use it to replace most of the code, but the more I thought about it I realized I would still need to get my x and y and divide by 7. I started getting the numbers for the chart but must have made a mistake somewhere because it doesn't add up. Unfortunately there isn't enough time before work to figure this out. I am also thinking about the main bit, and I think for now I will insert the extra memory to keep the main program whole, and when it is finished I can move it down. And that is the reason, I will have to add quite a bit to it (mostly to the input routines) to do all of the other functions and also a JMP to the computer move stuff and maybe music. So it just seems a better idea to code it and move it down when it is finished. Well after looking at the code I really won't be saving anything so I will just leave it alone. I guess now I have to test it. I just moved my testing program out of the main ML, and now I will have to re-insert it with a few changes. Oh well, I need something to test it. I just saw a couple of things i had to add, I forgot to check if there is already a factory there, and also I hope the cities won't over write a factory. I will have to see. Well testing the routine, it is a complete failure, and I cant's see where it is going wrong. No time to figure this out right now.
28 Nov 2016
I did as much testing as I could. I just ran out of time. So far I can't see why it isn't working, probably try again tomorrow.
29 Nov 2016
Hurt my back again. In a lot of pain, didn't do much of anything today. I am getting a 76 returning for the y which should be impossible, so I stepped it through the debugging program and it works the way it should. So maybe memory 11 is being overwritten when it returns to basic, I don't know. Yeah that must have been the problem. It might have overwritten it at any point, it is something I will have to look into later. So at least it is making it through the first division but I can't concentrate, so this will have to wait.
30 Nov 2016
Didn't sleep good so this morning while waking up I decided I wanted WAVs of all of the Vic 20 song files. The Sndrecorder on Windows 8 and above only saves shitty WMFs so I used my laptop. Unfortunately I couldn't get the song for Adez and the Pirates of Ud, because I don't have a proper TAP file for any of Distractions. I tried to convert it on the laptop but it didn't work. So I will have to see if I can make one on the recording computer downstairs. This is something I have to do anyway, so hopefully I can get to it today. Last night I just read old notes about Exploria, and realized this is not the first (or last time) I have had a hard time getting over a problem, so while that doesn't solve anything I don't feel so bad that there hasn't been a lot of progress. I also think becuase I am using the assembler I am maybe trying to test parts that are a lot longer than I would have without it. It is more of a pain to test because I no longer know the addresses for anything any more. And because xvic cannot import binary's from the direct mode (as I said before it tries to do a BASIC link and screws everything up), I have to reset and reload everything every time I change something. It seems like I usually do something else for a while and get back to it. SO anyway, I have 11 songs, 4 of then are over 1.30 and one is over 2 minutes! Boxa and Planetoid are barely songs, both being about 4 notes long, but I think they qualify, and I let them repeat a few times. The funny thing here is, NONE of them have been programmed on the assembler, they were all hammered out the hard way, well I guess there are some BASIC ones (Boxa,Adez & Kings, and Planetoid are in BASIC. I think Adez & Dengar is ML, I can't remember. The rest are all in ML). So here is the List::
Adez and Dengar
Adez and Kings
I was thinking of posting a video and calling it the 8 bit hits! I may still do that. Hopefully I can get Distractions today, and maybe I will get the song for Adez and Ud. Oh something else I spotted was a cover for Hyperion, it was very cool and inspiring. I really can't wait to try to make that game. That is all for now. I just thought of something, the waveform had to be inverted for my new tapeplayer! SO I tried that and got a TAP. Unfortunately there is something else wrong as it loads the autoloader then the load for the logo and crashes. Well as I know it won't make good WAVs maybe it won't make good TAPs on windows 8 or above. So very close. I would fire up the laptop again and try, but I have spent too long doing this and have to get to other things today. Hopefully later. Well I took the files I had from downstairs and tried them both regular and inverted and neither works, although the inverted signal at least gave me a directory when I looked at the TAP. So I found the separated TAPs, the loader parts and the games and they seem to work fine, so I guess I could try to stitch them together again. I would hate to have to try to re-save all of this from scratch. Oh and I notice that I haven't made disks for Distractions, or Cygnis! I did load Adez and the Pirates of Ud although it too isn't much of a song. Basically another 4 note tease. Well this is so wierd, I put them together on the laptop and they won't work there either. I can try them on the computer downstairs, but for some reason I don't think that is going to work either. There is one other possibility I know they work as real world physical cassettes. I can go backwards from these, make a WAV of them then convert it to a TAP. Worked on Panik a bit, I almost think it would be worth just starting over, the coding is SO bad. And there isn't that much only a couple of hundred bytes. I will for now keep the original just because I am sentimental. Well I loaded up Dynasty and stepped through the program with the de-bugging program, and all I can say it it is not working at all. So first I have to get the find x;⁄y to work, then maybe the rest won't be so bad. Holy Crap! This is why it seemed like it was mostly working in the de-bugger. I almost had the code right, but the locations I was using to store numbers were being used by the VIC! SO locations 6,7, & 11 are no good for storing things in. I will have to do more testing but this should be working now. I will have to change the program to reflect the new memory locations, but I did notice somewhere I was accidentally overwriting one of my own variables. I will have to look for that. But I think I am done for tonight.
1 Dec 2016
Thought maybe the routine would work just be replacing the memory locations. Of course I was wrong. I don't want to, but I will have to test each small bit until the whole thing works. I brought in a few things from the shed, my printer and some other things. It's been so long I'm not even sure what things are there. I was thinking there should be more items, but I remembered they are in the attic. So after more testing add memory address 13 to the do not use list. This probably would be working by now if I hadn't decided to try a bunch of zero page addresses I had no clue whether they were safe of not. And while I'm at it add 15 as well. I'm kinda checking them before I use them now, that may have been a good idea to do several days ago. Spent about 2 hours with this and still I have no idea why it isn't working. This is the problem with not working at the low level as I was. I am just getting frustrated. So I looked at the stuff I brought in. I have a MPS-401 printer that worked the last time I had it hooked up, but that was a long time ago. I think I had bought a box of tractor feed paper from Radio Shack, and there haven't been Radio Shacks in Canada for at least a decade. Then there was a box of a c64 and 2 c64c's and a 1541. I know none of these work, I guess that's why they were in the shed. Oh and there was a VIC 20 keyboard and a scavaged VIC 20 2 pin board. In the attic is a (the last time I used it) working c64 and 2 1541s and my CMD SD-2. The SD-2 needs an alignment but was working the last time I had it hooked up. Down stairs packed away are my Vic 20 with the VFLI mod (the video chip went on it, but I should be able to swap it with the one in the VIC board) and 2 other VIC 20's (I think both of them are the CR versions). There is also a 1571 and 4 cassette decks that work in varying capacity. Oh also in the shed is a non-working commodore monitor. I should bring it in and see if I can fix it. So I spent the rest of the night pissing around, mostly loading stuff off of Distractions.
2 Dec 2016
OK no pissing around today! I got the entry addresses and a few other key addresses to test this POS. So testing the find x/y part works. Testing the divide by 7 works. Testing the multiply part isn't working. I am puzzled it is only about 22 bytes long and it makes sense logically. I don't see why it isn't working. When x is 0 or 1 it is fine but 2 and above it starts increasing the MSB for no reason. Looking at it, there may be a problem, x isn't getting loaded. Ok let me try that. Yeah that works even worse. I'll try the debug thingy. I'm SO stupid I was checking the wrong location. It works fine now. So now to test the MKFT routine, there is a RTS just after everything is calculated, so I can sorta see if this is going to work. So wierd not even close to working. I will have to jump out sooner. Hmm maybe it is working. I guess I will have to check the next step. OK I found another couple of mistakes, I can move on another step. Crash. Wow found a big mistake in the 7x7 grid part, I can see why it was crashing now. With a little more testing I can see some of whats happening now, I see another mistake. Ok everything is working up to searching the grid, but for some reason it isn't counting cities. It is counting power stations, but not cities. Looking through the code I don't see the problem yet. I've made good progress tonight but I've been sitting here for 3.5 hours. I will take a break and see if I can figure this one out. I forgot the testing program uses most of these numbers too, this may actually be working already, or mostly working. Nope just mostly working, but I think I found the last mistake in this. Well that took WAY too long, I just couldn't force myself to debug it properly. So now I have a factory. I can finally move on. I think I will work on something easy like the SEED routine next. But soon the most difficult part will come, the computer move. I don't even have any idea how I am going to do that, but it has to be something good or this game is a waste of time. Well I really hope it works, I removed my testing program again. I am very happy I have gotten over this hump. Although I doubt that I will finish this before Christmas I feel good about just making some progress. I haven't had time to check anything else off of my list either. I still need a Distractions disk and a Cygnis Disk, and I still need the Distractions cassette. Plus it looks like there are a few things that need fixing, there is a curious quote in Extra that causes all kinds of problems with printing, and ICS has an ?OUT OF MEMORY error, which should be impossible (I yes I remember now, it was a DIMentioned array that wasn't defined). I went to tidy up the basement a bit and moved the shelf the VIC cassettes are residing in. Of course they all fell on my head when I was moving them. But the basement looks better. If only I could find the room to set up a Vic machine or two. Well it looks like my Bėker show is pushed back several months now, maybe I shoud disassemble the keyboard gear. We'll see.
4 Dec 2016
Last night I felt I didn't have the time to make any more code, so I started to add lightbox to the Internet catalogue. This has been extremely frustrating. I finally got it to work on one page after I realized it didn't like any of the HTML version numbers, so I removed them (which actually is against the standard.).Then I realized one of the photos was wrong, changed it to the right one, and that was it, it stopped working for those 2 photos. I have tried everything, and the new photos will not show up, the 3 other ones on the page work fine. I can't figure it out and want to smash something. It doesn't make any sence, I hate other peoples code. Well I think I found it, it had something to do with the permissions. It was a stupid thing, but it seems to be working now. Now I have fought with that all day, it is time for bed.
7 Dec 2016
It's funny to me that I am not 'invested' in this program yet. I usually become obsessed and work on the program every second until it's done. I'm not there with this one yet. Not sure why. I programmed the SEED function, but haven't tested it yet. Not much to it, it checks to see if there is enough power, and there is land there, and then 'poof!' it builds the smallest city. I also added the JSR to the edit loop. Hopefully it won't take weeks to debug. As for anything else I have the 4 newest web pages set up with light box, but I'm not really sure if I will go ahead with this or not. I did add some stuff about memory cartridges to my own personal pages yesterday, and that's about it. I am quite tired and kinda brian dead so I think I will convert a bit more of Panik. Just in case I forgot to tell the sad story of Panik, it is this. Back in the 90's when I first stared programming in ML, I wanted to make a version of a game I saw, and got as far as making a border and getting some aliens on the screen. The code is terrible, but it is done, so I am trying to Disassemble and then reassemble the code. It is in a bunch of data statements so I am just converting everything slowly as I have time. Well it is converted and the code that puzzled me at the time and is puzzling me now, is a bit that checks if the alien hits a wall, it should reverse direction, and it's not. Anyway, that's done, I'm tired.
11 Dec 2016
I was getting the energy to test the SEED function (I know, pretty sad), when I started to ask a bunch of questions. How many times can you use a SEED? Should I set up the start variable for MKCT and LKFT with the SEED? Should there be a little power left over so you can at least move stuff around a bit? There were more but I am tired of typing them. Obviously I had answers for none of these questions. I don't think I will either until I play with it a bit. The nice thing is that changes are easy with the assembler. Like I haven't stressed that enough. So I should test it ... Well unbelievable! It doesn't work. It is such a short routine... The first thing that was wrong was the character for a shifted S. It is 211 not 115. I found the other problem, I needed to get the right map location as I guess I must have used it somewhere along the way. So I did a quick jump back to 'calcq' which figures that out and now everything works, except it doesn't update the power. I will have to see if there is a subroutine that I can jump to, to fix that. Yep there is so that's fixed for now. Next are all the different modes. Not sure what I want to tackle next. I am kinda interested in the world power map. Maybe.
16 Dec 2016
I realized one thing I forgot was to test the SEED on a bit of land that was higher than 1. But first I will do a bit of programming. I kinda realized that I will have to hack into the MAIN bit to make the power map stuff. This is going to be a pain. Because you should be able to do some of the same things in the power map mode. I think at one point it was supposed to be world mode and a local mode, but I had enough room to put both on the screen and there you are. Well unfortunately I got severely sidetracked and got very little done. I did code a small bit for the power map, but it's not much.
17 Dec 2016
It appears that I probably won't get much done today either. I guess it is Christmas time, so I shouldn't expect anything less. I hope to do a bit of work on it today after going out in the cold this afternoon. So a bit of testing and a bit of code. I have the power map up and running and the SEED tested fine. I am working on building the local power map. Ok that's coded, but testing it it's not working. It is not colouring anything and it hangs. I'm not even sure if it finishes the loops. Having a hard time focusing, too tired I guess. Well after debugging for a couple hours I think I finally may have it working BUT I found a huge problem. The original terrain builder that I wrote back in 1990-something does not like the bit 8 and prints NOTHING. This is the bit that will diferentiate between yours and the computers, so it's kinda important. After some more testing, Crap it looks like I'm going to have to disassemble that wheather I want to or not. There was a part of me that thought I should just start this from scratch, and maybe I should have. Well I think that is as far as I will go tonight. Just a bit more testing and I think it is not completing the loop, I will have to check that more another time. So it is highlighting the right places with the right colours, I guess that much is working. One a different note. I was thinking that maybe I SHOULD just re-record the games for Distractions, but I think I will have to check the REAL tapes first. Put a fork in me.
18 Dec 2016
I know I complain a lot but the truth is I will be really happy if I ever finish this. Like when I finally finished Exploria (which had taken pretty much 3 years) or even Korque (which I got stuck on for about 2 years) I was so jubiliant that I was able to make something that was definately a bit beyond my technical skills at the time. They were extremely difficult for me. With Korque I literally had no ML programming experience. I had programmed the random movement for Turnabout in ML and a litlle bit of testing, and then a full 3.7K program!! With Exploria I had some experience, I had programmed a few all ML games, but some of the concepts were going to be difficult. The biggest challenge I think was making 64 screens fit into 3K. But there certainly were other challenges (like riding the elevator). And because they were difficult when I did finish them it was that much more gratifying. So while having to disassemble and then fix the old code is a bit of a set-back, it is only temporary, as long as I keep at it. And I think I did accomplish a good amount yesterday, I just wish I was able to fully de-bug it. SO I will start the long process of trying to figure out what the heck I was doing so I can fix it.
20 Dec 2016
So as I was almost finished disassembling I thought of something. Well truthfully I could tell I was at the code that built the cities and stuff, and it kept checking a variable at 837. Looking in my notes it said it was current town #. I was almost done so I finished disassembling and then looked for where that varable was assigned. Right near the start of CALC at 8192, the map location was loaded and separated into the land hieght and the current town #. Of course at this time I still had some stupid ideas and INCLUDED bit 8 with the town #. This would make all the computers cities look like 40 rather than 32 or 56 rather than 48 and they would not print. So I changed the masking AND from 248 to 240 and this SHOULD fix it. It was a lot of work for a simple solution, but the code was written way too long ago for me to remember. There is one other interesting thing. The small town and rocket graphics are included, but I'm not sure I could include them in the game at this point. The rockets are probably superflous anyway but it would have been nice to have the progression from town (basically a spec) to large city. Although thinking about it it might not be that hard to include it as the original BLDC code did have it in there, and I think to fix the code there is a pass through BLDC that actually does nothing (as it would have handled this town). I will look into it. But my back is sore, I have to take a break. OK it seems to be sort of working, but it is painfully slow. It shouldn't be, so I think I need to do more testing. But also it only seems to work for x=0,y=0. After that it displays the same colours even though the cities have moved. It seems to be following the map in memory, but not the map on the screen. After tinkering with it for several hours I think I need a fresh look at this tomorrow.
21 Dec 2016
As I was lying in bed just before I got up I was thinking about the problem from the previous night. It seemed like my X and Y were not updated on the screen map. Then it occured to me that I was generating the X and Y for the map in memory and transferring the X and Y values for the screen map which just wouldn't work. As it turns out I wasn't quite right, I already had the location for the map, but was generating X and Y from the map location which really didn't change, when I should have been using my counters. Oh wait my counters decrease, it will be backwards, I'll have to change that. So 4 more instructions and a bit of pissing around to make the counters go the other way, but I will save alot of time (if this is right) by not having to calculate X and Y for each pass where there is a city (in a mature game this could be 49!!). And it doesn't work. After fighting with it I took a break and soon realized I forgot to reset one of the loops (so stupid), so it is almost working. Each successive Y is out by 1X, so I'm not sure what's wrong I will look at it some more. Well as usual there were a couple of things that needed to be fixed, but it is working now. So the last part of this will be calculating the power for the power map. Oh and another thing occured to me this morning, was maybe I should set something up in there to help calculate the power for your power meter. Or in BLDC. OK it is coded, but I am drunk so I think testing will be challenging. Yeah too much for my little brain. I played with it a bit, hopefully didn't make things worse. ha! Even in this state I stubbornly figured some of it out. The screen map seems to be working now, but for some reason the world power map is not quite right. I would continue but I am tired. I think I did well tonight. Some of the power calculation is sort of working. I haven't tried the meter yet, but it should work. I just have to see why the power map index is off. Actually I figured it out, the map is laid out x,y but I am actually looking at it y,x . So I'm not sure how I'll fix that. Also the power map will have to be cleared before writing to it. Anyway I think I'm done. OK I tried to fix it but I am definately too tired to test it.
22 Dec 2016
Wasn't able to do much tonight. I did test it and I think it's all working. I will just have to figure out a frequency to jump to it. I guess I haven't checked the power meter yet but I'm sure it will work fine. I thought there was something wrong with the map, because the next column after index 27 would put it way outside the map area, but I figured it out and it's all fine. I'm not sure which ones but there are some variables I will have to re-set at the beginning of the game as when I JMPed in again the map wouldn't move until the indexes and the map synced. I will also have to blank out the map power area. OK tested and blanked. I think I'm going to drop a counter into the CHARGET routine to see how many times I should do a jump for housekeeping. So it looks like 2 counters will be sufficient, but I think I am done for tonight. Well looking at my list there are only 2 more things to do for the player, I am quite surprized I think the bulk of the player's stuff is done. Then it is music and computer moves. The computer moves will be hard, but I think the computer is going to cheat. Here are a couple of pics with the power maps.
23 Dec 2016
While warming up my brain with coffee I added a couple of small bits that increment each of the modes. For the damage I will have to make sure they are not too close to the edge (especially for the volcano), check if there is enough power, and wreck stuff. This will all go in the edit mode, but it will be a subroutine anyway. It seems like it should be straight forward. The advance modes will be a bit trickier. Most of the subroutines are already written, it will just be a matter of tweaking the counters so I don't jump to them too often. I should have known, I even fucked up that tiny little bit, it's just too soon to engage my brain. Luckily it was easily fixed. So before I embark on the madness of counters, something occured to me that I thought I should include before but got too lazy. This was an early limit for the build city routine. This routine will take a long time to complete from the beginning of the map to the end. 7 (or is it 8) loops on 1372 locations! And at the beginning of the game it isn't nessessary. It should only scan where there are already towns (like maybe the first 7 columns, as it searches by column) until the second block has something in it. OK that is coded, took a bit more time and coding than I thought. I also thought of another thing I need, and that is a city counter, just to see if you have 0 cities (and 0 power) then it is the end of the game for you!! So I guess I need to test it but I need to finish a few other things first. Stupid Christmas. Alright that is debugged. I coded a quick bit to count towns (it doesn't have to be accurate, just see if there are zero towns) then I started setting up the counters and the jumps to the behind the scenes housekeeping code. This is where it gets scary, if it doesn't work there is a TON of debugging ahead! Because sure the routines work, but will they work together? Here goes nothing. Well off the hop, the power update seems to be working. And the advance mode of Stay works. Unfortunately as soon as I started the fight mode it was all over. So for hours I toyed with the code, until I finally found a RTS where there shouldn't be. There are still lots of problems, like now the power map isn't updating properly and the power meter isn't working at all, but at least I got to see the towns finally pop up across North America automatically. It was a very cool sight. Actually while quickly looking at the code I found the problem for the power map. Another stupid mistake. So I fixed it and played around with the game so far, and I think I will have to adjust the timers, the attack mode is way too fast and the settle mode is way too slow. That is just a matter of fiddling with the numbers until I am happy. The other is fixing the power bar, which may not be so easy. Then Damage modes!! That should be fun! SO I really feel I have come around a corner on this game! Everything is finally coming together. As I have said several times my only real worry will be the computer moves. It has to be good enough to be challenging, but not so good it is impossible to beat. Well I have an idea I may not be able to do much tomorrow, but good progress again today. So above the screen I have 4349 bytes of code so far. And below the screen almost the full 3583 bytes of code and data. And I still have about 3800 bytes left.
24 Dec 2016
Just playing with the game a bit today. I know I won't have much time today, so I haven't planned any heavy lifting. I see the power map limiting index doesn't seem to go to the last block, not sure why, I will look into this. And the power meter, for some reason, is going back to full power, no matter what. So I will have to look into that as well. If I have time I will get the timers aligned a bit better. And that is sort of the plan today, we'll see how much I actually get done. Unfortunately it was a busy day, a great day but a busy one and no programming got done today. Probably won't be much tomorrow either but that's OK.
27 Dec 2016
Being lazy and just enjoying the holidays. A quick look at the index subroutine and I found what I believe to be the problem. I am working with 2 sets of indexes,0-6 and 1-7. I am converting between the 2 and was thinking 0-6 when it should have been 1-7. The power meter issue is a bit different. The meter is added with each block tally, and it shouldn't set the carry unless it is near 255 (like 223 or so), and it then caps the total (to 255). And I think for some reason it is always setting it to 255. I put a couple of lines of code to see what it is doing better, and hopefully I can figure out what's happening (or what's not happening). It is a bit of a surprize, but it shouldn't have been. The meter is being added to so fast it is back to 255 within a few seconds. This of course is no good. Ok I think I have all of the timers about where I want them, but after running a trial, I did not conquer the world. I will have to double check the power square routine, because it seems, after a while it will not work. When I reset to the start it worked fine and I 'won'. So maybe a variable is not getting reset or something. Anyhow I think I have the other bits working pretty good. Added a bit to see if you (or the computer) own all 27 blocks, if so game over. Too tired to do any more testing tonight though. I haven't been pushing as hard as I usually do, so I don't know if I will finish before my holidays. BUT we are leaving a little later that usual as well. So maybe when things get a little less busy (like Jan 2) I will have a bit more time to concetrate on this. I still could finish this before the end of January. Still pissing around with a couple of things. Fixed the change damage in the edit loop (becuase it wasn't updating) and added the damage JSR. I also added the JMP for game over. I added both routines with a simple RTS for now. So that will be what is next, the DAMAGES and GAME OVER. Oh and a boatload of testing for the little bits I just added.
29 Dec 2016
After work, last night I was really tired so I just played with the instruction booklet a bit. I had to correct a couple of things and add something I thought was important. I'm thinking there is still some pertinent information that is missing, but I'm not quite sure what. It's also a bit difficult as I am unable to concentrate on just one thing. After New Years there will be work, getting ready for the holidays and this. I am pretty confident that I should finish this in early 2017, it will be a matter of if I can finish it before I go on holidays. I should either test the little bit I added or work a bit on the damage stuff. Well I have to leave it for a bit. I added about 25 mnemonics and I honestly don't think I'm going to get any further tonight.
30 Dec 2016
After work, I was really tired so I didn't think I was going to do anything, but I started playing and wrote the entire damage routine. Unfortunately it isn't quite working. The tsunami works fine (and it is CRAZY!). The volcano has to load different patterns on different passes and it's not quite right (yet), I am hoping I can figure this out tonight. The Earthquake was supposed to load a random number and make one of 3 land hieghts, but so far I haven't been able to find a timer fast enough to generate a random enough number. I kinda don't want to use the random number generator in the VIC because I'm sure it uses X and Y and they are the 2 loops for the area, but I may have to. Well a bit of re-coding and it's all working now. I did have to use the random generator, and had a blast making a mess of my map. Now I just have to test winning and losing scenarios to make sure my other bit of code is working, but I think I am done for tonight. I would like to nail down some of this code as I think it is time to give CBMPS another anchor. I think I explained that after a certain amount of code it starts to 'drift' on it's lables (out by 1 or 2 addresses) and it gets worse the further you go. To rememdy this I have put start addresses every 1000-1500 bytes, this seems to anchor the program. This also means if I have to fix any of the code below, I will have to fix all of the start addresses above. Just looking, the Damage code is another 250 bytes. Look it's a volcano!
To jump to more newer madness