Categories
Review

tniASM v1.0 Beta

Most people in the MSX scene know what an assembler is, so I won’t go into the explanation of what that does and is.

That being said, a few weeks ago I received an update for tniASM. The updates are for the beta test version of this piece of software, so you have to donate and ask for this software to be able to experience the full force of it.

In the past I used several assemblers to try MSX z80 assembly out. Then I went on a small ASCII MSX-C adventure, created a small game engine, and then realised that I had to use assembly for the most efficient ML code, hence more control.

So I started using the freeware cross-assembler tniASM v0.45 on Windows and I found it really comfortable.  After this I donated for tniASM v1.0 beta and I could start using the full force of this assembler.

Now I am using it for about two years and here is my review of it.

This assembler works in a console environment (like most of them). You use your favourite notepad application and you assemble by typing in the executable with certain parameters(even without parameters), pretty straightforward. You can imagine to also create batch files or in some notepad applications, you can assign a short-key to perform the assembling with parameters and also give the output.

The manual is in an html file, it has most basics about how this assembler works and handles certain elements in its syntax.

This assembler comes with the option to adapt to your own syntax. For instance; you want to use hex numbers as follows: A1h or $A1 then you can use a parameter to let tniASM accept this syntax behaviour, there are also other things, which can be made compatible (even hex number starting with # ;-)). Let’s say you were working in WBASS2 assembler before and want to change to tniASM, then you can still use your syntax and do not need to use the default syntax tniASM uses.

The strongest part of tniASM is its use of macro’s. It goes as far as a point if you use them allot, you can visually create a whole own syntax in your own programming style.
Here is an example of a string program without the use of macro’s:

; for MSX-DOS environment
;
; Instruction Label definitions
%INCLUDE “definitions.asm”

; entry point
  org     100H

; Program code

Main:
  ld       de,STRING1
  ld       c,_STROUT  ; print text string to screen
  call    BDOS

  ld       de,STRING2
  ld       c,_STROUT ; print text string to screen
  call    BDOS

; return to DOS
  ret

; Data
STRING1:
  db     “Hello World! $”,0

STRING2:
  db     “I am talking to myself. $”,0

So, for two lines of strings, you need this amount of code. Now let’s look at a version with a macro:

; for MSX-DOS environment
;
; Instruction Label definitions
%INCLUDE “definitions.asm”

; Macro
%macro _print(%n)
  ld       de, #1
  ld       c,_STROUT
  call    BDOS
%endmacro

; entry point
  org     100H

; Program code

Main:
  _print(STRING1)
  _print(STRING2)

; return to DOS
  ret

; Data
STRING1:
  db     “Hello World! $”,0

STRING2:
  db     “I am talking to myself. $”,0

As you can see, it almost has the same amount of lines, because you need to define the macro’s, but you only need to do that once, after that you only have to type the macro with the label or value (you could also include a locate x,y in there as well) and your string will be printed on screen, so that makes the code allot cleaner.

For me this is a big plus, the strongest point tniASM has to offer.

So, do I have something that is not so good about this assembler?
To be honoust, not really about the assembler itself. It is fast, it has a good error report on where problems arrise when trying to assemble something that is faulty.

Other assemblers do offer some basic example code on how to create a.bin or .rom or .com file, but that is nitpicking.

If you don’t want to program on your MSX or do not want to install JAVA to be able to use a cross-assembler, then this is your best option.

If you have question regarding tniASM, please visit the TNI website, or if you are visiting the MSX fair in Beuningen(Nijmegen) in the Netherlands this February 2019, TNI has a stand there.

Categories
News Review

Review – UMJA the MSX USB Mouse and Joystick adapter

MSX Information Network has tested the MSX USB Mouse and Joystick Adapter, in short UMJA, produced by TMTLOGIC.
There is always a reason to buy one of these handy devices, either you need it to use a graphical interface like SymbOS uses or you want to draw with it in AGE. Let’s get to our review!

 

The facts

The core of the UMJA is a powerful ARM® 32-bit Cortex-M4 210 DMIPS microcontroller. The USB port is a high speed USB 2.0.
It is also possible to upgrade the firmware yourself, with the included male-male USB cable and Windows Software (STmicroelectronics DfuSe Demo 3.0.5).

The Umja is not only to be used with PS/2 compatible mice, but also for a several types of USB HID mice.
(Source: TMTLOGIC website)

 

First impression

At first this device looks well constructed and has good firm connectors and plug with cable, they also provide a male-male USB 2.0 cable. Their website gives you the basics and what it can do and how it basically works.

 

Pro’s

  • There is allot of good things to say about it. The joystick-port makes sure you keep the functionality of the joystick, plus it keeps you from plugging and unplugging your joystick too much, which is always bad for the durability of your original joy-port pins.
  • The casing is made of a nice sturdy plastic and transparent with a gloss printed label on it. The connector cable that comes out of the back is long enough to position your UMJA anyway you like to.
  • Once you have your mouse connected, you can change to speed with the middle mouse button, the sensitivity is always 200dpi though.
  • The price is right, it isn’t something that is worth 100 euros, but 35 is a good value for it. Plus you get a small wireless mouse with your device that works 100% with UMJA.

 

Cons

  • Like with everything, it also has some points that could be improved in the future.
  • The upgrade sofware isn’t included on a DVD or small pendrive, you need to download it here
  • They do not mention which PS2/USB mice they tested to 100% work with it.
  • The power on/off function seems very cheap, if your nails are too thick or your finger aren’t small enough, you need a pen to press the switch, the left-mouse power switch doesn’t always work.

 

The verdict

For 35 euro’s it is well worth it, it does what you want when using a mouse on MSX. The mouse resolution of 200dpi is enough for your MSX screen resolution to properly work and feel smooth.
The fact that you are not sure if a certain PS2/USB mouse works with your UMJA, makes this a uncertain buy, if you don’t want to use the small wireless mouse they provide with the device.

Be aware which version to order. There is a Turbo-R version and a regular version. The only difference is the connector. The connector of a regular version doesn’t fit the Panasonic Turbo-R and MSX2+ (because of the construction of the Turbo-R’s and MSX2+ Panasonic joystick ports), if you question if your MSX has room for the regular version, choose the Turbo-R version, then you know for certain it fits.

Special Offer!!!

In association with TMTLOGIC and MSX-Shop.nl we can offer a € 3,- refund on all orders of the UMJA placed between Februari 23th and March 31th 2018.
Just order your UMJA at this link : http://www.msx-shop.nl/product-categorie/hardware-modules/ and mention this deal in the ‘Order Notes’, you will get a € 3,- refund.

 

Erik and George