22th of December PiTrex small update

22th of December 2021

  • small changed / bugfixes
    Vectorblade did not start anymore
    Vecmania had “problems” with joystick access

21th of December 2021

  • some days ago, fixed bankswitching in vectrex emulator for 64k
  • added options to invert joystick y-direction (common ini)
    (each individual ini file can now have the option (INVERT_Y_AXIS = 1/0)
  • added “analog” scroll for vectrex exact selection of files
  • added VOOM
  • added lineArt demo!
  • added Rebel Defender (no sound)
  • thought about adding: icbm3d, xinv3d, xlander
    but these are not my kind of games, I don’t like them, unless someone “begs” to add them
    I leave them be, sources can be found under “new.not_done”
  • github is up to date
Tagged on:

9 thoughts on “22th of December PiTrex small update

  1. Pierre

    Hi
    i’ve found time to test and test…

    2 bugs found :

    – Since 14th december version, I have glitches with Speedy vectrex games as you can see on the video. The fisrt part is coming from 15th june version and works great.
    https://www.youtube.com/watch?v=p-gAX-s97SA&t=5s

    – strange bug : Since 22th december version, in some games, controler stick is not working at all. I’ve found 2 games for now (Mr Boston and Solar Quest).
    On the video, first part is with 14th dec version and 2nd with 22th version.
    Bug is shown at 3:55 on the video.
    https://www.youtube.com/watch?v=XxjeSKW82A4

    And by the way, i wish you a great new year !

    1. Malban Post author

      The joystick thing will be fixed with the next release, I found the culprit.

      The glitches – I don’t know what causes them, my first guess would be changed “ini” items.

      Following is a copy of the “june”-ini file. Would you try to use these values?

      ; Global Vectrex Interface ini file for PiTrex baremetal
      ; This file must not be larger then 10kb!
      [VECTERX_INTERFACE]

      ; DELAY_ZERO_VALUE: the value that is 'waited' before a next move/draw
      ; after a zeroRef was done
      ; if screen looks ok, than the smaller the value - the faster
      DELAY_ZERO_VALUE = 26;

      ; CRANKY_FLAG:
      ;typedef enum {
      ; CRANKY_CRANKY_VIA_B_DELAY_B0 = 0,
      ; CRANKY_CRANKY_VIA_B_DELAY_B1 = 0,
      ; CRANKY_CRANKY_VIA_B_DELAY_B2 = 0,
      ; CRANKY_CRANKY_VIA_B_DELAY_B3 = 0,
      ; CRANKY_BETWEEN_VIA_B = 16, uses above delay
      ; CRANKY_NULLING_WAIT = 32, uses fixed '6' cycles
      ; CRANKY_NULLING_CALIBRATE = 64, // does a calibrate after each 'null' of Y
      ; CRANKY_T1_DELAYED = 128 // not implemented
      ;} CrankyFlags;

      ; 0x16 = 22 cranky delay of 6 cycles - this is for MY worst vectrex
      ; 0x14 = 20 cranky delay of 4 cycles -
      ; the smaller the faster
      CRANKY_FLAG = 22

      ; DELAY_AFTER_T1_END_VALUE:
      ; changes from vectrex to vectrex, the less, the faster
      ; values go between 17 - 22
      ; STO
      DELAY_AFTER_T1_END_VALUE = 10

      ; SCALE_STRENGTH_DIF:
      ; 'correction' cycles with a conversion from scale to strength
      ; SSS
      SCALE_STRENGTH_DIF = 2;

      ; BUFFER_TYPE
      ; buffer type
      ; 0 = no buffer, 1 = doublebuffer, 2 = autobuffer, 3 = no display
      BUFFER_TYPE = 0;

      ; MAX_USED_STRENGTH:
      ; maximal strength that can be used without getting 'distortions'
      ; on cranky vectrex this can be as low as 90
      ; 'normal' vectrex can go as high as 127
      ; potentially, the higher the faster
      MAX_USED_STRENGTH = 100

      ; RESET_TO_ZERO_DIF_MAX:
      ; when is a 'move' too far and a return to zero should be done instead
      ; (plus an additional move)
      RESET_TO_ZERO_DIF_MAX = 2500;

      ; CYCLE_EQUIVALENT:
      ; how many Pi cycles represent one vectrex cycle. 666 nanoseconds should be pretty close
      CYCLE_EQUIVALENT = 666;

      ; BEAM_OFF_BETWEEN_CONSECUTIVE_DRAWS:
      ; a thing of taste, vectors look more 'dotted' if this is 0
      ; potentially a bit faster if 0 though
      BEAM_OFF_BETWEEN_CONSECUTIVE_DRAWS = 0;

      ; ORIENTATION:
      ; orientation rotated clock wise 0=normal, 1 = left, 2=up, 3 = right
      ORIENTATION = 0

      ; CALIBRATION_VALUE:
      ; value for a Tuts calibration, if 0 no calibration!
      CALIBRATION_VALUE = 0;

      ; USE_PIPELINE:
      ; use pipeline 1= yes, 0 = 0
      ; should always be yes
      USE_PIPELINE = 1;

      ; KEEP_DOTS_ORDERED:
      KEEP_DOTS_ORDERED = 0;

      ; OFFSET_X:
      ; screen position, - more left, + more right
      OFFSET_X = 1

      ; OFFSET_Y:
      ; screen position, - more left, + more right
      OFFSET_Y = 1

      ; SIZE_X:
      ; size correction of display, floating post value 1.0 = 'normal' output
      ; higher values enlarge, smaller shrink
      SIZE_X = 1.000000

      ; SIZE_Y:
      ; size correction of display, floating post value 1.0 = 'normal' output
      ; higher values enlarge, smaller shrink
      SIZE_Y = 1.000000

      ; LOG_OUTPUT:
      ; if different than 0 - than log all 'printf' outputs also to SD
      LOG_OUTPUT = 1

      ; REFRESH_HZ:
      REFRESH_HZ = 50

      ; MINSCALE:
      MINSCALE = 1

      ; DOUBLE_TIMER:
      DOUBLE_TIMER = 0

      ; DELAY_AFTER_XSH_VALUE :
      DELAY_AFTER_XSH_VALUE = 2

      ; DELAY_AFTER_YSH_VALUE:
      DELAY_AFTER_YSH_VALUE = 2

      ; DELAY_PORT_B_BEFORE_PORT_A_VALUE:
      DELAY_PORT_B_BEFORE_PORT_A_VALUE = 2

      ; CRANKY_DELAY_Y_TO_NULL_VALUE:
      CRANKY_DELAY_Y_TO_NULL_VALUE = 6

      ; IN_GAME_SETTINGS: IS BUTTON 2 JOYPAD 2 configured to call the settings menu
      IN_GAME_SETTINGS = 0

  2. pkerga

    Hi
    sorry for the delay… I had to relieve colleagues in my hospital… No good times…

    – great for the controls !
    – I replaced the vectrexInterface.ini with the june one but nothing changed.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.