Jump to content
IGNORED

DotDash Password System


Gemintronic

Recommended Posts

This is what I call my "DotDash" password system concept. I guess I'm just brainstorming here so feedback is appreciated.

 

The standard kernel can handle displaying 16 digits and 8 dots or dashes in the middle. Each two digits are the tens and ones place in an 8-bit number. A single dash/dot/blank represents the hundreds place being the 2 1 or 0 respectively. So, a dash (200) + 4 (40) plus 7 (7) would equal the value 247.

 

Input could be something like: UP/DOWN to change number or dot/dash. LEFT/RIGHT to go backwards and forwards through the password - from first row to dot/dash row to final numeral row. Pressing LEFT on the first digit of the first row backs up to the title screen. Pressing RIGHT on the last digit in the last row confirms the password and goes in game.

 

This system would provide 8 8-bit values for a save game system using the most bare standard kernel.

 

NOTE: This does not include any hack detection or checksum. That would be up to the programmer to "waste" a value inside the password for checksum/anti-cheat.

post-13304-0-28588700-1346868575_thumb.jpg

Edited by theloon
Link to comment
Share on other sites

40 is 50 in octal ;). Its used to compress three characters into an unsigned 16 bit word. The characters can be upper case "A" to "Z" (so 26 there) and digits "0" to "9" (another 10 there) which leaves 4 remaining for punctuation. To compress you do the following :-

 

X x 1 +

Y x 40 +

Z x 1600

 

Where X, Y and Z are any of the indexes representing the characters in the range 0 to 39.

Link to comment
Share on other sites

I'm still a bit shakey on the math, but, it seems a system using 40 unique characters would only need 6 symbols per row and no need for dots or dashes.

 

ABC

123

 

This would be more legible since I could use more pixels per symbol. However, the end-user would be stuck with potentially pressing UP 40 times to go from the first character to the last - just for a single symbol in the password. Hmmn.. Also, storing the graphics for 40 unique characters may be alot?

Edited by theloon
Link to comment
Share on other sites

I'm planning on using the SaveKey to save game data on future games. As a backup for people who don't have SaveKeys I'd like to make a password system. I was originally thinking two rows of numbers and one row of dots and dashes would be easy to input. This is the mock up in the beginning. I don't understand the maths behind Radix-40 but I DO understand symbolic compression. Meaning, if I use 40 different symbols for each space in a password I only need the end-user to input 6 elements. Thus the mock-up at the end.

 

The net result is a password system that "saves" 8 8-bit variables.

Edited by theloon
Link to comment
Share on other sites

The biggest number you could represent in radix 40 (using a 16 bit word) would be (39*1600)+(39*40)+39 or 63999. A 6 digit password only allows you to save 4 bytes of data. I'm sure Melody carts can have a serial flash on them but I'm not sure if the 2600 can write to it directly (the ARM coprocessor probably can). If writes are possible you wouldn't need a SaveKey and you could save quite a bit of data almost transparently to the game player. I say "almost" because some serial flash chips need quite a bit of time for erasing and writes to complete so you might have to save data over several VBLANKs.

Link to comment
Share on other sites

The biggest number you could represent in radix 40 (using a 16 bit word) would be (39*1600)+(39*40)+39 or 63999. A 6 digit password only allows you to save 4 bytes of data. I'm sure Melody carts can have a serial flash on them but I'm not sure if the 2600 can write to it directly (the ARM coprocessor probably can). If writes are possible you wouldn't need a SaveKey and you could save quite a bit of data almost transparently to the game player. I say "almost" because some serial flash chips need quite a bit of time for erasing and writes to complete so you might have to save data over several VBLANKs.

 

Doesn't that 4 bytes of 16-bit values translate to 8 8-bit values?

 

No one has made available libraries in BatariBASIC to access any extra storage in the Melody/Harmony board (yet). There is actually code for the SaveKey. I hope my password engine can also be used too.

Link to comment
Share on other sites

Doesn't that 4 bytes of 16-bit values translate to 8 8-bit values?

 

Every 3 characters can be encoded into 16 bits (8 bits to a byte so that is 2 bytes). So a 6 digit password could only decode to 4 bytes.

 

No one has made available libraries in BatariBASIC to access any extra storage in the Melody/Harmony board (yet).

 

OK... Well... You could always do it ;).

Link to comment
Share on other sites

I could. If I was a tool builder. I'm just the tool user (for now). Sometimes I'm just a tool, really!

 

I think a compromise might be just having 16 password elements going from 0 - F. That way the end-user only needs to toggle the joystick 16 times to go from end-to-end in symbol selection. Storing 16 "sprites" shouldn't make a big dent in available ROM either. The 3x5 font actually doesn't look bad, either.

post-13304-0-25496200-1346956504_thumb.jpg

Edited by theloon
Link to comment
Share on other sites

  • 1 month later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...