+Gemintronic Posted December 13, 2022 Share Posted December 13, 2022 Too ugly for a tutorial so let's call this a show and tell. When the demo starts it generates a valid password and leaves it in the data entry section. This code lets you re-load 2 full variables using the score for password entry. You can even use the title screen kernel score display instead of the drawscreen command. Use LEFT and RIGHT to change "cursor" position. Use UP and DOWN to increment or decrement current position value. Moving all the way left and pressing FIRE reboots. Moving all the way right and pressing FIRE attempts to validate password and restore save1 and save2 variables. Usability features: * Blinking "cursor" made of score character value $F. Seems to work even with fonts that have no A-F like the standard score_graphics.asm * Animated, color changing leftmost position. Press FIRE to reboot game * Rightmost position flashes entire password green. Press FIRE to validate data entry * Color cycling password validation screen that displays 2 reconstituted save game variables Security features include: * 2-bit checksum * Hard coded values added to help mask original save variables * Bit re-ordering for further obfuscation (with extra drawcreen calls to prevent going over cycle) * Usability tweaks to balance data entry ease and lightly hindering manual password hacking Not much more I can think of to make it more secure with just a puny 2-bit checksum and poor math skills. Not having score graphics for A-F makes me uneasy. For my own use I will probably continue using hand modified score_graphics.asm files with custom A-F entries. pw2vars.bas pw2vars.bin 4 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted December 24, 2022 Author Share Posted December 24, 2022 Here's a version using RevEngs Title Screen kernel. It also uses 6 less variables and no defines. In the old version we use 6 variables to hold the characters to copy into the score. Now the 3 internal score variables are directly altered as 6 nybbles. Basically, I went on a deranged spree reducing defines as I was reaching the old 50 define limit in my current project. Didn't read the bB release notes that say that limit has been bumped up to 500. So, I guess we can use 500 constants and now 500 defines? pw2vars04.baspasstskernel.zip 2 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.