Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Vectrex32

#271
News and Updates / Copy protection discussion
August 25, 2016, 10:00:34 AM
I've started a new thread in the Features Requests forum to discuss copy protection schemes. See it at http://forums.vectrex32.com/index.php/topic,11.0.html
#272
I have two ideas for implementing this. One is less secure but is easier to use. The other is more secure but more difficult to use.

Proposal 1:

A password is hard-coded into every SmartCart. An author writes a game and encrypts it using the password (I would provide an app on Vectrex32.com to do the encryption). He then makes it available for anyone to download. Inside his game he calls a function, GetLicenseInfo. This function tells him if a valid license is found and how many times the game has been run.

GetLicenseInfo takes three arguments: a unique ID for the game (e.g. a 16 digit hexadecimal number - I'd provide an app on Vectrex32.com to generate it), a unique ID for the author, and the file name of the game. The SmartCart would track how many times the game has been run based on its ID number. It would look for a valid license in a <file name>.lic file on the SmartCart's drive.

If a valid license is found, the game runs without restrictions. If no license is found, the game can look at the number of times the program has been run and decide whether the free trial period has expired. During the trial period, it can also limit how long the game may be played (e.g. 15 minutes).

When the user is ready to buy, he prints out his SmartCart's serial number (every SmartCart has a unique, 64 bit serial number). He sends it to the author. The author combines the game ID and the S/N and encrypts it with his author ID (another app on Vectrex32.com could do this). That generates a license file which the author sends the the user. The user puts the file on his drive.

This scheme is vulnerable because there's a single password distributed with every SmartCart and that also exists on Vectrex32.com's server and on my development system. If I'm hacked or if someone disassembles the SmartCart code, this system could break.

Proposal 2:

Instead of having the same password on every SmartCart, the SmartCart's serial number is its password. So for every user who wants to try or buy the game, the user must send the author his serial number and the author must encrypt his game for that user.

To break this scheme, a user would need to disassemble the SmartCart code (or hack into my home computer), modify it, and re-program the PIC32 with the new code.

Notice that this requires more work from the author and more work from the user when he just wants to try out a game.

What do people think?

- Bob
#273
Some people have suggested that the SmartCart provide copy protection, so that game writers can sell their games without fear of them being pirated.

Features that would be nice are:

  • Allows for a free trial period, so a user can try the game before buying
  • Does not require a terminal emulator, since some people might have trouble setting one up
  • As simple as possible for the user and the seller

- Bob
#274
Feature Requests and Bug Reports / Re: Link Feature
August 25, 2016, 09:32:40 AM
I'll add it to my list of possible enhancements.

- Bob
#275
News and Updates / Sales briefly suspended
August 24, 2016, 09:01:17 AM
I have five SmartCart boards left. But I have another part on order, so I've suspended sales for a few days until it's delivered. Then, I'll relist the remaining SmartCarts on eBay.

I'm talking with a manufacturer about putting in an order for more boards.

- Bob
#276
Yes, there are plenty of GPIOs still available on the PIC32.

- Bob
#277
General Discussion / Re: Emulators for Vectrex32?
August 23, 2016, 03:31:50 PM
I think they're both good ideas and they're both a lot of work.  :)

- Bob
#278
General Discussion / Re: Emulators for Vectrex32?
August 23, 2016, 02:26:27 PM
OK, I'm confused about what type of emulator we're talking about. Are we talking about putting an emulator on the SmartCart so that it can play ROMs from old arcade games like Battlezone, Tempest, etc.? E.g. port Vector MAME to the SmartCart? (This is what I thought gliptitude was suggesting.)

Or are we talking about a program that runs on a PC, executes GSBASIC programs, and has a window that shows what the Vectrex display would look like?

- Bob
#279
It's not so much that they're "quality" components - just that they're expensive. The dual-port memory chip is, I suspect, a low-volume chip, so its price (about $15) is out of proportion to its abilities. The microcontroller I'm using is very new and high-end so it's expensive for a microcontroller. But by "expensive" I mean $10 or $11.

I could save some money by going with a cheaper microcontroller. But there's still manufacturing and assembling the PCB, and that price won't go down.

- Bob
#280
There is currently no way to "copy-protect" BASIC programs on the SmartCart. If you have any ideas how such a thing could be done, I'd be interested in hearing them.

The SmartCart is a powerful platform with a BASIC interpreter running on it. It would be an even more powerful platform without BASIC. But it wouldn't be any less expensive; I'm not charging for the software and the hardware components I'm using are not cheap.

- Bob
#281
General Discussion / Re: Emulators for Vectrex32?
August 22, 2016, 07:46:05 PM
If a new game that takes full advantage of this system comes out, it will be written in BASIC. So my hope is that it will not take a long time to write or debug (especially with the SmartCart's interactive debugging features).

I think a vector arcade emulator would probably take longer. But I agree with you: it would be very cool to have.

- Bob
#282
Code Swap / Guidelines
August 21, 2016, 09:50:47 PM
This forum is for swapping Vectrex32 BASIC code. The first post in any new thread should be a description of the code with an attachment containing the code. If you do not have code to post, do not create a new thread! Instead, go to one of the discussion forums.

Code can be a useful function or subroutine, a piece of music, a complete program that is not a game (e.g. a tool like ScaleTest.bas, which is included on the SmartCart drive). If you have a game to post, go to the Game Swap forum.

Once a thread has been created with some code, you can comment on that thread with questions, suggestions, bug fixes or enhancements.
#283
Game Swap / Guidelines
August 21, 2016, 09:45:48 PM
This forum is for swapping Vectrex32 BASIC games. The first post in any new thread should be a description of the game with an attachment containing the code for the game. If you do not have a game to post, do not create a new thread! Instead, go to one of the discussion forums.

If you have a useful snippet of code that you would like to share, post it in the Code Swap forum.

Once a thread has been created with a game, you can comment on that thread with questions, suggestions, bug fixes or enhancements.