MEMBERS LIST (Only those who have no objection to publication)
In response to the demand for a members list, I have decided to print it here. All those who did not wish their addresses to be published, and all those who "forgot" to pay their membership fee for '97, are excluded.
- Arne Nielsen, Chr X's vej 10st, DK-8260 Viby 7, Dänemark
- Dave Fountain, 11 Camel Rd., Silvertown, London E16 2DE, GB
- Guido Schell, Auf dem Stocke 37, D-32584 Löhne, Deutschland
- Johan Koning, Mieden 6, 9866 TM Lutjegast, Holland
- Lothar Ebelshäuser, Graseggerstr. 49, D-50737 Köln, Deutschland
- Manfred Messerschmidt, Wildtaubenweg 64, D-71334 Waiblingen, Deutschland
- Martyn Sherwood (Prism), 13 Rodney Close, Bilton, Rugby CV22 7HJ, Great Britain
- Peter Rennefeld, Genhodder 19, D-41179 Mönchengladbach, Deutschland
- R. P. Roggeveen, Waterlustlaan 87, 2804 KX Gouda, Niederlande
- Ronald Raaijen, Hazepad 5, 8309 AX Tollebeek, Holland
- Thomas Eberle (SUC), Reinäckerstr. 4, D-70794 Filderstadt, Deutschland
- Wolfgang & Monika Haller (SPC), Penningsfelder Weg 98 A, D-51069 Köln, Deutschland
CRACKING WORKSHOP Part 5 - 128K Programs
Yes, it has been a long time since I last dealt with cracking, but since I haven't touched upon the 128K chapter so far, I'll make up for it now. In principle, everything said about the 48K applies here as well, but there are a few very specific aspects. In this part of the Cracking Workshop, I will only deal with the rather minor question of how crackers fit their 128K games/demos into just a few files.
What an aspiring cracker needs to know about the memory layout of the 128K is the following: there are a total of eight memory banks, all of which start at address 49152 and are 16384 bytes long. Two of the banks (2 and 5, or according to my numbering system 18 and 21) are always present (from 16384 and from 32768) and can also be paged in at 49152. The last bank (7 or 23) can be used as an alternative screen, thus enabling effects like interlace or multicolor.
Practically speaking, you have the following memory areas free for programs: 16384–49151 and 49152–65535 in the following banks: 16, 17, 19, 20, 22, and parts of bank 23. All these areas can be used by programs and should, if they are actually used, be saved and packed individually. For specific tricks, you should read Cracking Workshops 1–4. In any case, you should have the main code file starting at address 25000; if the code file starts at 23296 (rare for 128K programs), you must load the code file 23296,1704 somewhere else and copy it back to its original location (with LDIR) when the program starts.
All packed banks are likewise copied to the correct location with LDIR after switching (OUT 32765,Bank:POKE 23388,Bank) and unpacked, all nicely in sequence, even if you have to load some banks from media. By the way, only one bank may reside above 49152, so the correct memory page should be paged in when the whole code part is loaded.
Only at the very end is the main code part with bank 16 loaded, unpacked, and started. If anyone wants to examine this on a demo, this is also how I packed BRAG in the last issue. Well, actually it was only similar, because that demo didn't have a main code part at all. Why don't you analyze the BASIC part! Try loading it in 48K mode.
You can also get Daley Thompsons Supertest 128 and Neverending Story 128 from me if you can prove that you own the original. Both games are packed using this method. The advantage is faster loading times, especially on +D disk, better utilization of directory space on +D, and a few other things.
If you submit 128K programs for SCENE+, please pack them like this if possible; if they aren't, I'll have to do it myself. Very special cases among 128K programs are those long-load files that switch banks on the fly while loading, thus reading the full 128K all at once, but these programs really aren't easy to crack—you have to spend a lot of time rewriting the loader.
Well, that's it for now. Wishing you lots of fun with your 128K cracks/demos,
Tiger's Claw
Test: Pendragon 64
The English manufacturer Rocksoft, who previously stood out from the crowd with character generator software and hardware for the C64 and Spectrum, has released a new interface for the Spectrum. The name of this wonder-device is Pendragon 64, and it only unleashes its full power in combination with a toy called the Nintendo 64.
This month I was sent the first test version and was able to test it thoroughly. My verdict: I am thrilled. What exactly is this 50-pound interface? It contains 8 multiplexers, a 256Kb EPROM, 1 Mb RAM (expandable to 16 Mb with SIMMs), a Z80 DMA, and several other chips. With a ribbon cable connector, the thing plugs into the Nintendo 64 cartridge slot and takes full control over it.
Naturally, the monitor must then be connected to the Nintendo, since the Spectrum screen would only display nonsense—the screen memory is used for input and output addresses.
Inside the EPROM is a fast, powerful extended BASIC that surpasses AMOS on the Amiga in both speed and scope. It is about 50 times faster than AMOS, and after compilation it can be an extra 10–20 times faster. The commands for 3D rendering allow phenomenal things, as the included games prove.
Standard effects include: zooming bitmaps, rotating on and around all axes, deformation, lighting calculation, anti-aliasing, and much more. Unfortunately, Nintendo hasn't documented all effects, but with a bit of patience and experimentation you can figure everything out. I myself figured out the code for the wave effect.
In total, all Sinclair commands are present, plus about 500 extra commands for sound, graphics, and procedures. For example, to rotate a textured cube on the screen, this simple program is enough:
DEFINE FIG 1 AT 40
DEFTEX FIG 1,1 TO 6,AT 410
KAMERA 45,90,90
Rotation: WAIT VBL
ROTATE FIG 1,2,0,0
GOTO Rotation
Beforehand, the texture data must be stored with GET from 4100 onwards, and a cube created with the object editor must be stored from 4000 onwards. However, defining objects via program code is also possible.
Since the analog joystick can also be polled accordingly, games can be controlled with extreme precision using this tool, which is particularly noticeable in the bundled software. Yes, several programs are included, one of which is an enhanced ELITE where you think you're looking at raytraced graphics—you can even land on the planets, and all of that in BASIC! A built-in compiler makes the game even a bit faster; you simply have to see it. The 3D effects in hyperspace are indescribably beautiful, and you can even make out the pilots inside enemy cockpits if you get close enough. Everything runs smoother and looks better than it ever would on a Pentium, even a Pentium II at 300 MHz.
Since the Spectrum's expansion port is pass-through, you can easily connect the +D; the Pendragon's EPROM can work alongside the +D's, as it doesn't shadow the Spectrum's ROM but overlays it dynamically.
As mentioned, the Pendragon comes with one cassette and three disks. The disks contain the two games ELITE +64 and MECHWARRIORS +64, as well as the 3D application SCULPT 5D for real-time animation sequences that come very close to raytracing. The cassette contains cut-down versions that don't have as many textures. That makes sense, of course, because textures take up the most space.
Further games are already in development, including a fantastic role-playing game of which I received a demo; you just have to see the heroes running around this futuristic city shooting aliens, or traveling to other planets on a massive battleship.
The title of this RPG: RETURN OF THE ANCIENTS. Story: The ancient gods return and are not at all pleased with how Earth has developed; without further ado, they decide to unleash a race of bloodthirsty aliens upon us and are thoroughly amused by it. But the hero of the story has figured out what he must do to drive away the gods and their "lapdogs".
The game will be released later this month and will cost around 20 pounds.
Pendragon 64 has been available since 1/4/97 from:
Rocksoft c/o Anthony Rook
Lirpastreet 1/4
Graytown Liverpool HA14 97HA
England
Well, did anyone spot our April Fools' joke in this issue?
Share your thoughts about the article