Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

780 Excellent

About baktra

  • Rank

Contact / Social Media

Profile Information

  • Gender
  • Location
    Prague, Czech republic

Recent Profile Visitors

15,099 profile views
  1. There is a page with closely matching fonts to download. https://atariage.com/2600/archives/AtariFonts/index.html?SystemID=5200
  2. In the meantime (waiting for loaders and Super Packer), I made significant progress on the xex2cas face of Turgen System. Some of that work was a background work - better decoupling of the signal generators from the GUI part, some was on the command line and distribution. I already have working xex2cas.exe that calls TS behind the scenes. Its is not finished, of course, but simple commands like xex2cas file.xex file.cas already work as expected.
  3. A nasty thought about the complexity of the '.cfg' files. Imagine that you would need to do the same with let us say GNU Linker - placing data to absolute addresses, aligning segments to 1-KB boundaries, placing variables to precisely defined memory areas, including one ELF file in another (when you include e.g. RMT music), bank-switching ROMs, compiling to RAM, but storing in ROM. Your build script would be flooded with very complex command lines too.
  4. You were reading my mind. Turgen and XEX2CAS can detect the compression types and choose one of these loaders automatically.
  5. I am happy to report that the latest commit has the aPlib decompression working. This time, I copy pasted the C source code to a .java file and kept roasting until a Java appeared. A credit to the author of the C library, who encapsulated the decompression state in a struct.
  6. Two observations: 1. Both X loader and X Hybrid loader do need at least 2 seconds of pilot tone after blocks that hold INIT segments. From TS perspective, if you do not specify a silence list, 2.5 seconds pilot tone is added automatically, which should be enough. Only be careful when specifying the silence list explicitly. TSCBL needs these two seconds too, so it is expected behavior. 2. I am waiting for new Super Packer and X Hybrid loader. Whatever I pack with LZ4 SE with Super Packer 6.8, is not loaded by the X Hybrid loader. I will re-view my process, though. In the meantime, I will work on the remaining compression type and test with real HW using these MP3s. Landscape_X_Compressed.mp3 - Hybrid binary file loaded by the X hybrid loader. Swapz_X.mp3 - Standard binary file loaded by the 1-block X loader.
  7. The latest commit expands support for the ZX0 compression in the HBLs. So now I have LZ4 SE and ZX0. Reminds me of the good times at university, when I had to go through the X36KOD course. Passed in 1st enrollment, 2nd exam try, by the way. APLIB is yet one to go, so I have to steal the decompression routine and rewrite to Java. This shows one unfortunate weakness of the HBLs - to just skip a compressed segment, you have apply the decompression algorithm - at least to pass through. But the algorithms are available, so it is something I can live with. The Conversion of HBLs is available from the user interface. Pilot signal is properly elongated after blocks that hold INIT segments. Unsupported compression type is reported, when encountered. The complexities of the HBLs made me start thinking about the future of my xex2cas utility as it is. The idea of duplicating the code in XEX2CAS is nothing I would be fond of. So, I am contemplating a radical idea. Scrap xex2cas as a standalone project, but create a new command line "face" for Turgen System. The new face would be shipped as xex2cas.exe, accepting the same command line parameters as the deceased xex2cas, but calling TS under the cover. Yes, it will require Java, but Java is well-established, mature and available. And except the platform-specific wrappers, all with one .jar file for major PC operating systems.
  8. baktra

    Turgen Helpers

    Screenshots of Turgen System
  9. I can report vast improvements in processing of the Hybrid binary load files. 1. The Wizard for Files and Batch Processor reject HBLs politely when not supported by the underlying conversions 2. When a specific conversion doesn't support HBL, you will get a good message "Compressed segments not supported by the selected function" instead of misleading "Segment with negative size found" 3. The "Check loader" function provides better messaging in general. It had to be touched because of the compressed segments anyway. A weekend is coming, so I will perform some tests with real hardware and report back.
  10. I have committed initial support for Hybrid Binary Load (HBLs) files for Turgen System. What works? 1. The binary load file parser tolerates files with compressed segments - LZ4 only, for now. If I can be sent a zip file with sample HBLs, I will be happy. I can create my own, using Super Packer. 2. The File Statistics Dialog, Tape Image Extractor and Automatic Silence List generators accept HBLs always. That is desired. Compressed segments are reported as CDATA. How it works? The parser just wanders through the compressed data and determines where it ends (to see where the next segment begins). No real decompression takes place. It is not needed anyway. What requires additional efforts. The Wizard and Batch Processor (BP) accept HBLs when creating playlist items (even though the given plugin/convertor has no support for them). HBLs are rejected later during attempts to create output. This will change in the future and the Wizard and BP will check for HBL support first. Should you celebrate? Not yet. 1. The only plugin that will truly support HBLs will be the Standard plugin, through the xxl's loader. I don't think the PWM-based turbo system will ever receive their loaders, but one never knows. 2. Support for HBLs hasn't been thoroughly tested. If you are not adventurous, wait for official TS release.
  11. That's what happens, when one is blind. LZ4 Decompression in Free Pascal is already here for many months. I will take it and rewrite to Java, so Turgen will understand the hybrid binary files. Duh.
  12. Only as an 'if there is really time to spare' option. The restrictions make the loader to be a misfit for the product. I was thinking how to incorporate even such loaders without making mess of the Standard Plugin. The best way would seem to be a standalone plugin (Standard Extreme, for example) that would allow such conversions.
  13. Of course. I will wait with official release for the finalized loader. Git is something else. And the loader is finalized when you say so :-), not sooner.
  14. I have a temptation to take the NHP loader source code from github, cannibalize it and assimilate into TS. 1. It has all what a good cassette binary loader should have - longer blocks, proper support for INIT segments doing MOTOR OFF/ON and it is not located in RAM under ROM. 2. It has something that is not that much needed - custom screen and messages and countdown. Countdown is lovely as an option, though. @xxl Any ides for the name of the 1-block loader? The 'X' loader for example?
  15. You do indeed. Atari and e.g. C64 do not have traditional Audio IN to read data from like the ZX Spectrum, so you need one of the following: A Cassette adapter inserted to your Atari data recorder. Either wired or with bluetooth. The easiest way. Showcase here. Interface to connect an ordinary cassette recorder. Schematics were published in 1980s magazines. Standard tape records only. Bum Box, a recent production from Zaxxon. Supports standard tape records and selected turbo systems. CD-Link. Supports only certain turbo systems, not standard tape records.
  • Create New...