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

#256
General Discussion / Re: Simplest program - question
September 21, 2016, 08:48:09 AM
Hi Malban,

I found that by adding this line before "call ScaleSprite(25)", it fixes the problem:
   call MoveSprite(1, 1)

The Vectrex has a problem drawing things right after resetting the pen to the origin - things get messed up the way you're seeing it. Chris Salomon mentions it in his tutorial; his solution is to introduce a delay but he mentions that if you're moving the pen anywhere, that will add a sufficient delay and effectively solve the problem.

The Vectrex BIOS resets the pen after drawing text. So if you draw your sprite immediately afterwards, it will get messed up. Adding the MoveSprite introduces sufficient delay.

It occurs to me that I should implement a "Delay" pseudo-sprite to more cleanly address this problem.

- Bob
#257
I'll keep making SmartCarts as long as people keep buying them.

If developers tell me they want a way to protect their programs, I'll come up with a copy protection scheme.

- Bob
#258
News and Updates / More SmartCarts available
September 14, 2016, 09:01:43 PM
I received 30 SmartCart boards today and tested them - they all work. I only have 11 shells (more are coming in two days). So I'm making 11 available for sale now and 19 more when I get the shells.

Last time, I sold through eBay. This time, I'm selling through Vectrex32, but I'm still using PayPal to process payments.

If you'd like to buy a Vectrex32 SmartCart, go to the Buy page.

- Bob
#259
General Discussion / Re: Alternate enclosure
September 11, 2016, 01:55:45 PM
Looks very nice!

- Bob
#260
Editing a BASIC program from the terminal would require either 1) a visual text editor using VT-100 codes or 2) typing line numbers on all your BASIC statements. The first option is a lot of work that would leave no one happy (everyone hates text editors that are different from their favorite); the second option is so 1970s.

(There's actually a third option: implementing a Edlin-like editor. I'm skeptical that people would want to use it.)

So I suggest you have your program open in a text editor in one window, and the terminal open in another window. Make changes in the editor, click Save, then switch to the terminal window and re-load. Yeah, it's a pain to have to re-load. But I think it's the least worst option.

- Bob
#261
There is no way to do that. But remember that writing a game for the SmartCart is dramatically different from writing a game in 6809 assembler. To write a game for the SmartCart:

- Plug the SmartCart into the Vectrex and turn it on.
- Plug the SmartCart via USB into your PC.
- Bring up a terminal window on your PC to talk to the SmartCart.
- Bring up your favorite text editor. Write some BASIC and save it to the SmartCart's USB drive.
- In the terminal window, load and run your program.
- Is there a fatal error in your program? BASIC will print out a message in your terminal window telling you what the error is and what line it was on.
- Is there a logic error in your program? Hit Ctrl+C. Print out variables, set breakpoints, and continue running.
- Are the shapes not right on the screen? Hit Ctrl+C. Change the values in the arrays that define your vectors. You'll see the changes reflected on the Vectrex screen immediately.
- When you've figured out the fix for the problem, change the BASIC in your text editor, save the changes to the SmartCart's USB drive again, and reload the program from the terminal window. Run it again and see the results.

A PC-based emulator was really, really important as an alternative to assembling code, burning it into a ROM, running it on the Vectrex where there are no debugging tools, and trying to puzzle out where the bugs were. The SmartCart changes that completely. Not only is it letting you write your program in BASIC, but the SmartCart is loaded with debugging tools: breakpoints, tracing, examining variables, changing variables, examining what's being drawn on the screen, and changing the screen interactively.

- Bob
#262
General Discussion / Re: Introduce Yourself
September 05, 2016, 09:18:55 AM
I'm Bob and I created the SmartCart. I'm a software engineer with a few hardware skills. I bought my Vectrex back in the '80s. I actually haven't been a part of the Vectrex community, but I was aware of it. When I was looking for a new hobby project, I decided on some sort of 32 bit upgrade to the Vectrex. I've been working on it for two years.

Here's my best Vectrex story: I was sitting in my bachelor apartment one night back in the 80s, playing Star Trek on the Vectrex. I fired at a Klingon and blew up his ship. At that exact moment, there was a bright flash of light outside my window, a loud boom, and all the electricity went out in the apartment.

My first thought was: that's one hell of a game.

My second thought was: it's a nuclear attack (remember this was during the Cold War).

My third thought was: the light and the noise reached me simultaneously, so if it was a nuclear bomb, it was really close. I'd be dead now. So it wasn't a nuclear bomb.

It turned out an electrical junction box in the apartment complex had been under repair. The repairman did something wrong and it blew up. Fortunately, he was far away from it when it happened; no one was hurt.
#263
General Discussion / Re: Cart Memory, Game Saves
August 31, 2016, 03:28:22 PM
It's not currently able to do that, but it's on my list of features to add. It would just be a firmware upgrade.

- Bob
#264
News and Updates / A few more SmartCarts available
August 28, 2016, 09:08:51 AM
I have a few more SmartCarts available. You can buy them here.

I have ordered 30 more SmartCarts, and they should be available in about a month.
#265
General Discussion / Re: Basic Interpreter
August 25, 2016, 02:01:07 PM
#266
Quote from: MartyMcFly on August 25, 2016, 01:19:57 PM
Ok, so it is an high level only language for now?

Right. The goal is to make programming easier. If at some time in the future, people start hitting a performance wall with BASIC, I'll revisit that.  But you raise another good issue: if, at some point in the future, I give more access to the internals of the SmartCart, the security of the copy protection needs to be considered.

- Bob
#267
Quote from: MartyMcFly on August 25, 2016, 12:57:26 PM
TL;DR: never underestimate the power of PEEK/POKE ;)

The SmartCart's BASIC doesn't have PEEK/POKE.

- Bob
#268
Marty, the BASIC on the SmartCart is limited enough that no DRM would be possible without my assistance. Also, no DRM I create in the SmartCart would be breakable from the SmartCart debugger (because the DRM wouldn't be written in BASIC).

I don't want this to become a debate over the morality or ethics of DRM. I just want more Vectrex games to be written. If developers tell me "I will write great games for the SmartCart, but only if there's copy protection", then I'll create a mechanism for copy protection. If developers say "I will write great games regardless of whether there's copy protection" then I'll direct my efforts elsewhere.

- Bob
#269
I have started a discussion in the Feature Requests forum about this: http://forums.vectrex32.com/index.php/topic,11.0.html

- Bob
#270
Marty, you bring up an important question: do developers even want this? I've heard from a few people that I should put copy protection into the SmartCart, but I'm not sure if I've heard from someone who actually wants to use it.

If no one really wants it, it's a lot less work for me not to implement it.

- Bob