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

#46
I've just released version 1.22 which supports include files. You can get it here.

- Bob
#47
News and Updates / Firmware upgrade: version 1.22
January 23, 2020, 10:19:57 AM
There's a new version of the Vectrex32 firmware available, version 1.22. If you already own Vectrex 1.10 or newer, you can download the firmware here. If you still have version 1.00, please read this.

This version adds support for C-like include files.

- Bob
#48
I'm not sure I understand. You're sending music data to the Vectrex, and that's filling up the DPRAM? I presume you're sending many frames' worth of music at once?

- Bob
#49
Have you measured how much time the fast drawing list takes, i.e. by measuring the time you spend in WaitForFrame() and subtracting it from the frame rate?
#50
I've been thinking along the same lines.

- Bob
#51
General Discussion / Re: Camera Position?
January 15, 2020, 05:26:24 PM
If you pass an array to CameraTranslate, then that array is live data. You can move the camera by changing the array, and see where the camera is by reading the array.

- Bob
#52
It would clearly be a useful thing to have. But some of the internal workings of it are causing me headaches. I'm not giving up on the idea, but I don't know if I can pull it off.

- Bob
#53
Hi Andrew,

The Vectrex32 uses reference counting to track objects. So when there's no longer a variable referencing an array, sprite, string, structure, or other object (in case I missed one) it is immediately freed.

Sprites in the drawing list are being referenced by the drawing list, so that keeps them alive. You don't need a separate variable referencing them.

- Bob
#54
General Discussion / Re: Introduce Yourself
January 05, 2020, 07:58:54 AM
Welcome Arjay! I'm looking forward to seeing what you come up with!

- Bob
#55
I'd just write a BASIC function to do it.

- Bob
#56
Code Swap / Re: DPRam multiplexing in 1.21
December 31, 2019, 04:24:03 PM
Ah, that's better!

- Bob
#57
General Discussion / Re: Lightpen Game Concepts
December 31, 2019, 02:04:03 PM
I experimented with the light pen before releasing 1.21, but I decided that I didn't have a good solution yet.

My approach was to call the normal drawing functions, but to enable interrupts from the light pen. This had the effect of distorting what was drawn on the screen. Apparently, timing is too delicate to tolerate an interrupt.

I looked at Art Master's source code and it doesn't call the BIOS draw routines; it has its own, light pen-friendly routines. I guess that's the way to go.

- Bob
#58
Code Swap / Re: DPRam multiplexing in 1.21
December 31, 2019, 01:57:49 PM
I'm not sure what to make of this. I loaded the program and called rose(). I get a large, flickering pattern on the screen (it might be a zoomed-in portion of a rose).

Can you describe what DPRAM multiplexing is supposed to do?

QuoteI did benchmark using an array of objects instead of calling DrawingListSprite, and it _is_ slightly faster

If you maintained your own array of sprites and looked them up with spritelist[index] instead of DrawingListSprite(index), I'm not surprised that it's a little bit faster. It means accessing an array is faster than making a function call.

- Bob
#59
News and Updates / Firmware upgrade: version 1.21
December 30, 2019, 02:16:36 PM
There's a new version of the Vectrex32 firmware available, version 1.21. If you already own Vectrex 1.10 or newer, you can download the firmware here. If you still have version 1.00, please read this.

This version adds several new features and fixes a few bugs:

- Add run-time error handling with ON ERROR CALL
- Add 2.5D sprites, which are 2D sprites that can be positioned in the 3D world.
- Add binary file I/O with FRead and FWrite. Add random access with FSeek and FTell.
- Add byte arrays to support binary files.
- Add bitwise operators &, |, ^, and ~ (AND, OR, Exclusive OR, and Complement).
  WARNING: if you were using ^ for exponentiation, you need to change your code!
- Add the pow() function for exponentiation.
- Allow == for testing equality, since you can't teach an old C programmer new tricks. :-)
- Add SpriteGetUserData and SpriteSetUserData to allow a program to associate
  arbitrary data with a sprite
- Handle dual-port RAM overflows more gracefully.
- When re-DIMming an array, free the old array before allocating the new one. This
  is more memory efficient.

#60
Code Swap / Re: AYC Music player
December 24, 2019, 07:53:51 AM
Just to update the status of this for anyone who's following it: version 1.21 (which is still in beta as of Dec. 2019) includes bitwise operators, a way to read and write binary files, and a way to get the size of a file.

Ask and ye shall receive!

- Bob