Jump to content

Photo

Action! Source Code

Action! Source Code

281 replies to this topic

#51 Alfred OFFLINE  

Alfred

    Dragonstomper

  • 555 posts
  • Location:Elmwood, Ontario

Posted Wed Feb 4, 2015 5:18 PM

 

Hi JAC,

 

I would have preferred github over sourceforge, the quality of sf is poor these days, it is a faint copy of its better days, it has so many advertising, tracking and even add-on-downloads. Too commercial for my taste.

 

For collaborating, github is so much nicer.

 

If you want to use github, why not put it up there then. I doubt this is going to be a hotbed of activity that it can't be ported. I don't used Mads either, so I'll just stick with my Mac/65 copy of the code.



#52 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Wed Feb 4, 2015 5:28 PM

Syntax conversion is done. Nesting analysis is in process. Interesting to see how the original files were merged together somehow. Maybe for speed of compilation when loading from disk or memory concerns. Unbundling reveals nice structures. 

Attached Thumbnails

  • Splits.png

Edited by JAC!, Wed Feb 4, 2015 5:28 PM.


#53 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Wed Feb 4, 2015 8:15 PM

>11452 lines of source assembled in 3 pass
>16384 bytes written to the object file
All compile time errors are fixed. First part of ordering the segments is completed, too. The $b000 bank is about 99% identical to the cartdump already.
Just realized how late/early is is - damn, that was fun :-)

Edited by JAC!, Wed Feb 4, 2015 8:15 PM.


#54 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Wed Feb 4, 2015 8:20 PM

Hi JAC!

 

That is so fantastic! Wow! 

 

16384? Incredible! What a time! Christmas in February! And we are all part of it.

 

:)  :)  :)  :)  :)



#55 cas OFFLINE  

cas

    Dragonstomper

  • 524 posts

Posted Thu Feb 5, 2015 1:24 AM

 

If you want to use github, why not put it up there then. I doubt this is going to be a hotbed of activity that it can't be ported. I don't used Mads either, so I'll just stick with my Mac/65 copy of the code.

 

In my view collaboration (working in a team) on Github is easier. It is not so much about 'git' as a tool, which is also available from SF. I will use SF, as JAC is more familliar with it.

 

I had my projects on SF too, but after SF has been sold multiple times, my feeling is that the new owners just try to make as much money as possible with advertising and tracking of users. Github has a better business model, they charge for non-open-source projects, and the page is advertising free. But the main benefit is the way how code can be forked into local repos and then merged again, that makes collaboration on a project easier.



#56 danwinslow OFFLINE  

danwinslow

    River Patroller

  • 2,579 posts

Posted Thu Feb 5, 2015 8:11 AM

I agree about github.



#57 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Thu Feb 5, 2015 7:04 PM

Just couldn't got to bed without playing around with this. Splitting the 11 published source files into the original 34 source files is complete. Reordering is complete. The include sequence now matches the byte order in a type 15 one chip OSS cart. Just a few padding bytes, bank id bytes, text stamps like "ces" and maybe 1 or 2 wrong labels left. Current state is committed to sourceforge.

 

C:\Users\D025328\Documents\Eclipse\workspace.ext\net.sourceforge.atari-action\JAC>fc /b ACTION.xex Action36-15.rom
Comparing files ACTION.xex and ACTION36-15.ROM
0000075D: 01 03
000007E8: 01 03
000007ED: 01 03
00000827: 01 03
000008C3: 01 03
000008D4: FF 00
000008D5: FF 00
000008D6: FF 00
000008D7: FF 00
00000A7D: FF 00
00000A7E: FF 00
00000A7F: FF 00
00000FF1: FF 00
00000FF2: FF 00
00000FF3: FF 00
00000FF4: FF 00
00000FF5: FF 00
00000FF6: FF 00
00000FF7: FF 00
00000FF8: FF 00
00000FF9: FF 00
00001FE4: FF 20
00001FE5: FF 28
00001FE6: FF 41
00001FE7: FF 43
00001FE8: FF 53
00001FE9: FF 29
00001FEA: FF 20
00001FEB: FF 20
00001FEC: FF 4E
00001FED: FF 6F
00001FEE: FF 76
00001FEF: FF 65
00001FF0: FF 6D
00001FF1: FF 62
00001FF2: FF 65
00001FF3: FF 72
00001FF4: FF 20
00001FF5: FF 34
00001FF6: FF 2C
00001FF7: FF 20
00001FF8: FF 31
00001FF9: FF 39
00001FFA: FF 38
00001FFB: FF 33
00001FFC: FF 20
00001FFD: FF 20
00001FFE: FF 00
00001FFF: 01 00
000020A2: A4 5C
000020A3: A0 B7
000023B2: B7 DF
000029DA: B7 DF
00002FFD: FF 00
00002FFE: FF 00
00002FFF: 00 09
000032CD: 01 03
000032FB: 00 0A
00003E15: 22 42
00003E19: 1F 3F
00003E1A: 00 20
00003FFA: FF 63
00003FFB: FF 65
00003FFC: FF 73
00003FFD: FF 00
00003FFE: FF 00
00003FFF: 09 01
 
See also:


#58 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,498 posts
  • Location:United Kingdom

Posted Thu Feb 5, 2015 7:06 PM

Excellent, fast work!

#59 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Thu Feb 5, 2015 7:18 PM

JAC! Your midichlorian-value even exeeds the one from Yoda... ;-)

 

http://en.wikipedia....)#Midichlorians

 

Thank you so much.



#60 fujidude OFFLINE  

fujidude

    Quadrunner

  • 5,217 posts
  • Location:United States of America

Posted Fri Feb 6, 2015 10:55 AM

Hi Carsten,

 

since all other projects I'm participating in are on sourceforge and since it also supports git, that's my preferred environment. 

 

Yep, folks just need to not click on the ads etc.  Should be trivial for sophisitcated computer users such as most of the people around here.



#61 fujidude OFFLINE  

fujidude

    Quadrunner

  • 5,217 posts
  • Location:United States of America

Posted Fri Feb 6, 2015 10:58 AM

 

In my view collaboration (working in a team) on Github is easier. It is not so much about 'git' as a tool, which is also available from SF. I will use SF, as JAC is more familliar with it.

 

I had my projects on SF too, but after SF has been sold multiple times, my feeling is that the new owners just try to make as much money as possible with advertising and tracking of users. Github has a better business model, they charge for non-open-source projects, and the page is advertising free. But the main benefit is the way how code can be forked into local repos and then merged again, that makes collaboration on a project easier.

 

Some good points there, but it isn't the end of the world to use SF.



#62 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Fri Feb 6, 2015 7:13 PM

@Luckbuck: Well, no. I'm just concentrating on such a small amount of reality that all my mental capacity goes into 6502. Ask my wife :-)

 

Everything except bank ids and the serial number seems to be OK now.

 

Comparing files ACTION.rom and ACTION-TYPE-15.ROM
00000819: 04 09
0000081E: 04 09
00000855: 04 09
0000085A: 04 09
00001FFF: 03 00
00002FFF: 00 09
000032FB: 00 0A
00003FFF: 04 01
 
The bank ids require some sleep, due to the total mix of types and dump versions (3/15/43). Just can't get it straight in my head now.
Also not sure about the serial id at $32fb. That's $0000 in the source because it was set as part of production as it seems.
 
    41 A2FA 00 00 serial .word 0 ; serial number of ROM
    42 ; to be filled in before blowing ROM
 


#63 UNIXcoffee928 OFFLINE  

UNIXcoffee928

    Stargunner

  • 1,177 posts
  • Location:Sosaria, USA

Posted Sat Feb 7, 2015 4:42 PM

Is there any chance that you can relieve us of this accursed OSS cart format, altogether?

 

I have a Bit-3 80 column board in my Atari 800, and always wanted to take advantage of the Action! 80 column functionality, but the cartridges themselves have always  been prohibitively expensive. Even nowadays, the ebay price is always high, and you never know what version cartridge it is. 

 

Is there any hope that you could convert this thing into something that could be used with SIO2PC?



#64 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,593 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Sat Feb 7, 2015 4:54 PM

Is there any chance that you can relieve us of this accursed OSS cart format, altogether?

 

I have a Bit-3 80 column board in my Atari 800, and always wanted to take advantage of the Action! 80 column functionality, but the cartridges themselves have always  been prohibitively expensive. Even nowadays, the ebay price is always high, and you never know what version cartridge it is. 

 

Is there any hope that you could convert this thing into something that could be used with SIO2PC?

Is there a schematic for Bit3 anywhere?  Failing that, has anyone photographed the front and back of PCBs?  Some time ago, I managed to source the main video chip from that device.  I would love to clone it since I don't think I'll ever manage to get to buy one.



#65 UNIXcoffee928 OFFLINE  

UNIXcoffee928

    Stargunner

  • 1,177 posts
  • Location:Sosaria, USA

Posted Sat Feb 7, 2015 5:12 PM

Is there a schematic for Bit3 anywhere?  Failing that, has anyone photographed the front and back of PCBs?  Some time ago, I managed to source the main video chip from that device.  I would love to clone it since I don't think I'll ever manage to get to buy one.

 

As far as I know it has not been emulated, either. I can take photos of it, for you, sometime this week.

 

If you can physically reproduce it, then, perhaps, it's functionality can be added to the emulators, if you share the knowledge that you gain while reverse engineering it... that would help everybody.

 

Editing Action code in 80 columns could really inspire a lot of people to code new stuff for the Atari. It's such a well thought out language, but working with it in 40 columns is far from ideal when doing well-structured procedural programming, because you can't tab as far as you would like to, and separate the code blocks nicely, etc.



#66 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • 2,899 posts
  • Location:Santee, CA

Posted Sat Feb 7, 2015 5:12 PM

Is there a schematic for Bit3 anywhere?  Failing that, has anyone photographed the front and back of PCBs?  Some time ago, I managed to source the main video chip from that device.  I would love to clone it since I don't think I'll ever manage to get to buy one.

Pics of the board and ROM dump is still among many things on my ToDo list :)

Still need to fix a cable for the 1080 monitor (Thought I had 2 1084's) and take pics of it in action...



#67 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Sat Feb 7, 2015 10:25 PM

@unixcoffe928:

 

why so complicated?

 

Carts:

 

80:
 
As far as I know, the Action! cart is running with 80 columns.
 
And(!) 80 is just the beginning!
 
Further:
 
oss5in1.jpg
 
Maybe this time with Mac/65 1.02 and in the future:
 
OSS 6 in 1: with Bug /65 ?
 
CU all out there in the galaxy. Let the new Atari age begin!

Edited by luckybuck, Sat Feb 7, 2015 10:26 PM.


#68 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Sun Feb 8, 2015 2:16 AM

>Is there any chance that you can relieve us of this accursed OSS cart format, altogether?
The binary will be available in multiple output formats, including the OSS formats so people can update their carts.
16k plain ROM is fairly straight, once the source is relocatable.
Of course it comes at the expense of 8k less RAM for code & source. That's why OSS came with that special design for their productivity cars.
 
>Is there any hope that you could convert this thing into something that could be used with SIO2PC?
Similar to the 16k Plain ROM. Of course loading from disk always comes with the risk that a bug also trashes ACTION! itself.
On idea that I have is to have a version that uses the RAM under the XL OS optionally as "backup". 
 
>wanted to take advantage of the Action! 80 column functionality
If there anything special in ACTION! itself, apart from the fact it uses the E: handler?


#69 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Sun Feb 8, 2015 4:20 PM

Now that's what I call fun with code. It took me quite a while to understand this until I finally encountered the "inc sargs,x".
 
;
;
;	Analysis: RAM Protection
;
;	The the RAM version of Action! contains a global equate "ramzap" that
;	activates conditional assembly of eleven self-destruction code fragments.
;	These fragments change the content of parts of the Action! ROM area
;	in many different ways. They are intended to prevent the creation of
;	a file version that can be loaded to the RAM of the machine.
;	When the Action! code is in the ROM area, these code fragment have no effect.
;	When the Action! code is in the RAM area, thee code fragments destroy the code.
;	When the "ramzap" equate is set to zero, the code fragments are replaced
;	by a NOP sequence of equal size. This way the overall program structure
;	and label addresses remained constant, but Action! or its parts could be
;	run from the machine RAM or a special RAM cartridge. 

    25 = 0001			ramzap	equ	1	; to zap or not to zap, that is the question?
--
    60 								; fake out zero check in XIOstr
    61 					.if	ramzap
    62 B02A 91 A5			 sta	(arg5),y
    63 					.else	
    64 					 nop	
    65 					 nop	
    66 					.endif	
--
   283 					.if	ramzap
   284 B6F6 91 A1			 sta	(arg1),y	; zap RAM if any
   285 					.else	
   286 					 nop	
   287 					 nop	
   288 					.endif	
--
   448 					.if	ramzap
   449 BD4F 91 A8			sta	(arg8),y
   450 					.else	
   451 					nop	
   452 					nop	
   453 					.endif	
--
   739 					.if	ramzap
   740 BEED F6 00			inc	sargs,x
   741 					.else	
   742 					nop	
   743 					nop	
   744 					nop	
   745 					.endif	
--
   851 				;.IF RAMzap
   852 				;  LDY LTab+1,X
   853 				;  LDA LTab,X
   854 				;.ELSE
   855 BF5A BC E5 04			ldy	lsh+1,x
   856 BF5D BD E4 04			lda	lsh,x
   857 				;.ENDIF
--
    71 					.if	ramzap
    72 A036 9D 4A A0			sta	mulb,x
    73 					.else
    74 					nop
    75 					nop
    76 					nop
    77 					.endif
--
   143 					.if	ramzap
   144 A1FD FE 2B A1			inc	stm,x
   145 					.else
   146 					nop
   147 					nop
   148 					nop
   149 					.endif
--
    48 					.if	ramzap
    49 A3BD DE 95 A3			dec	chkerr-$10,x
    50 					.else
    51 					nop
    52 					nop
    53 					nop
    54 					.endif
    55 A3C0 60				rts
--
  1449 				;	--------
  1450 				getexp	.if	ramzap
  1451 A8B4 EE 92 AF			 inc	cgopscd
  1452 					.else	
  1453 					 nop	
  1454 					 nop	
  1455 					 nop	
  1456 					.endif	
--
  2263 					.if	ramzap
  2264 ADCA 91 64			sta	(adress),y
  2265 					.else	
  2266 					nop	
  2267 					nop	
  2268 					.endif
--
    93 				;SPLInit .proc ; init compiler RAM
    94 					.if	ramzap
    95 A334 20 B6 A3			jsr	zap4
    96 					.else	
    97 					nop	
    98 					nop	
    99 					nop	
   100 					.endif	
--
    72 A3B0 1E			zap2	.byte	$1e
    73 A3B1 6D A5			.word	delch
    74 A3B3 FE			zap3	.byte	$fe
    75 A3B4 9A A5			.word	backsp
    76 A3B6 7E			zap4	.byte	$7e
    77 A3B7 2C A4			.word	insrtch


#70 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Sun Feb 8, 2015 4:32 PM

JAC! You are a miracle! 

 

Please find attached the file version from:

 

Paul and I.C..jpg

 

Attached File  OSS Action! Version 3.6 with DOS XL 2.20 and REAL files.atr   90.02KB   187 downloads

 

with some strange REAL files on it. The DOC file can only be opened with the cart... due to RAM problems...

 

Did found it in a lost archive... ;-)

 

Have fun further, we are with you all the time! :-)

 

Wil try to get the Basic XE source, too.

 

stand by


Edited by luckybuck, Sun Feb 8, 2015 4:35 PM.


#71 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,831 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Sun Feb 8, 2015 4:43 PM

The one thing I wonder about is what the "AMPL" in the file and label names stands for.
"Action Machine Programming Language"? Or even related to this..
http://www.ampl.com/contents.html

#72 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Sun Feb 8, 2015 4:47 PM

Before Action! it was called: AMPL

 

But Action! sounds more cool. :-)



#73 gozar ONLINE  

gozar

    Dragonstomper

  • 983 posts
  • Location:Ohio

Posted Sun Feb 8, 2015 4:58 PM

 

>Is there any chance that you can relieve us of this accursed OSS cart format, altogether?
The binary will be available in multiple output formats, including the OSS formats so people can update their carts.
16k plain ROM is fairly straight, once the source is relocatable.
Of course it comes at the expense of 8k less RAM for code & source. That's why OSS came with that special design for their productivity cars.
 
>Is there any hope that you could convert this thing into something that could be used with SIO2PC?
Similar to the 16k Plain ROM. Of course loading from disk always comes with the risk that a bug also trashes ACTION! itself.
On idea that I have is to have a version that uses the RAM under the XL OS optionally as "backup". 
 
>wanted to take advantage of the Action! 80 column functionality
If there anything special in ACTION! itself, apart from the fact it uses the E: handler?

 

 

What about using extended memory? I would think most of us that want to use it have more than 64K in our Ataris.

 

And what about extended memory for code space and compiling? 

 

Enough questions from me, what you've done is incredible!



#74 luckybuck OFFLINE  

luckybuck

    Stargunner

  • Topic Starter
  • 1,045 posts

Posted Sun Feb 8, 2015 5:02 PM

Already discussed above. One thing after another. You already suffered more than 3 decades. And now a few days shall matter? Come on...



#75 CharlieChaplin OFFLINE  

CharlieChaplin

    River Patroller

  • 3,100 posts

Posted Sun Feb 8, 2015 5:22 PM

Well,

 

I have a hacked/cracked file-version of Action! in my collection that works with 48k RAM (not much free RAM available) and another file-version that works with 64k RAM (utilizing RAM under the OS, more free RAM available). But as of yet, I do not have a file-version that works with extended RAM...

 

 

Attached Files






1 user(s) are browsing this forum

1 members, 0 guests, 0 anonymous users