+ZeroPage Homebrew Posted June 28, 2022 Share Posted June 28, 2022 ZeroPage Homebrew is playing Legend of Silverpeak on tomorrow's stream LIVE on Twitch, hope you can join us! Tue Jun 28, 2022 @ 6PM PT | 9PM ET | 1AM GMT+1Day WATCH: https://www.twitch.tv/zeropagehomebrew/ Games: Death Merchant (2017 WIP | 7800) by Steve Engelhardt @Atarius Maximus Legend of Silverpeak (2018 WIP | 7800) by Steve Engelhardt @Atarius Maximus (WATCH AT 1080P60 FOR BEST QUALITY) 2 Quote Link to comment Share on other sites More sharing options...
Bob Humid Posted June 30, 2022 Share Posted June 30, 2022 Wow. This looks incredibly awesome! ? I am not exactly aware of all the 7800er hardware-extensions that we have as of now. But will we ever be able to load this up into my 7800-Hardware for example as a RAM-extended Cartridge? Oh, and also I would also like to add: "TAKE MY MONEY!!! <3" 1 Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted July 7, 2022 Share Posted July 7, 2022 On 1/1/2018 at 12:48 PM, Jinks said: So is this like Adlez? Mountain home grove almost sounds like a place I might visit in 35 years. They have shuffleboard on thursdays. Well... Maybe in 35 years, you'll be the Mountain king! Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 10, 2022 Share Posted July 10, 2022 Now Steve needs to solve the SAVE feature ? 1 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 11, 2022 Author Share Posted July 11, 2022 On 7/10/2022 at 3:33 AM, gambler172 said: Now Steve needs to solve the SAVE feature ? I'm going to take a look at that sometime soon. Thanks to Walter, I confirmed that the correct menu.txt file settings for Legend of Silverpeak on the Cuttle Cart 2 are 78POK512 and 78BIOS. For those that have a Cuttle Cart 2, you'll also need the correct bankswitching file (attached), 78POK512.BNK. Place that file in the "BANKING" folder on your memory card. I've confirmed that it works, the game loads up fine. Regarding the load/save options, with a quick glance the options look correct. Maybe I'm trying to save/load too many variables at once with the same "savememory" and "loadmemory" commands? I'll have to try a few things and do some testing. Edit: I have two separate sections of load/save code, and they are in different banks. It may just be adding a "return otherbank". I'm going to look it over in more detail. This code (bank 13)... if titleypos=142 && joy0fire then gosub load_game if titleypos=153 && joy0fire then gosub save_game Calls this code (bank 11)... save_game gamedifficulty=0 savememory STR INT VIT DEX HP HPMax mana manamax LevelHi LevelMed LevelLo GoldHi GoldMed GoldLo XPHi XPMed XPLo magic_val hpotion_val ring_val sword_val ring_val armor_val key_val shield_val gamedifficulty=1 savememory rope_val rodoflife derame sephmond ugutz room key xpos ypos crystal1_flag crystal2_flag crystal3_flag crystal4_flag crystal5_flag crystal6_flag crystal7_flag return load_game gamedifficulty=0 loadmemory STR INT VIT DEX HP HPMax mana manamax LevelHi LevelMed LevelLo GoldHi GoldMed GoldLo XPHi XPMed XPLo magic_val hpotion_val ring_val sword_val ring_val armor_val key_val shield_val gamedifficulty=1 loadmemory rope_val rodoflife derame sephmond ugutz room key xpos ypos crystal1_flag crystal2_flag crystal3_flag crystal4_flag crystal5_flag crystal6_flag crystal7_flag return 78POK512.BNK Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 11, 2022 Share Posted July 11, 2022 I hope RevEng can help with this? Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 11, 2022 Author Share Posted July 11, 2022 9 minutes ago, gambler172 said: I hope RevEng can help with this? I was thinking that too. @RevEng, any suggestions? I tested with the savememory and loadmemory commands in the same bank as the gosub call, and divided it into four loads/saves with "gamedifficulty=<0...3>", it didn't work. I still get the blank yellow screen when saving. I'll look at the documentation and scan the forums again for any additional info. Quote Link to comment Share on other sites More sharing options...
+frankodragon Posted July 11, 2022 Share Posted July 11, 2022 I remember a while ago I was also trying to load/save with a game I was working on using the save/loadmemory code and Vox module. The module would make weird noises/voices altering the pitch when saving/loading. I thought I better not use the code as it could damage the module. Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 11, 2022 Author Share Posted July 11, 2022 13 minutes ago, frankodragon said: I remember a while ago I was also trying to load/save with a game I was working on using the save/loadmemory code and Vox module. The module would make weird noises/voices altering the pitch when saving/loading. I thought I better not use the code as it could damage the module. Today is the first time I've tried using a save game with Legend of Silverpeak on real hardware and I'm using a savekey, not an AtariVox. My AtariVox just makes an awful screeching sound whenever an audio source is plugged in to it now regardless of what game is being played, and it started doing that well before I tried any load/save testing with it. I can't verify what you experienced with my testing, but agree that could be a concern. Quote Link to comment Share on other sites More sharing options...
+frankodragon Posted July 11, 2022 Share Posted July 11, 2022 3 hours ago, Atarius Maximus said: Today is the first time I've tried using a save game with Legend of Silverpeak on real hardware and I'm using a savekey, not an AtariVox. My AtariVox just makes an awful screeching sound whenever an audio source is plugged in to it now regardless of what game is being played, and it started doing that well before I tried any load/save testing with it. I can't verify what you experienced with my testing, but agree that could be a concern. I can't remember exactly but it made similiar noises to what you've encountered. It also 'spoke' some of the load/save commands. Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 12, 2022 Share Posted July 12, 2022 Mentioned this in PM with Steve, but just for the sake of other eyeballs... I'm looking into this. I'll first try to replicate it with a simpler program, and depending on those results, move on to the silverpeak issue. Since savekey isn't emulated I can't use my usual debugger tricks to track down issues, so this may take a bit longer than usual. 2 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 12, 2022 Share Posted July 12, 2022 3 hours ago, RevEng said: Mentioned this in PM with Steve, but just for the sake of other eyeballs... I'm looking into this. I'll first try to replicate it with a simpler program, and depending on those results, move on to the silverpeak issue. Since savekey isn't emulated I can't use my usual debugger tricks to track down issues, so this may take a bit longer than usual. We count on you ? 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 13, 2022 Share Posted July 13, 2022 I put together a basic test that saved, cleared, and then loaded memory under 2 difficulties, just to be sure that some underlying bug hadn't crept in since I first released these functions. Quick summary is that it works as expected. saveloadmemory.bas saveloadmemory.bas.a78 So it may be some difference in the way Silverpeak is laid out, or some other more obscure bug. Still digging... Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 13, 2022 Author Share Posted July 13, 2022 22 minutes ago, RevEng said: I put together a basic test that saved, cleared, and then loaded memory under 2 difficulties, just to be sure that some underlying bug hadn't crept in since I first released these functions. Quick summary is that it works as expected. saveloadmemory.bas 1.54 kB · 2 downloads saveloadmemory.bas.a78 32.13 kB · 1 download So it may be some difference in the way Silverpeak is laid out, or some other more obscure bug. Still digging... Happy to hear your testing went well, I'm not sure what might be different in the LoS code. I can look that over too but I'm going to be tied up for most of this evening. Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 14, 2022 Share Posted July 14, 2022 Ok, I believe I've found it. You've done an "inline 7800vox.asm" in bank 1, which sticks the AtariVox read/write code in that bank. When you call loadmemory/savememory in other banks, it can't reach the vox code, and instead winds up at some random bit of rom in the current bank. 7800basic won't auto-swap banks for you to reach assembly code you've inlined. (doing so would be problematic for some game designs) When you inline assembly it either needs to go in a permanent bank, or you need to stick the statements that will call the inline assembly in the same temporary bank that you inllined it to. [edit] this behaviour is covered in the feature modules part of the 7800basic docs. 3 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 14, 2022 Author Share Posted July 14, 2022 1 hour ago, RevEng said: Ok, I believe I've found it. You've done an "inline 7800vox.asm" in bank 1, which sticks the AtariVox read/write code in that bank. When you call loadmemory/savememory in other banks, it can't reach the vox code, and instead winds up at some random bit of rom in the current bank. 7800basic won't auto-swap banks for you to reach assembly code you've inlined. (doing so would be problematic for some game designs) When you inline assembly it either needs to go in a permanent bank, or you need to stick the statements that will call the inline assembly in the same temporary bank that you inllined it to. [edit] this behaviour is covered in the feature modules part of the 7800basic docs. ?♂️ I should have known better. I'm looking at code I wrote 5 years ago now though, and that just didn't occur to me. Thanks so much for taking the time to look at it. I'll make the change, test, and post an updated version probably tomorrow. 5 Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 14, 2022 Share Posted July 14, 2022 You're welcome, Steve. Sounds good! Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 14, 2022 Author Share Posted July 14, 2022 Saving, Loading, and erasing games on real hardware has now been tested and is working. Title Screen: Load: It will Load and start the game from the last save, and take you to the exact screen and player position where you left off. I did not test what would happen if you try and load from a SaveKey for the first time that does not contain any save data, it likely wouldn't work well as many variables would be filled with zeros or otherwise incorrect values. Erase: It will save the default game values to the Save Key. Not really a true erase, it's really saving the default settings to the save key so if you try and load after an erase it doesn't break the game. Status Screen: Save: It will save all current data to the SaveKey. Pressing the button will cause the screen to flash and be garbled for a moment. That's how you know it's working. Load: Same as loading from the title screen. As this is the first time I've played on real hardware, I noticed many of the colors are pretty dark - especially the HP and MP values on the status bar. I updated the colors for those to make them brighter. This may be because of my setup, I'm using a 7800 with an RF Connection through an RF Modulator, it might look better for others depending on their hardware setup. Other than those two minor color changes, the only change made was to fix the load/save/erase functionality. If you attempt to load or save in emulation, it simply won't do anything. Use save states. Note that I'm using $44, $44 on the SaveKey, which I did not officially reserve. LoS_1.01.bin LoS_1.01.a78 LoS_1.01.bas 7 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 14, 2022 Share Posted July 14, 2022 Hi Steve Checked the actual version on my CC2 Works perfect ? But on my Dragonfly, it does not work. I know in the past , you changed something? Greetings Walter Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 14, 2022 Author Share Posted July 14, 2022 1 hour ago, gambler172 said: Hi Steve Checked the actual version on my CC2 Works perfect ? But on my Dragonfly, it does not work. I know in the past , you changed something? Greetings Walter Karl G posted a fixed version that works with the Dragonfly, however I don't know what he did to fix it so I'm not sure what to change for Dragonfly compatibility. Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 14, 2022 Author Share Posted July 14, 2022 As part of my testing earlier today, I wrote a utility that will display the SaveKey values that Legend of Silverpeak saves to memory. It's not of much use in emulation, but will allow you to check the save game (to verify your level, amount of gold, etc) should you ever want to. Steve LoSsk.bas LoSsk.bin LoSsk.a78 7 Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted July 23, 2022 Share Posted July 23, 2022 I'm glad that you got SaveKey working in your game. For something like Legend of Silverpeak, a working Save/Load function is a necessity. 1 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 24, 2022 Share Posted July 24, 2022 Great game...i was able to finish it. 1 Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 3, 2022 Share Posted September 3, 2022 On 1/1/2018 at 11:06 AM, Atarius Maximus said: Happy New Year! I've been working on an RPG title since October, and I thought I'd start off the new year by sharing my progress. It's a fairly expansive title, with a large overworld with towns and dungeons to explore and plenty of turn-based level grinding fun. While the game's basic objectives are in place and the game is playable (and winnable) there is still much work to be done. I'm aware of a few minor issues here and there that still need to be worked out. The most notable area that isn't completed is the planned boss battles in each dungeon, some objects in the game don't do anything yet, how you level up and progress in the game will likely be changed/tweaked, and the graphics are my first attempt and may be changed. The battles at the beginning of the game are very easy, and later on they are probably too difficult. Hundreds of hours of work have already gone into this already, and many design and gameplay choices were made based on compromises related to available hardware resources (especially the attack sequence). I thought it would be a good time to take a short break from it, share my progress, and hopefully hear some feedback. Saving and Loading your game to the Atarivox is implemented but untested on real hardware. Actually I haven't tried it at all on real hardware yet, just in Mame. The game is 512K, and is currently actually using around 280K of that space. In emulation you'll have to use Mame, Mess, or A7800, and while the AtariVox saves aren't supported in those emulators you can use Mame's save states, which I tested and that seems to work fine. At any time when you're not in the middle of a battle you can press the right fire button to bring up a detailed status screen. There you can save your game, use an item in your inventory, see your location on the overworld map, and review your statistics. In battle, use the left button to attack, and the right button to switch back to the menu at the top to choose alternate options or use items. Here's the story... You are Azémar Rehn, a simple woodsman from Mountain Home Grove, a beautiful patch of forest just east of the Silver Mountains. You set out from your homeland to reunite with your Uncle after your father's death. Unfortunately, upon your arrival, your Uncle is no where to be found. A short note is left in the Cabin, but it's not as helpful as you'd like it to be. You'd heard of the war, and how all the most virtuous crystals that were revered by the people of Midlothia were captured and scattered into the deepest dungeons. They are fiercely guarded by powerful men who are determined to crush the will and spirit of the people. Without their beloved symbols of virtue, the entire realm had been taken over by mercenaries and theives, bent on taking whatever they can for their own selfish gain. No power or virtue of man could ever have deserved that, what has been fated should not have taken place. Feelings of hopelessness and misery abound, and no one has risen to the challenge of ridding the land of these thieves. No one with good intent, that is. One powerful warrior, who calls himself Nonnag, who's mere prescences strikes fear in the hearts of men, has spread his evil throughout the realm. He created the the Crystal of Wrath, which serves as a beacon for those who serve his evil purposes. It must be captured and destroyed in order to bring peace, light, and life back to Midlothia. The common people are waiting for a hero to emerge. Once who can vanquish the evil, recapture the crystals, and restore the rod of life. Only this man is worthy of being crowned the next King of Midlothia. Great crisis produce great men and great deeds of courage. The Midlothian army has long disbanded. With their tragic losses and lack of leadership, hope was lost. Soldiers are citizens of death's grey land, drawing no dividend from time's tomorrows. It is now up to Azémar to restore order, to agree to the ultimate sacrifice for the sake of his homeland. As soon as sacrifice becomes a duty and necessity to mankind, there is no limit to the horizon which opens before him. It's time to fulfill your destiny. I'll leave some additional details for later. LoS.a78 512.13 kB · 783 downloads LoS.bin 512 kB · 490 downloads Props to the great gfx! How are you doing this? It looks like 160A but it has more than 4 colors per row. Are you using multiple indirect mode sprites? Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted September 4, 2022 Share Posted September 4, 2022 That reader utility is such a good idea. I might have to copy it for future projects as a debug / cheating tool. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.