-
Content Count
524 -
Joined
-
Last visited
-
Days Won
2
Posts posted by playsoft
-
-
Having recently come back to the 8-bit I was thinking how nice it would be to use a modern controller with lots of buttons.
Would it be feasible to develop an adapter which allowed an existing multi button joypad to be connected to two joystick ports?
The d-pad and one button would go to port 1 for compatibility with existing software. The other buttons go to port 2, which can be made use of by new software.
-
Still waiting here as well. Have almost given up.
Me too.
-
Whenever I pause that video the player is always in front of the / and \ bars!
-
How would we get on A8 (Hardware Priors cannot get it) when the guy enter those Bars and it's suspended (see on the video at about 0:40) where he is at the some time above the 'backs' gfxs but 'masked by some of the Metalic Bars:
In the PM graphics data, the frames for swinging from the bars could have those horizontal sections left blank (and hence transparent), that way the bars would appear to be in front.
That might be how it's done above, since it's only the horizontal bar which appears in front - the vertical bar supports appear behind the player.
-
I have vague memories of the TCR stores as I'd only visit a few times a year with my uncle. I'd forgotten Mike's Computer Store and Pilot Software but they ring bells now. I do remember on one such trip going to Pizzahut for the very first time - they must have been fairly new to the UK back then. We were hungry and both ordered large pizzas - the waitress asked if we were sure we both wanted large but we said yes, we were hungry. Suffice to say there was a lot of pizza left over.
We'd also occasionally visit Southend for the arcades, the scalextric shop and a look in Maplins on the way home. I think that's where I saw the A8 for the first time and where I ended up buying my 400. When I could afford a disk drive I thought I'd try the local Dixons instead of TCR or Southend. I remember asking the assistant if they sold disk drives for the Atari computers and his exact words were "A disk what?".
-
If I can remember how after all these years (some is familiar...) then I aim to write something this year. I did have the seed of an idea but I am not sure where I am going with it next. The demo is very basic and completely pointless, use the joystick to enclose an area and it will fill with red. Scrolls at half speed by default, press the trigger to toggle between full speed scrolling.
- Paul
-
1
-
-
Glad the information was useful!
I've started a new web page containing everything in the first post and a new option of running in a pop-up window:
http://playsoft.co.uk/atari_index.html
When I get around to building the Air version it will also be available from here.
-Paul
-
Nice to see you on here Paul, Spent many a happy hour typing in and playing some of your games in P6/NAU
Thanks NuY, I had a lot of fun learning to program on the 8-bit and it was always great when Les would publish something. A chance visit here a couple of months ago and I was blown away by what is being done nowadays and it has inspired me to get my Atari down from the loft.
-
ActionScript's encoding is not that complicated. See for example here: http://cvlib.googlec...tor/amf/AMF3.as
Of course, a simpler format not based on ActionScript's encoding is always welcome.
The first 4 bytes are a file version identifier and for version 1 they are 0x08 0x55 0x70 0x19. You have seen the original ActionScript save routine so with your encoding information you should be able to work out the binary format if you want to support the original file format.
The new format has file version identifier bytes of 0x9a 0xf8 0x39 0x21 and this is a marked up dump of mwalk.apl.
0 : 0x9a 0xf8 0x39 0x21 - file version identifier 4 : 0x04 - number of frames 5 : 0x1d - height 6 : 0x00 - gap 7 : 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 - P0 colour, frames 1..16 15 : 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 23 : 0x14 - P0 colour, copy buffer 24 : 0x28 0x28 0x28 0x28 0x18 0x18 0x18 0x18 - P1 colour, frames 1..16 32 : 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 40 : 0x28 - P1 colour, copy buffer 41 : 0x00 - background colour 42 : 0x00 0x00 0x1c 0x2a 0x5e 0x40 0x9f 0xbc - P0 data, frame 1 (48 bytes) 50 : 0x68 0x7c 0xfc 0xff 0x7f 0x1c 0x00 0x3e 58 : 0x47 0x52 0x53 0x62 0x77 0x3f 0x26 0x24 66 : 0x24 0x24 0x24 0x38 0x3c 0x00 0x00 0x00 74 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 82 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 90 : 0x00 0x00 0x1c 0x2a 0x5e 0x40 0x9f 0xbc - P0 data, frame 2 (48 bytes) 98 : 0x68 0x7c 0xfc 0xff 0x7f 0x1c 0x00 0x3e 106 : 0x47 0x52 0x53 0x62 0x77 0x3f 0x22 0x30 114 : 0x70 0x78 0xf0 0xe6 0x63 0x00 0x00 0x00 122 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 130 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 138 : 0x00 0x00 0x1c 0x2a 0x5e 0x40 0x9f 0xbc - P0 data, frame 3 (48 bytes) 146 : 0x7c 0x7c 0xe8 0xff 0x7f 0x1c 0x00 0x3e 154 : 0x47 0x52 0x4b 0x2a 0x3f 0x3f 0x26 0x24 162 : 0x24 0x24 0x24 0x38 0x3c 0x00 0x00 0x00 170 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 178 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 186 : 0x00 0x00 0x1c 0x2a 0x5e 0x40 0x9f 0xbc - P0 data, frame 4 (48 bytes) 194 : 0x7c 0x7c 0xe8 0xff 0x7f 0x1c 0x00 0x3e 202 : 0x47 0x52 0x4b 0x2a 0x3f 0x3f 0x62 0x46 210 : 0x4e 0x8e 0x96 0xe6 0x63 0x00 0x00 0x00 218 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 226 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 234 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 5 (48 bytes) 242 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 250 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 258 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 266 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 274 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 282 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 6 (48 bytes) 290 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 298 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 306 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 314 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 322 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 330 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 7 (48 bytes) 338 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 346 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 354 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 362 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 370 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 378 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 8 (48 bytes) 386 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 394 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 402 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 410 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 418 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 426 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 9 (48 bytes) 434 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 442 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 450 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 458 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 466 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 474 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 10 (48 bytes) 482 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 490 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 498 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 506 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 514 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 522 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 11 (48 bytes) 530 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 538 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 546 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 554 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 562 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 570 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 12 (48 bytes) 578 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 586 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 594 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 602 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 610 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 618 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 13 (48 bytes) 626 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 634 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 642 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 650 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 658 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 666 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 14 (48 bytes) 674 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 682 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 690 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 698 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 706 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 714 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 15 (48 bytes) 722 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 730 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 738 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 746 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 754 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 762 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P0 data, frame 16 (48 bytes) 770 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 778 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 786 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 794 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 802 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 810 : 0x00 0x00 0x1c 0x2a 0x5e 0x40 0x9f 0xbc - P0 data, copy buffer (48 bytes) 818 : 0x68 0x7c 0xfc 0xff 0x7f 0x1c 0x00 0x3e 826 : 0x47 0x52 0x53 0x62 0x77 0x3f 0x22 0x30 834 : 0x70 0x78 0xf8 0xe6 0x63 0x00 0x00 0x00 842 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 850 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 858 : 0x00 0x00 0x00 0x1c 0x3c 0x3f 0x60 0x5c - P1 data, frame 1 (48 bytes) 866 : 0x3c 0x28 0x68 0x5f 0x0f 0x20 0x3c 0x00 874 : 0x38 0x2d 0x2c 0x3d 0x38 0x30 0x18 0x18 882 : 0x18 0x18 0x18 0x1c 0x1e 0x00 0x00 0x00 890 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 898 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 906 : 0x00 0x00 0x00 0x1c 0x3c 0x3f 0x60 0x5c - P1 data, frame 2 (48 bytes) 914 : 0x3c 0x28 0x68 0x5f 0x0f 0x20 0x3c 0x00 922 : 0x38 0x2d 0x2c 0x3d 0x38 0x30 0x1c 0x0e 930 : 0x0e 0x06 0x06 0xc6 0x63 0x00 0x00 0x00 938 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 946 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 954 : 0x00 0x00 0x00 0x1c 0x3c 0x3f 0x60 0x5c - P1 data, frame 3 (48 bytes) 962 : 0x28 0x28 0x7c 0x5f 0x0f 0x20 0x3c 0x00 970 : 0x38 0x2d 0x34 0x1d 0x0c 0x0c 0x18 0x18 978 : 0x18 0x18 0x18 0x1c 0x1e 0x00 0x00 0x00 986 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 994 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1002 : 0x00 0x00 0x00 0x1c 0x3c 0x3f 0x60 0x5c - P1 data, frame 4 (48 bytes) 1010 : 0x28 0x28 0x7c 0x5f 0x0f 0x20 0x3c 0x00 1018 : 0x38 0x2d 0x34 0x1d 0x0c 0x0c 0x1c 0x38 1026 : 0x30 0x70 0x60 0xc6 0x63 0x00 0x00 0x00 1034 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1042 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1050 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 5 (48 bytes) 1058 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1066 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1074 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1082 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1090 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1098 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 6 (48 bytes) 1106 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1114 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1122 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1130 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1138 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1146 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 7 (48 bytes) 1154 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1162 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1170 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1178 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1186 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1194 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 8 (48 bytes) 1202 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1210 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1218 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1226 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1234 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1242 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 9 (48 bytes) 1250 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1258 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1266 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1274 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1282 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1290 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 10 (48 bytes) 1298 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1306 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1314 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1322 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1330 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1338 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 11 (48 bytes) 1346 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1354 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1362 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1370 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1378 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1386 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 12 (48 bytes) 1394 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1402 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1410 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1418 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1426 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1434 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 13 (48 bytes) 1442 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1450 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1458 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1466 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1474 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1482 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 14 (48 bytes) 1490 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1498 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1506 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1514 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1522 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1530 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 15 (48 bytes) 1538 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1546 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1554 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1562 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1570 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1578 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 - P1 data, frame 16 (48 bytes) 1586 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1594 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1602 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1610 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1618 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1626 : 0x00 0x00 0x00 0x1c 0x3c 0x3f 0x60 0x5c - P1 data, copy buffer (48 bytes) 1634 : 0x3c 0x28 0x68 0x5f 0x0f 0x20 0x3c 0x00 1642 : 0x38 0x2d 0x2c 0x3d 0x38 0x30 0x1c 0x0e 1650 : 0x0e 0x06 0x06 0xc6 0x63 0x00 0x00 0x00 1658 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1666 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1674 : 0x01 - selected frame 1675 : 0x03 - pen colour 1676 : 0x04 - animation rate
-
I have just uploaded a new version of the editor (0.6) which saves the .apl file in a new format. I don't have time to document it this evening, will do so tomorrow. The editor remains backwards compatible with the old format which it will continue to load.
-Paul
-
The .apl format is a binary format for the editor only
Why? I'd be happy to add it to http://fail.sourceforge.net/ but I need documentation.
Because the tool doesn't trouble itself with the low level format of the file, it let's ActionScript take care of that:
private static function browseForSaveFile ():void { printString (50, 8, "SAVE", true); fileRef = new FileReference (); fileRef.addEventListener (Event.CANCEL, saveComplete); fileRef.addEventListener (Event.COMPLETE, saveComplete); var data:ByteArray = new ByteArray(); data.writeInt (FILE_VERSION); data.writeInt (frames); data.writeInt (height); data.writeInt (gap); data.writeObject (p0Colour); data.writeObject (p1Colour); data.writeInt (bgColour); data.writeObject (p0Data); data.writeObject (p1Data); data.writeInt (frame); data.writeInt (penColour); data.writeInt (anim_rate); fileRef.save (data); inhibitPress = true; }If you hex view a .apl file, writeInt() simply generates a 32-bit integer value but writeObject() generates all the information it needs in order to be able to reinstantiate that object when it is read back, i.e. it needs type information, not just the data values.
Above p0Colour and p1Colour are single dimensional arrays with 17 elements (maximum number of frames + 1 for the copy buffer); p0Data and p1Data are two dimensional arrays (actually an array of arrays), the first dimension is 17 again, the second dimension is 48 (the maximum height).
Interestingly although the full set of data is saved each time (i.e. 16 frames and the copy buffer at maxium height, regardless of what is actually being used in the design) the size of the resulting .apl file varies. Hence it appears that the ActionScript encoding is affected by the data values too.
When I implemented the file routines I made them as simple as possible because I did not envisage any attempt to use them outside of the editor. I could modify the code to save the data byte at a time in order to achieve a well known format which is not reliant on ActionScript encoding. I already have a file version in there which means I can maintain backwards compatibility with the existing format. This shouldn't be too complicated if there is value in doing it?
-Paul
-
Dual Display Utility which overlays a normal text mode screen over a graphics screen (as mentioned previously, I'm no expert programmer so all I know is that it's flipping the two displays via a DLI/VBI
).That brings back some wonderful memories, the sheer thrill at having my first program published in a magazine. I had written it on my uncle's Atari 800 and sent it off to PCW. I think they acknowledged intention to publish but quite a few issues went by with no sign of it. I had just started college and one day I picked up the latest copy of the magazine to read on the train and there it was - not only published but progam of the month as well. I was paid £50 per published page plus £150 for program of the month - fantastic for a student and it brought me an Atari 400 of my own. I ended up getting royalties when they published it in the Best Of book, for publishing in some foriegn magazines (I never knew which magazines) and even when they got someone to write a C64 version. Fun times.
- Paul
-
1
-
-
The latest version of the editor (0.5) now outputs both BASIC listings.
Drelbs was my first effort at programming in ActionScript and I am pleased with how it turned out. I learnt a lot from doing it and it made me appreciate how well programmed the original 8-bit version was.
Paul
-
1
-
-
No problem, LIST will generate both BASIC formats shortly...
-
-
I've modified the editor so that when you LIST the data it saves C, BASIC and Assembler source code - all to the same file, just use the section you require. I've only tested the C code. Philsan, please let me know if there's anything I should change in the BASIC source code. This is the LIST output generated from mwalk.apl.
Bob, I have squeezed the display together so it now fits on a 928x630 pixel canvas and is still able to display everything when the maximum settings are reached (16 frames, 48 pixels high, 8 pixel gap). I tested it at 1024x768 and it was ok in IE9. I will put a page together where you can open it in a pop up window as that will make a little more vertical space available.
Ken, alas with the squished display there's no longer room for the 7800 button

Paul
-
The .apl format is a binary format for the editor only, but if you click on LIST it will output the data to a text file for incorporating into your source code.
At the moment I have ouput the player data as hexadecimal prefixed with 0x since I am working in C. For Basic it would be better in decimal (and for assembler hexadecimal prefixed with $). I will modify LIST so that it outputs all 3 types.
I have also noticed that Notepad has trouble with the newlines in the LIST output, although my text editor (I am using Borland CodeWright) is ok with it. Please let me know if you encounter any problems with the newlines in the LIST output.
Paul
-
You are welcome Allan. It is over 20 years since I last did any A8 programming so I am sure there must be other tools out there, but I googled and could not easily find anything. I have been quite pleased with how my graphics are coming along given the low number of pixels and colours by today's standards.
I have just updated the editor so that if you hold down alt, ctrl or shift and click on a pixel, the pen colour is taken from that pixel. I'd have rather have done this with a right mouse click, but that is not available under Flash. It is available if I build it as an Air application though, so I will do that and make it available.
Paul
-
Not sure if this will be useful to anyone else, but I've put together a player editor for designing animated multicolour players. It's written in ActionScript using Flex so it runs as Flash in a browser.
The editor is here: http://www.playsoft.co.uk/aplayed.html
There are instructions here: http://www.playsoft....structions.html
There is an example design here: http://www.playsoft.co.uk/mwalk.apl which you can load and play about with in the editor.
And finally there is a little test .xex file here: http://www.playsoft.co.uk/test.xex which uses the above design. It requires 48k, not that it's big it's just how I've laid out memory.
-
5
-
-
I wanted to try my hand at writing something in Adobe Flex and thought Drelbs was a good program to start with.
You can play it here: http://www.playsoft.co.uk
I have fond memories of Electrician too if I ever decide to do another.
Will check it out

Playsoft hmm must be Paul Lay
Let's have a new a8 game 
That would be an interesting thing to try some time. 2009 being the 30th anniversary of the A8 would have been the time to do it... maybe 2019 then, that will give me a bit of time to read up on all the stuff I've forgotten.
-
I wanted to try my hand at writing something in Adobe Flex and thought Drelbs was a good program to start with.
You can play it here: http://www.playsoft.co.uk
I have fond memories of Electrician too if I ever decide to do another.

ABBUC Software-Contest 2013 - Entries
in Atari 8-Bit Computers
Posted
That looks excellent - you are going to have a fun time working in GTIA 9. Good luck in the competition.
Like the buses, you wait 30 years for a GTIA 9 vertical scroller and then two arrive at the same time! Actually mine won't arrive any time soon though and it doesn't look like we're doing exactly the same thing. I'll post a work in progress demo shortly - should be a GTIABlast! thread.
Paul