Jump to content
IGNORED

Turgen System 8.8.x Adventures


baktra

Recommended Posts

18 hours ago, baktra said:

How was your personal experience with JavaFX? Is it much better than Swing or SWT?

depends I made a small application not like yours which is big. It is totally different from Swing and SWT, although the concept is the same. The grace of JAVAFX that allows you to use html5 features in the application so you can use ccs effects, oval buttons, etc.. you can see the application I made is below this article.

 

2 hours ago, baktra said:

The refactoring is done, bugs and missing support for NHP 3.6 Rainbow in the Wizard is also there. SITRE is almost complete.

 

When I am done with SITRE  I will take a deep breath and see what else I can 'export to Chile'.  I have also two todo 'export articles' for Poland: Turbo 2600 and Turbo Rapider.

 

As for the i18n. It is 17 years behind the development. The only viable way of doing that seems to be an iterative approach. With each version, make one or two dialogs translatable and provide the English translation. Other translations will be up to the volunteers: "Here is your .properties file and make yourself useful". I did not make my mind about i18n yet. Still trying to weight its business value.

calm is not something urgent, let's go step by step if you have something easier to implement part for that.

 

if you don't want to use i18n you can use configuration files by loading system, I can help you with the translation for Chileans since I know them well.😉

Link to comment
Share on other sites

3 hours ago, baktra said:

I am walking the streets of Madrid now, it would have been a good opportunity to practice my Spanish, if I knew it. Yet Chilean Spanish is not exactly the same as Spanish Spanish anyway...

then have a good time 😎, I remember that the chargers have a Spanish without Chilean idioms. 😉

Link to comment
Share on other sites

If there will be no drastic change in the voting, the next release will be still JDK 8 (finalizing infrastructure for the Standard Plus plugin + SITRE). After that, TURGEN will go modular and at least JDK 9. Looking forward to new language features and APIs.

  • Like 3
Link to comment
Share on other sites

The SITRE support is taking shape (with the most recent commits)

  • The default speed for SITRE is now 760 bps
  • You can enable SITRE in the Wizard and use it through the Wizard
  • The 'Check loader' button works for SITRE
  • The Standard Plus panel remembers the last selected conversion type across sessions (other plugins will get this capability too, where reasonable)
  • The Chilean flag is there

There can be some rough edges, but most of the work is done.

 

sitre1.png.af98caf3a8ae1e1e47b5ce41f85b662a.png

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

55 minutes ago, baktra said:

The SITRE support is taking shape

If the "silence list" has the block numbers where to insert a gap, is that being computed from the input XEX file or must you type the list when required?

 

What are "Check loader" and "Auto set" buttons for?

 

Link to comment
Share on other sites

37 minutes ago, vitoco said:

If the "silence list" has the block numbers where to insert a gap, is that being computed from the input XEX file or must you type the list when required?

 

What are "Check loader" and "Auto set" buttons for?

 

The silence list holds the durations of the neutral signal after blocks that hold INIT segments.

 

If you specify "2,0,1.5" then there will be:

  • 2 seconds of neutral signal after the block that holds the 1st INIT segment
  • 0 seconds of neutral signal after the block that holds the 2nd INIT segment
  • 1.5 seconds of neutral signal after the block that holds the 3rd INIT segment.

No neutral signal after blocks that hold 4th and consequent INIT segments.

You can click the "S" button to automatically populate the silence list with the default value.

 

The "Check loader" button will analyze the segments of the input binary file and tell you if the binary file will destroy the selected binary loader. This is not 100 % reliable, especially for files that have some INIT segments.

The "Auto set" button will populate the options in the panel automatically. In case of SITRE, it is the program name only.

 

Note that the plugin takes the values in the silence list only as a clue. For example, for all standard SIO tape records, the minimum duration of the neutral signal is 2.4 seconds, even though you specify 1.0. On the other hand, the PWM-based turbo system honor the values precisely.

 

 

Edited by baktra
Link to comment
Share on other sites

8 minutes ago, baktra said:

The "Check loader" button will analyze the segments of the input binary file and tell you if the binary file will destroy the selected binary loader. This is not 100 % reliable, especially for files that have some INIT segments.

On 4/24/2023 at 2:43 PM, vitoco said:

SITRE loader runs in page 7 and 8 (with some data at page 6 that can be wipped out by the XEX being loaded), and the data buffer is in page 8-9.

SITRE requires $700-$9AB to be "protected" from the XEX. $600 to $6FF has the spash screen, but can be wipped out without problem and replaced by a splash screeen or any other code from the game.

 

24 minutes ago, baktra said:

The silence list holds the durations of the neutral signal after blocks that hold INIT segments.

One of the features of SITRE copier was that the list was computed automatically after analyzing the loaded XEX, and it could be great that TURGEN creates the list after loading the XEX. If it is done by pressing the "S" button, I suggest to do it "automagically" because nobody would remember to press it or enter the values by hand.

 

45 minutes ago, baktra said:

Note that the plugin takes the values in the silence list only as a clue. For example, for all standard SIO tape records, the minimum duration of the neutral signal is 2.4 seconds, even though you specify 1.0. On the other hand, the PWM-based turbo system honor the values precisely.

The duration of the gap is not standard in SITRE but it depends on the number of INIT blocks in the previous segment. It is easy to check where and how long are they because the segment size is 256 bytes of XEX data, but that must be translated into your list format because two inits in the same segment should be translated to a 2 (or a 0 and then a 2?) instead of two succesive 1 (I guess!). Also, the transfer speed of SITRE for XEX blocks is 772.

 

BTW, in the 80's, the so called "pitos lentos" in some copiers were just the amount of bytes/blocks to be recorded with regular long gaps and the remaining of the game was with short ones, but it could be a mess if there are INIT blocks in the middle or near the end of the XEX, and they were calculated by trial and error and written in a paper to remember them.

 

Oh... If IIRC, NHP and/or other copiers add some trailing bytes at the end of the XEX in order to check for EOF at load time, $FEFE I guess. SITRE does not need those trailing bytes as the total number of blocks and the data size on each block are specified.

 

Link to comment
Share on other sites

2 hours ago, vitoco said:

SITRE requires $700-$9AB to be "protected" from the XEX. $600 to $6FF has the spash screen, but can be wipped out without problem and replaced by a splash screeen or any other code from the game.

 

One of the features of SITRE copier was that the list was computed automatically after analyzing the loaded XEX, and it could be great that TURGEN creates the list after loading the XEX. If it is done by pressing the "S" button, I suggest to do it "automagically" because nobody would remember to press it or enter the values by hand.

 

The memory usage of the SITRE loader is taken into account when you press the 'Check loader' button. The same is for NHP too.

 

The neutral signal actually is generated automagically; you don't need a silence list. The plugin honors the silence list if it exists, but always ensures there is a minimum 2650 milliseconds of the neutral signal after each block with INIT segment. If there are multiple INIT vectors in one block, the duration of the neutral signal is cumulated by default. 

  • Like 1
Link to comment
Share on other sites

Time to think about the next version.

  • The minimum JDK required will be JDK 9 (done)
  • Will fix bugs reported for TURGEN 9.1.5. (none reported so far)
  • The 'turbo' mode of the GENCAS CLI will be renamed to 'full' mode; it is because in this mode, you can create both standard and turbo tapes anyway (done)
  • GENCAS CLI will get the -a option finally implemented. This allows appending to an existing tape image. No FUJI chunks are appended (done)
  • Plugin Manager - This will provide a simple GUI for reordering and enabling/disabling the plugins. You can do these things now using the plugins.list file, but that's not too convenient. (ideation in progress)
  • Perhaps some new systems from Poland, Chile or elsewhere. Turbo 2600, Turbo Rapider, STAC, SIECOD? Who knows? (not started)

 

Did you know that with 9.1.5, you can create, for example, SITRE tapes from the command line as follows?

gencas.exe -mode:turbo "-conv:Standard Plus SITRE" test16k.xex 

With latest commits of 9.2.0-dev, the syntax is slightly different:

gencas.exe -mode:full "-conv:Standard Plus SITRE" test16k.xex 

 

  • Like 2
Link to comment
Share on other sites

4 hours ago, baktra said:
  • Perhaps some new systems from Poland, Chile or elsewhere. Turbo 2600, Turbo Rapider, STAC, SIECOD? Who knows? (not started)

I have already asked a friend for the sources so that you can implement the NHP INJEKTOR which is at 3995 baud. As far as I remember it is similar to NHP 3.6 in the memory zones.😅

 

Link to comment
Share on other sites

4 hours ago, ascrnet said:

I have already asked a friend for the sources so that you can implement the NHP INJEKTOR which is at 3995 baud. As far as I remember it is similar to NHP 3.6 in the memory zones.😅

 

Is it this Injektor? If so, it will be a challenge. There is no emulator supporting it and no support in the .cas format. Still doable, though. I believe there is also a decoder that can decode wav files in this format.

  • Like 1
Link to comment
Share on other sites

20 hours ago, baktra said:

Is it this Injektor? If so, it will be a challenge. There is no emulator supporting it and no support in the .cas format. Still doable, though. I believe there is also a decoder that can decode wav files in this format.

Yes, but there is a detail the original at 4000 baud there is no support yet, but the one I propose works in altirra I share an example. 😄

Nhp Injektor 6.0.cas

Link to comment
Share on other sites

6 hours ago, ascrnet said:

Yes, but there is a detail the original at 4000 baud there is no support yet, but the one I propose works in altirra I share an example. 😄

Nhp Injektor 6.0.cas 5 kB · 0 downloads

The baud rate is beyond hardware capabilities (1400 bps) of any non-modified Atari data recorder. So what is going on here? 

Link to comment
Share on other sites

11 hours ago, baktra said:

The baud rate is beyond hardware capabilities (1400 bps) of any non-modified Atari data recorder. So what is going on here? 

in my opinion this version skips the hardware verification, as the emulator takes it as a .cas with higher speed. 😅

Link to comment
Share on other sites

Early adopters, I recommend you get the turgen.jar from the most recent commits.

  • The plugin management is now fully functional.
  • You can reorder and disable/enable plugins to your liking. You can move more plugins at once.
  • Do not forget that the changes will take effect only after you restart TURGEN. This limitation reduces the complexity of the implementation.
  • The "Ignore all turbo plugins" option is gone, as it is obsolete
  • Overriding the plugins.list file doesn't work anymore, as it is obsolete
  • If you change the plugin settings, In the .turgen_9.0.0 configuration directory, you will find a new plugins.conf file. Explore it.
  • The GENCAS CLI is not affected by the plugin management. All plugins are always available.

What happens when you disable all plugins and restart TURGEN? Will TURGEN go to oblivion?

In this situation, TURGEN will include a hidden “Dummy” plugin that does nothing, but allows TURGEN to function.

 

  • Like 2
Link to comment
Share on other sites

The development is going well. I have heavily simplified the 'Manage Plugins' function and fixed several related bugs.

I will wait for some time until the 'dust settles' after 9.1.5 and go on with release 9.2.0 later. Those of you who are impatient, you can always get what you need from the GIT repository.

  • Like 2
Link to comment
Share on other sites

I have found a nasty bug in 9.1.5. Whenever you save a Turbo 2000 or Super Turbo project item to a project file and then load the project, the transfer speed of the project item will be set to 600 baud (which is nonsensical).

Therefore, there is a hotfix release 9.1.6

I have also realized that the number of downloads of the fullpack installation packages is not negligible. Since 9.2.0, the fullpacks will always be released. On one hand, some disk space is wasted, on the other hand, there are no headaches caused by multiple public JREs and JDKs in one system.

  • Like 2
Link to comment
Share on other sites

This are just random thoughts

 

I am preparing some collateral items for the 9.2.0. For example, keeping the Beginner's guide up-to-date with the most recent changes in the GUI.

 

Since the JDK 9 is now a requirement, I have to change the documented System requirements, and also all links to the Java downloads. All links to the traditional Java for your computer page from Oracle does not help much as it is version 8. Besides, the warning about the licensing is somewhat scary too.

It is tough to be smart in this case. After some contemplation, I decided to link to the Eclipse Adoptium project. Their download page is almost a friendly one.

 

The TURGEN's website will need some subtle updates too. To be honest, running WordPress on SourceForge's web servers is not the best experience. The restrictions are tough and many things like automatic WordPress updates simply do not work. I still believe using a CMS is better than coding the pages directly. Saved me a lot of headaches.

 

Since there is a lot of 'administrative overhead', I will not include any new tape loading systems in 9.2.0 and focus on the infrastructure work. The most valuable enhancement, a convenient plugin management, is already there.

 

I also realized that TURGEN is missing a good automated regression test suite. Some portions of the product can be tested from the batch interface. That could be automated easily. However, some functionality is a typical GUI work and in that case, I would be programming a robotized user, clicking and using keyboard using a framework like Jemmy. Almost Impossible for a project that is a typical one-man show. No, no, no.

 

The XEX2CAS project deserves one more release. There are important changes in the GIT repository (using the TSCBL binary loader instead of the older STDBLOAD 2a), but no binaries. I will need to do something about it.

 

Speaking of XEX2CAS, you can see that in its successor named GENCAS, I show no mercy for the ! (Exclamation Mark) binary loader. I understand the loader is very traditional, but it is a terrible piece of software too. I believe the TSCBL is a great and open source replacement, and we will make do without the Exclamation mark loader. One is wondering what was the fate of the authors (Nudmehi Software).

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...