+Psionic Posted August 30, 2019 Share Posted August 30, 2019 Yes, it would make perfect sense that this is the code basis for all the other versions. So Andreasen created the 5200 port by updating this version's ghost logic and reprogramming the controls for analog. The funny things is, Ron Borta from Roklan claimed that they studied the arcade version extensively and tried to replicate the ghost behavior exactly. So what changes were made to the 5200 port, and which version has more arcade-like behavior? Quote Link to comment Share on other sites More sharing options...
+MrFish Posted August 31, 2019 Share Posted August 31, 2019 Here's something amazing that's turned up: the original, commented source code for the Atari 8-bit version of Pac Man. Whoah! Nice...Sent from my UL40 using Tapatalk Quote Link to comment Share on other sites More sharing options...
AtariNerd Posted September 1, 2019 Share Posted September 1, 2019 Using JAC's PACMAN-ORIGINAL-INTERMISSION-DEMO.xex hack, I see that after level 256, it cycles back around to the beginning, without crashing. Was always curious, but never asked. 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted September 1, 2019 Share Posted September 1, 2019 10 hours ago, AtariNerd said: Using JAC's PACMAN-ORIGINAL-INTERMISSION-DEMO.xex hack, I see that after level 256, it cycles back around to the beginning, without crashing. Was always curious, but never asked. I also wondered, but didn't feel like waiting Quote Link to comment Share on other sites More sharing options...
+JAC! Posted September 2, 2019 Share Posted September 2, 2019 On 8/29/2019 at 10:23 PM, ijor said: Yes, that was more or less clear. Less clear is if the modifications or additions to assemble multiple Pac Man versions from the MADS source is based on original material, or not (it combines original source with reverse engineered code). Or, if you want, the source covers just one version of Pac Man, and if so which one. Thanks The archive "PAC-MAN_Source_Code_Macro_Assembler.zip" contains the original source code in original format. In that set of files, one was misssing. That file named "PACDAT1.ASM" contained only charset and display list data, not code and was restored from the binary. So if you happen to have an original Atari DEV environment you should be able to verify it ? ; MISSING LABELS & DATA PACCHR .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3C,$3C,$00,$00,$00 .byte $3C,$3C,$FF,$FF,$FF,$FF,$3C,$3C,$00,$00,$01,$04,$04,$04,$04,$04 .byte $00,$00,$40,$10,$10,$10,$10,$10,$10,$10,$10,$10,$10,$40,$00,$00 .byte $04,$04,$04,$04,$04,$01,$00,$00,$00,$00,$55,$00,$00,$50,$04,$04 .byte $00,$00,$40,$10,$10,$40,$00,$00,$00,$00,$55,$00,$00,$05,$10,$10 .byte $00,$00,$01,$04,$04,$01,$00,$00,$00,$00,$FF,$00,$00,$00,$00,$00 .byte $00,$00,$55,$00,$00,$55,$00,$00,$04,$04,$04,$04,$04,$04,$04,$04 .byte $00,$00,$55,$00,$00,$00,$00,$00,$10,$10,$10,$10,$10,$10,$10,$10 .byte $00,$00,$00,$00,$00,$55,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01 .byte $01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01 .byte $40,$40,$40,$40,$40,$40,$40,$40,$00,$00,$55,$00,$00,$50,$04,$04 .byte $00,$00,$55,$00,$00,$05,$10,$10,$04,$04,$50,$00,$00,$55,$00,$00 .byte $10,$10,$05,$00,$00,$55,$00,$00,$10,$10,$05,$00,$00,$05,$10,$10 .byte $04,$04,$50,$00,$00,$50,$04,$04,$3C,$FF,$3F,$0F,$3F,$FF,$3C,$00 .byte $00,$00,$15,$40,$00,$05,$10,$10,$10,$10,$05,$00,$40,$15,$00,$00 .byte $00,$00,$54,$01,$00,$50,$04,$04,$04,$04,$50,$00,$01,$54,$00,$00 .byte $00,$00,$00,$00,$40,$40,$40,$40,$40,$40,$40,$40,$00,$00,$00,$00 .byte $00,$3F,$3C,$3C,$3F,$3C,$3C,$00,$00,$F0,$3C,$3C,$F0,$F0,$3C,$00 .byte $00,$FF,$F0,$FF,$F0,$F0,$FF,$00,$00,$C0,$03,$0F,$0F,$0F,$CF,$00 .byte $00,$F0,$FC,$0F,$0F,$FF,$0F,$00,$00,$3F,$3C,$3C,$3C,$3C,$3F,$00 .byte $00,$C0,$F0,$3C,$3C,$F0,$C0,$00,$00,$F0,$F0,$3F,$0F,$0F,$0F,$00 .byte $00,$F3,$F3,$C3,$00,$03,$03,$00,$00,$C0,$C0,$C0,$00,$C0,$C0,$00 .byte $00,$3F,$F0,$F0,$F3,$F0,$3F,$00,$00,$F0,$00,$03,$F3,$F3,$F3,$00 .byte $00,$3C,$FF,$C3,$C3,$FF,$C3,$00,$00,$0F,$0F,$CF,$CF,$CF,$CF,$00 .byte $00,$03,$CF,$FF,$33,$03,$03,$00,$00,$CF,$CF,$CF,$CF,$CF,$CF,$00 .byte $00,$FC,$00,$F0,$00,$00,$FC,$00,$00,$00,$03,$03,$03,$03,$00,$00 .byte $00,$FF,$C3,$C3,$C3,$C3,$FF,$00,$00,$0F,$CF,$CF,$CF,$C3,$00,$00 .byte $00,$3C,$3C,$3C,$3C,$F0,$C0,$00,$00,$FF,$F0,$FF,$F0,$F0,$FF,$00 .byte $00,$CF,$0F,$0F,$0F,$0F,$CF,$00,$00,$FC,$0F,$0F,$FC,$3C,$0F,$00 .byte $00,$03,$0C,$2A,$2A,$2A,$3A,$2A,$30,$F0,$30,$A8,$A8,$E8,$A8,$00 .byte $03,$0F,$2A,$2E,$2A,$2B,$0A,$02,$00,$C0,$A0,$E0,$A0,$A0,$80,$00 .byte $02,$02,$0F,$3F,$3F,$3F,$3F,$0F,$00,$00,$C0,$F0,$F0,$F0,$F0,$C0 .byte $03,$0A,$2A,$2A,$2A,$2A,$2A,$0A,$00,$80,$A0,$A0,$E0,$E0,$A0,$80 .byte $03,$03,$0A,$2A,$2A,$2A,$2A,$0A,$00,$00,$80,$A0,$A0,$A0,$A0,$80 .byte $03,$03,$05,$15,$15,$15,$15,$05,$00,$00,$40,$50,$50,$50,$50,$40 .byte $22,$22,$22,$22,$22,$A2,$82,$82,$20,$20,$20,$20,$20,$28,$08,$08 .byte $11,$11,$11,$11,$11,$51,$41,$41,$10,$10,$10,$10,$10,$14,$04,$04 .byte $03,$0D,$3F,$3F,$3F,$3A,$2B,$0A,$00,$C0,$F0,$F0,$F0,$B0,$A0,$80 .byte $0A,$08,$0A,$03,$03,$03,$03,$03,$A0,$20,$A0,$C0,$F0,$C0,$F0,$C0 .byte $00,$03,$00,$00,$00,$00,$03,$00,$C0,$C3,$C3,$C3,$C3,$C3,$F0,$00 .byte $3F,$00,$00,$03,$00,$30,$0F,$00,$F0,$33,$C3,$C3,$33,$33,$C0,$00 .byte $3F,$30,$3F,$00,$00,$30,$0F,$00,$F0,$03,$C3,$33,$33,$33,$C0,$00 .byte $3F,$00,$00,$03,$0C,$0C,$0C,$00,$F0,$33,$C3,$03,$03,$03,$00,$00 .byte $03,$0F,$03,$03,$03,$03,$0F,$00,$03,$0C,$0C,$0C,$0C,$0C,$C3,$00 .byte $3F,$C0,$00,$0F,$30,$C0,$FF,$00,$03,$CC,$CC,$0C,$0C,$0C,$C3,$00 .byte $FF,$00,$03,$0F,$00,$C0,$3F,$00,$C3,$CC,$0C,$0C,$CC,$CC,$03,$00 .byte $FF,$C0,$FF,$00,$00,$C0,$3F,$00,$C3,$0C,$0C,$CC,$CC,$CC,$03,$00 .byte $C0,$33,$33,$33,$33,$33,$C0,$00,$F0,$0C,$0C,$0C,$0C,$0C,$F0,$00 .byte $3C,$C3,$C3,$C3,$C3,$C3,$3C,$00,$00,$00,$55,$00,$00,$54,$01,$01 .byte $01,$01,$54,$00,$00,$55,$00,$00,$00,$00,$55,$00,$00,$15,$40,$40 .byte $40,$40,$15,$00,$00,$55,$00,$00,$00,$AA,$A0,$A0,$AA,$A0,$A0,$00 .byte $00,$82,$A2,$A2,$82,$02,$02,$00,$00,$80,$80,$80,$80,$80,$AA,$00 .byte $00,$02,$0A,$28,$28,$2A,$28,$00,$00,$02,$82,$A0,$A0,$A0,$A0,$00 .byte $00,$82,$82,$AA,$28,$28,$28,$00,$00,$8A,$8A,$0A,$0A,$0A,$0A,$00 .byte $00,$A8,$00,$A0,$00,$00,$A8,$00,$00,$AA,$A0,$A0,$AA,$A2,$A0,$00 .byte $00,$80,$A0,$A0,$80,$80,$A0,$00,$00,$00,$02,$00,$00,$00,$0A,$00 .byte $00,$A0,$A0,$A0,$A0,$A0,$AA,$00,$00,$02,$0A,$00,$00,$02,$0A,$00 .byte $00,$A8,$0A,$28,$A0,$80,$AA,$00 DATMAZ .byte $00,$11,$1C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C .byte $0C,$0C,$0C,$15,$16,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C .byte $0C,$0C,$0C,$0C,$0C,$1E,$20,$00,$00,$13,$0F,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0D,$0F,$01,$01,$01 .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0D,$14,$00 .byte $00,$13,$0F,$01,$03,$0E,$0E,$0E,$04,$01,$03,$0E,$0E,$0E,$0E,$0E .byte $0E,$04,$01,$0D,$0F,$01,$03,$0E,$0E,$0E,$0E,$0E,$0E,$04,$01,$03 .byte $0E,$0E,$0E,$04,$01,$0D,$14,$00,$00,$13,$0F,$02,$06,$10,$10,$10 .byte $05,$01,$06,$10,$10,$10,$10,$10,$10,$05,$01,$06,$05,$01,$06,$10 .byte $10,$10,$10,$10,$10,$05,$01,$06,$10,$10,$10,$05,$02,$0D,$14,$00 .byte $00,$13,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$0D,$14,$00,$00,$13,$0F,$01,$0A,$0C,$0C,$0C .byte $08,$01,$03,$0E,$04,$01,$0A,$0C,$0C,$0C,$0C,$07,$09,$0C,$0C,$0C .byte $0C,$08,$01,$03,$0E,$04,$01,$0A,$0C,$0C,$0C,$08,$01,$0D,$14,$00 .byte $00,$13,$0F,$01,$01,$01,$01,$01,$01,$01,$0D,$00,$0F,$01,$01,$01 .byte $01,$01,$01,$0D,$0F,$01,$01,$01,$01,$01,$01,$0D,$00,$0F,$01,$01 .byte $01,$01,$01,$01,$01,$0D,$14,$00,$00,$12,$1D,$0C,$0C,$0C,$0C,$61 .byte $04,$01,$0D,$00,$19,$0C,$0C,$0C,$0C,$08,$00,$06,$05,$00,$0A,$0C .byte $0C,$0C,$0C,$1A,$00,$0F,$01,$03,$63,$0C,$0C,$0C,$0C,$1F,$21,$00 .byte $00,$00,$00,$00,$00,$00,$00,$13,$0F,$01,$0D,$00,$0F,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0D,$00,$0F,$01,$0D .byte $14,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C,$0C,$0C,$0C,$62 .byte $05,$01,$06,$10,$05,$00,$03,$0E,$0E,$0E,$0E,$0B,$0B,$0E,$0E,$0E .byte $0E,$04,$00,$06,$10,$05,$01,$06,$64,$0C,$0C,$0C,$0C,$0C,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$0D,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$00,$00,$00,$00,$01,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C,$0C,$0C,$0C,$61 .byte $04,$01,$03,$0E,$04,$00,$06,$10,$10,$10,$10,$10,$10,$10,$10,$10 .byte $10,$05,$00,$03,$0E,$04,$01,$03,$63,$0C,$0C,$0C,$0C,$0C,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$13,$0F,$01,$0D,$00,$0F,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0D,$00,$0F,$01,$0D .byte $14,$00,$00,$00,$00,$00,$00,$00,$00,$11,$1C,$0C,$0C,$0C,$0C,$62 .byte $05,$01,$06,$10,$05,$00,$0A,$0C,$0C,$0C,$0C,$07,$09,$0C,$0C,$0C .byte $0C,$08,$00,$06,$10,$05,$01,$06,$64,$0C,$0C,$0C,$0C,$1E,$20,$00 .byte $00,$13,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$0D,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$0D,$14,$00,$00,$13,$0F,$01,$0A,$0C,$0C,$15 .byte $04,$01,$0A,$0C,$0C,$0C,$0C,$0C,$0C,$08,$01,$06,$05,$01,$0A,$0C .byte $0C,$0C,$0C,$0C,$0C,$08,$01,$03,$16,$0C,$0C,$08,$01,$0D,$14,$00 .byte $00,$13,$0F,$02,$01,$01,$01,$0D,$0F,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0D .byte $0F,$01,$01,$01,$02,$0D,$14,$00,$00,$13,$19,$0C,$0C,$08,$01,$06 .byte $05,$01,$03,$0E,$04,$01,$0A,$0C,$0C,$0C,$0C,$07,$09,$0C,$0C,$0C .byte $0C,$08,$01,$03,$0E,$04,$01,$06,$05,$01,$0A,$0C,$0C,$1A,$14,$00 .byte $00,$13,$0F,$01,$01,$01,$01,$01,$01,$01,$0D,$00,$0F,$01,$01,$01 .byte $01,$01,$01,$0D,$0F,$01,$01,$01,$01,$01,$01,$0D,$00,$0F,$01,$01 .byte $01,$01,$01,$01,$01,$0D,$14,$00,$00,$13,$0F,$01,$0A,$0C,$0C,$0C .byte $0C,$0C,$17,$10,$18,$0C,$0C,$0C,$0C,$08,$01,$06,$05,$01,$0A,$0C .byte $0C,$0C,$0C,$17,$10,$18,$0C,$0C,$0C,$0C,$0C,$08,$01,$0D,$14,$00 .byte $00,$13,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 .byte $01,$01,$01,$01,$01,$0D,$14,$00,$00,$12,$1D,$0C,$0C,$0C,$0C,$0C .byte $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C .byte $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$1F,$21,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 ODLIST .byte $70,$70,$42,$00,$28,$02,$C6,$00,$24,$07,$07,$86,$06,$06,$06,$06 .byte $86,$04,$86,$06,$06,$06,$06,$06,$06,$06,$06,$86,$44,$70,$17,$41, a(ODLIST) DLIST .byte $70,$70,$42,$00,$28,$82,$C4,$00,$14,$04,$04,$04,$04,$04,$04,$04 .byte $04,$04,$84,$04,$04,$04,$04,$04,$04,$04,$04,$04,$84,$84,$04,$F0 .byte $41,a(DLIST) ADLIST .byte $70,$70,$C2,$00,$28,$02,$46,$00,$30,$06,$86,$06,$06,$06,$06,$06 .byte $06,$06,$86,$06,$06,$06,$86,$06,$06,$06,$06,$06,$86,$06,$44,$70 .byte $17,$41,a(ADLIST) NULLDL .byte $70,$70,$70,$41,a(NULLDL) INTDLC .byte $70,$70,$70,$42,$00,$28,$02,$F0,$70,$70,$70,$70,$70,$70,$70,$70 .byte $70,$54,$00,$2C,$54,$50,$2C,$54,$A0,$2C,$41,$80,$06 The MADS version of the code is a 1:1 syntax format conversion of the original code that compiles to the exact same result at the exact same locations. No logic or semantic changes have been applied. The differences in the Atari/DataSoft/etc. versions can be found in the source by looking for the "VERSION" string. By specifying -DVERSION=1 to 4 you can control which of the variants is built. All variants are 100% identical to the respective original (unpacked, decoded) binary. 6 Quote Link to comment Share on other sites More sharing options...
dukdukgoos Posted September 25, 2019 Share Posted September 25, 2019 Maybe put these on Github JAC? For preservation and easy forking? Quote Link to comment Share on other sites More sharing options...
neglectoru Posted September 25, 2019 Share Posted September 25, 2019 50 minutes ago, dukdukgoos said: Maybe put these on Github JAC? For preservation and easy forking? What is the Github JAC? Quote Link to comment Share on other sites More sharing options...
dukdukgoos Posted September 25, 2019 Share Posted September 25, 2019 Github is an online code repository that most people use these days. JAC is the guy that released the code and did the MADS translation (see the post 3 up from here). Quote Link to comment Share on other sites More sharing options...
+JAC! Posted September 25, 2019 Share Posted September 25, 2019 19 hours ago, dukdukgoos said: Maybe put these on Github JAC? For preservation and easy forking? Well, that would apply to basically everything on AtariWiki. Also I would not want such code (copyright...) to be under my personal git. We consider AtariWiki itself as the right central place for preservation. 2 Quote Link to comment Share on other sites More sharing options...
dukdukgoos Posted September 26, 2019 Share Posted September 26, 2019 (edited) Thanks JAC, that makes perfect sense. I found the wiki page, for some reason I missed it before... https://atariwiki.org/wiki/Wiki.jsp?page=PAC-MAN Edited September 26, 2019 by dukdukgoos Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.