Group

HARD Software

Also known as

  • HARD
  • HARD Soft

HARD (a.k.a. HARD SOFT or HARD Software) is a Hungarian Atari XL/XE demo group founded by Sandor Teli and Farkas Felker in 1991 with Tamas Bene joining HARD soon after, before the release of their first demo disk under the HARD name.

Beginnings

Sandor and Farkas became friends in elementary school at the age of 10 (cca. 1986). Sandor had a Hungarian Primo A64 computer at the time which they used mainly for recording and fine tuning digitized music from its datasette. (as it required no extra hardware to do so)

Later Farkas and other classmates got C64s and Sandor got an Atari 800XL with an 1010 datasette (cca. 1988).

It quickly became clear that the Atari's software library or popularity was no match to that of the C64. The Atari wasn't even known in Hungary. It was all (software, books, ads, etc...) about Commodore and ZX Spectrum machines. It led to an isolated feeling for Sandor and he developed an urge to prove that the Atari could do fancy stuff seen and heard on the C64.

Sandor learned using the various graphics modes, DLISTs and the POKEY from BASIC via pretty much trial and error as the only Atari book he had was in German and he didn't/doesn't speak German. Both Farkas and Sandor started learning to code in 6502 assembly from a C64 related book Farkas had at the time. When it came to the more interesting stuff like graphics/sprites and music, it was the same story again: Not relevant to the Atari.

Sandor developed his own set of tools in Turbo Basic. Amongst other tools, there was a graphics editor with no UI/dashboard operated entirely via shortcuts. That's the editor Sandor kept using for drawing logos and other graphics for all their demo disks. Not having a solid understanding of bits and hexadecimal numbers, he also developed monitor program in Turbo Basic that used decimal numbers instead of hexadecimal. After writing a few raster bar and scroll effects in that monitor program the concept of bits clicked in his head all of a sudden (after studying a drawing in the mentioned C64 assembly book that used different sized balloons as an example). From that point on it all took off. He dropped the self-written monitor program and started using a real one, loaded from cassette each time.

After grasping the basics of coding in Assembly and having some understanding of the POKEY already - continuing where they left off on the Primo - they wanted to play digitized sounds on the Atari. Unfortunately it wasn't possible to record such sounds via the Atari datasette. That's when the C64 came into the picture again. There were programs on it doing nothing else, but playing such sounds. There was a major problem though: No way to transfer data from the C64 to the Atari.

To resolve the data transfer issue, they first disassembled Farkas' grandma's doorbell to get their hands on the relay in it so that they can use it to transfer bits (on/off) between the ports of the C64 and the 800XL. They tested it via transferring a hi-res bitmap. After having some more-or-less successful tests, it was never accurate enough and started drifting left or right line by line for no apparent reason. They quickly realized that accurate timing will need more than a one-bit-wire and that the relay is just too slow anyways (it also got stuck every now and then).

After a eureka moment during a long walk, they ditched the relay and connected the C64 directly to the Atari via the Atari's Joystick port. They wrote the Assembly transfer code on both computers and it was working perfectly and pretty fast.

The next step in the evolution of their transfer software came after Sandor got a Turbo mod built into the 1010 by some guy in Hungary. Farkas then wrote their own C64 turbo program that could load and save files via the Commodore datasette in their own format. Sandor wrote the counterpart of the software on the Atari. From that point on they could load and save files directly on both machines in the same format.

They gave themselves the HARD name in the process, when they started becoming skilled in coding in assembly and drawing logos. Sandor kept experimenting with composing POKEY music, but he was always put off by the poor sound compared to the C64. Especially the bass line that was cold and metallic on the POKEY, almost always lacking portamentos. In the meantime he got an Atari 1050 disk drive (cca. 1991) and started writing music in Benjy's Sound Monitor.

Around the same time they met a guy (a few years their senior) at someone else's house where they went to swap Atari software (games / demos / tools, whatever they could get). He turned out to be Tamas Bene and they quickly realized they share the same passion. He became the third, crucial part of HARD.

As Sandor kept accumulating HARD logos and graphics he drew and his own material written in Benjy (with the bass sounds he never liked), he had an idea to bring better bass lines with portamentos to the Atari: Playing tunes written in SID trackers via the POKEY. This sounded like science-fiction at the time and it seemed like a laughable idea. ...until it worked.

Farkas relocated the tunes to the desired memory location and altered the code to write to an alternative memory location instead of the SID (since $d400 wouldn't work on the Atari). This was no easy task back in 1991. No internet, no books, no tools for something like this. It was all manual work using nothing else but a monitor program. After the first tune was transferred to the Atari, Sandor wrote a proof-of-concept emulator/player in Turbo Basic. It multiplexed two channels into one, so that he could use two 16-bit channels to cover the SID's resolution. It had much better bass than POKEY tracker music and the other HARD members finally believed it was a workable approach. The next phase was to do the player code in assembly and to use 3 channels. Tamas was a very knowledgable guy and he quickly wrote the multiplication/division code that Sandor needed to develop the 1st version of the assembly player. The first/most versions of the player HARD used consumed a lot of CPU time. They optimized / customized it as needed, depending on the needs of the demo part. The player got refined/customized for each piece of music. (15KHz vs 64KHz, 8-bit channels vs 16-bit channels; custom ADSR emulation to make it sound the best for each tune; etc...) Sometimes Farkas also had to keep swapping SID channels during the music playback to keep the bass / lead / etc... on the same SID channel as the SID's channels were equivalent for most uses, but the POKEY setup was fixed, therefore tunes that kept swapping the role of the SID channels were very challenging to straighten out manually with a monitor program.

Major Releases

Veronika, 1992

Once the metallic POKEY bass was out of the way and Sandor drew some logos/gfx (like the synthesizers, member faces, etc...) in his editor and also transferred a few logos and fonts from the C64, adding a few scrollers and raster bars were enough to make something that was appealing enough for a release on the Atari. The first tune they emulated in assembly was the Hollywood Poker Pro title tune by Chris Huelsbeck. They transferred the dancing girl data to the Atari, but they didn't yet get the idea of reworking C64 graphics routines to work on the Atari, so Sandor wrote his (probably 1st non-scroller / non-rasterbar) code that made the girl dance on the Atari. It was also re-choreographed as he didn't know/recognize how that bit was stored on the C64. This code turned out to be pretty low performance, but good enough to do the job at a basic level.
Tamas made the loader complete with on-the-fly encryption and he put all the parts together on a disk in a workable, releasable way. Unlike Farkas and Sandor, he knew the ins and outs of the Atari OS/ROM functions like SIO by heart.

Cool Emotion, 1993

The second HARD release brought in a lot more logos/gfx made by HARD and lot less transferred from the C64.
There was however a new element transferred from the C64: Gfx routines, like the plotter. These wouldn't have worked straight on the Atari, so they had to be adjusted for the Atari's hardware. Sometimes it was easier, sometimes it was challenging. Work like this often required Tamas' knowledge.
These reworked C64 routines were mixed with HARD's own creations like the chessboard by Tamas, the sprite oscilloscope and the bubble-scroller by Sandor and a few others.
Tamas brought in something very new and interesting into this release: His SIO loader that left two POKEY channels free to use for music.
There was one issue: Sandor and Farkas couldn't find C64 tunes that sounded good enough on two POKEY channels.
The Cool Emotion loader marks the 1st time Sandor used his own Benjy's Sound Monitor compositions in a release. (having no choice, but to use the POKEY bass he tried to avoid the whole time)

Joyride, 1995

By the time HARD did Joyride, they got more skilled in all areas that takes making a demo. Therefore they used a lot more of their own graphics (the vast majority or all the logos were Sandor's creations this time), music (loader tunes, plotter tune, info/morph tune were Sandor's Benjy compositions; Joyride title tune was Sandor's own SID tracker tune - more on this in the Trivia section below) and routines (plot tunnel by Tamas and Sandor; sprite dycper by Sandor; landscape plotter by Sandor; very colorful plasma by Sandor - the source of the HIP graphics mode; twirl by Sandor; multi-level chessboard by Tamas; shadow-laser effect by Sandor; etc...) along with some reworked C64 routines still and the emulated SID tunes from other composers.
Joyride used Tamas' SIO loader that played Sandor's Benjy/POKEY tunes (metallic POKEY bass - again) and displayed a reworked C64 starfield routine in the meantime.

REHARDEN, 2017

In 2015 Heaven/TQA contacted Sandor and kept sending him teasers about his work in progress including fixed up versions of Sandor's and Tamas' old unreleased HARD code that Tamas had shared with him previously. Later Tamas sent Sandor a backup of Sandor's own Benjy work disk full of Sandor's old compositions (some of which you already know from Joyride) and work-in-progress tunes. Sandor started to get sentimental over his years in HARD, but had no plans to code anything as he thought he had lost most of his Atari coding skills since the early nineties and that he wouldn't be able to pick it all up again in the little spare time he had.
The final blow to his resistance came when he accidentally ran into Wieczor/Lamers in the kitchen at work in October 2016 and they started talking about demos. From this point on Wieczor kept suggesting Sandor that he creates a new demo and shared YouTube links of new Lamers demos with him as teasers. Sandor was very impressed with the new demos and tools and after a short while he started seeing some still unresolved challenges in demos (the bass situation was still not resolved to his satisfaction for example) so that he created engines for a minimalistic bass soft synth and a new generic graphics mode using the Altirra emulator. To try if this all worked on a real machine, he got himself an Atari XE in November 2016.
Wieczor and his Silly Venture organizer friend Grey then got Sandor to record a greetings video for the upcoming Silly Venture 2016 event.
Although the engines worked on the real Atari, the picture quality was very bad on the LCD TVs Sandor had at the time and it took until about August 2017 for Sandor to get the screens he was happy with (Sony PVMs and other old professional CRT monitors). From that point on he spent most of his spare time coding the new tools for the engines and the new demo that would showcase them to the public.

22 years after releasing Joyride, Sandor released his new demo "REHARDEN" under the name "Sandor / HARD".
He didn't look into 6502 code since 1996, therefore this was a major undertaking for him.
The demo introduces a new graphics mode called HCM and a new bass soft-synth called HARDBASS.
According to Sandor this marks the end of his constant struggle with the POKEY bass sound.
He composed the REHARDEN tune in RMT and his experimental HARDBASS tracker for Android.
REHARDEN was meant to be the carrier of the new technology he had developed for others to use, rather than just a new demo release.
For that reason the demo is organized around extensive scroll text detailing the key capabilities of HCM and HARDBASS.
Sandor also released the full source code of the demo and the HCM / HARDBASS tools so that other developers can use / improve these.

https://bitbucket.org/sandor-hard/

Trivia

  • The "Far away from reality" text on the Joyride title screen is Sandor's mom's handwriting. They got her practice it a number of times before they picked the one that looked nicest.

  • The title Joyride tune was made by Sandor in a SID tracker on the C64 (the non-digi sounds) because he felt a Benjy's Sound Monitor version wouldn't be strong enough to be a title tune. He emulated the tune on the Atari his usual way and made a throwaway digi-tracker to create the digitized sound channel.

  • The HARD logo (in Joyride) made out of people was actually made out of real photographs taken by the HARD members of each other in pairs

  • The Joyride sprite-dycper made by Sandor that played over the Amiga juggler animation was the 1st Atari XL/XE sprite dycper

  • Tamas discovered a bug on Sandor's Joyride plasma screen: The plasma was off by one Antic E pixel compared to the rest of the gfx and asked Sandor to align the rest of the screen contents to the plasma before he puts the disk together for release. Sandor insisted that he didn't make an error, but indeed, the screen was misaligned. This turned out to be a GTIA bug / undocumented behavior that they decided to utilize to create a new graphics mode they called HIP.

  • HARD never got to release a demo with a HIP picture, yet it became their longest lasting legacy to date with a multitude of productions using the format and its sub-formats (RIP/TIP/etc...)

  • During the development of the Joyride info/morph part Sandor noticed that the split-mode screen was falling apart after some run time. Farkas suggested that they open the Atari and direct a desktop fan into it as it was a very hot summer day. It worked and the missing split GTIA mode started to come back quickly. It marked the end of Sandor's original 800XL and he had to get a new one with Tamas' help to finish his Joyride works.

  • Sandor developed a 256 color version of the Joyride Twirl screen capable of a wave/water effect that never got released

  • Tamas developed and used a fully-blown monitor program called MONITOM that (amongst other rich features) had full support for "illegal" opcodes

  • Sandor used an "illegal" opcode in the Joyride landscape part that made the demo unworkable on some early emulators and CPU mods

  • Tamas developed a Wolfenstein engine that HARD never released - it got released in 2015 by Desire

  • Sandor developed a spinning Torus that HARD never released - it got released in 2015 by Desire

  • Sandor kept pressing on the reset button during some sensitive parts of the Joyride development that resulted in loss of work multiple times, therefore Farkas sellotaped a flat piece of lego over the button so that Sandor couldn't accidentally press it by instinct - that worked!

Productions

Atari 8 bit - Demo
HARD Software Dec 2017
Atari 8 bit - Intro
Desire and HARD Software Aug 2015
Atari 8 bit - Intro
Desire and HARD Software Jul 2015
Atari 8 bit - Demo
Desire and HARD Jun 2015
Atari 8 bit - Demo
HARD Software Aug 1995
Atari 8 bit - Demo
HARD Software Jan 1993
Atari 8 bit - Intro
HARD Software 1993
Atari 8 bit - Demo
HARD Software 1992
Atari 8 bit - Game
HARD Software 1992

Last edited on 13 Jan 2018 by ltk_tscc. See all edits