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

Topics - Malban

#1
Feature Requests and Bug Reports / Textsize bug?
December 12, 2019, 07:14:26 AM
Trying out the Bezier thingy.

Loaded the program and it runs well.
The textsize does not display to well on my vectrex, so I wanted to draw smaller text.

The instruction is defined as:
instructions = { _
   {-50, 100, "INSTRUCTIONS"}, _
   {-80, 90, "PRESS BUTTON 1 TO +1 BEZIER STEPS."}, _
   {-80, 80, "PRESS BUTTON 2 TO -1 BEZIER STEPS."}, _
   {-80, 70, "MIN STEP IS 1 - MAX STEP IS 20."}, _
   {-80, 60, "USE JOYSTICK TO MOVE CURSOR."}, _
   {-80, 50, "PRESS BUTTON 3 TO (UN)SELECT."}, _
   {-80, 40, "PRESS BUTTON 4 TO EXIT."} _
}


and called later with

   ' Display instructions.
   textSize = {25, 2}
   call TextSizeSprite(textSize)
   call TextListSprite(instructions)

However the smaller size given (with the second parameter "2") is only used for the first line, not for the complete text:


Shouldn't the size be used for all the text?

Malban
#2
General Discussion / Vectrex RAM?
December 12, 2019, 05:33:15 AM
Thinking further about my last reply to the lightpen post.

I again would like to ask the question, do you use (besides the BIOS area and possible a little bit of the stack) any Vectrex RAM?

If not.
Crazy idea...

To possibly enhance the BASIC with commands (accesses to Vectrex HW etc...) that are not implemented yet...

One could design a couple of code sprites that
a) first step
setup assembler routines in (Vectrex) RAM

b) second step
use "in game" code sprites to call these routines

c) use specific RAM locations to transport values if needed.

Perhaps there are not MANY usages - but some exotic ones come to mind, like:

- Access lightpen
- Access VecVox/VecVoice

... just some thoughts...

Malban


#3
Feature Requests and Bug Reports / Frustrated
September 26, 2016, 11:21:36 AM
Hi,
I must confess at the moment I am extremely frustrated.
IMHO the smart card behaves a little erratic. The attached BASIC file is supposed to play YM-Data. The code is most probably correct. My smartcard quits loading with "out of memory" (I especially used a small YM file).

If you delete some of the data statements (so that the file is about 100 lines shorter) the music plays alright.
There is NO definite point where the memory error disapears! Sometimes at 150 lines, sometimes at 170... etc.
(In the manual it says Strings can be up to 4GB - is there a limit on line lengths? I am pretty sure 150 lines of data does not come near 4 GB - but I have not found a limit on line length, or how else to enter large quantity of data)

Once an out of memory error occurs, the smartcard does not react in any way any more - only switching vectrex off/on helps - which I did the last hour about 50 times - I will stop that now! My poor vectrex.

Since for the last couple of years I have been programming other languages than BASIC - while editing programs there are bound to be mistakes, some wrong thinking - some plain syntax errors.

However the error descriptions the BASIC provides are most of the time (or at least with the errors I make - very often) not helpfull.
Little example of a small stupid mistake:
instead of writing:
function initYMData()
return  { _  MUCH DATA_
}
endfunction


I accidently wrote:
function initYMData()
return = { _  MUCH DATA_
}
endfunction


The program does not LOAD anymore, the loading quits with the message:
"Invalid expression"

I had a couple of other (once you found them stupid) errors/error messages. However I have not kept a log and the errors are now gone ofter enough trial and error.

Forgive me - but for now I will rest doing BASIC stuff.

Malban





#4
General Discussion / Usb drive and RAM?
September 26, 2016, 07:31:03 AM
Hi,
I recently tried to use the "huge" memory of the Smartcard to my advantage (and tried vide support for that...) and write an YM-Player.
The advantage would be, that YM-files do not need to be packed in any way, and as such there would be no huge cycle impact on playing them.

Said and done, I did a BASIC output (unpacked) of an YM-file.
And the first thing I was greeted with was:
    Error creating file: /Volumes/VECTREX 32/Popcorn.asm

Well data statements in BASIC tend to be large - the file at that stage was about 350kb.

Is it right that the "RAM" of the device and the USB storage area are the same?

Or is it just coincidence, that the USB drive only has 430kb memory?
I mean - apart from storing generated data - how can I use the 512kB RAM for my vectrex programs, if the BASIC (ASCII) representation of the data already uses so much space, that I can't even get the data to my vectrex?

Perhaps I am thinking totally the wrong way.

@Bob:  Would you care to set me right or elaborate?

Thanks
Malban




#5
General Discussion / Simplest program - question
September 21, 2016, 05:26:52 AM
Hi,

I have only recently begun fiddling with Vectrex32 and the most simple program I can imagine does not realy behave the way I expect it.

' test

textSize = {40, 5}
instructions = {{-50, 90, "DISPLAY VECTORLIST"}}
VectorList={_
        {MoveTo, +$20, -$40}, _
        {DrawTo, +$20, +$00}, _
        {DrawTo, +$00, +$40}, _
        {DrawTo, -$20, +$00}, _
        {DrawTo, -$20, -$40}, _
        {DrawTo, +$20, +$00}, _
        {DrawTo, -$20, +$00}, _
        {DrawTo, +$20, -$40}}

call IntensitySprite(50)

call TextSizeSprite(textSize)
call TextListSprite(instructions)

// NOT OK
call ScaleSprite(25)
vListSprite=LinesSprite(VectorList)

while true
    controls = WaitForFrame(JoystickNone, JoystickNone, JoystickNone)
endwhile

The display I get (see first attachment image)


A very simple solution is to display the vectorlist BEFOR the text:
' test

textSize = {40, 5}
instructions = {{-50, 90, "DISPLAY VECTORLIST"}}
VectorList={_
        {MoveTo, +$20, -$40}, _
        {DrawTo, +$20, +$00}, _
        {DrawTo, +$00, +$40}, _
        {DrawTo, -$20, +$00}, _
        {DrawTo, -$20, -$40}, _
        {DrawTo, +$20, +$00}, _
        {DrawTo, -$20, +$00}, _
        {DrawTo, +$20, -$40}}

call IntensitySprite(50)

// OK
call ScaleSprite(25)
vListSprite=LinesSprite(VectorList)

call TextSizeSprite(textSize)
call TextListSprite(instructions)


while true
    controls = WaitForFrame(JoystickNone, JoystickNone, JoystickNone)
endwhile


This works fine... (see second attachment image).

But why is that?
The behaviour is not what I expected and I haven't found any clue about it either.

Malban