Важная информация

User Tag List

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 21 по 30 из 68

Тема: Портирование Prince of Persia на другие платформы

  1. #21
    Veteran
    Регистрация
    19.01.2005
    Адрес
    Наро-фоминск
    Сообщений
    1,810
    Спасибо Благодарностей отдано 
    373
    Спасибо Благодарностей получено 
    165
    Поблагодарили
    102 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Удобнее портировать с той платформы, с которой есть исходный код. В данном случае автору порта для БК будет гораздо проще освоить новый ассемблер и ахрихтектуру MSX, чем условному любителю MSX копаться в бинарниках игры пусть и под тот же Z80. К тому же, при всём уважении к Nicodim'у и его порту на ZX Spectrum игра всё-таки получилась сыроватой, с небольшой долей багов. Под АТМ, вроде исходников не выкладывали. C SMS было бы круче всего портировать, так как там игра "фирменная", но опять же - нет исходников. А под Sam Cope, если мне не изменяет память, полную версию Принца так и не выпустили. А так-то есть ещё фирменная версия под GameBoy и его урезанный Z80.

    А ведь Джордан Мекнер относительно недавно (10 лет назад) нашёл диски с исходниками оригинально игры под Apple II и обнародовал их. Очевидно, что это самый лучший источник для порта.
    Вот на Sam Coupe, с финалом: https://youtu.be/pu4utj0eZ9k
    на MSX есть демо-версия 2007 года: https://www.youtube.com/watch?v=29X12K4Sy5M
    Последний раз редактировалось ^m00h^; 19.10.2021 в 13:17.

  2. #22
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ранее никогда не сталкивался с 6502 и вот сейчас бегло посмотрел систему команд процессора 6502, и мне показалось, что там чуть ли не в лоб можно конвертировать текст программы в i8080/Z80. Или это заблуждение? Но ведь Alone Coder как-то перенёс Super Mario Bros. с NES на ATM, используя оригинальный код с 6502.
    С уважением, Станислав.

  3. #23
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ^m00h^ Посмотреть сообщение
    Вот на Sam Coupe, с финалом:
    Эта ссылка уже была

    - - - Добавлено - - -

    Цитата Сообщение от ^m00h^ Посмотреть сообщение
    на MSX есть демо-версия 2007 года
    Для V9990

  4. #24
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    6502, и мне показалось, что там чуть ли не в лоб можно конвертировать текст программы в i8080/Z80
    посмотри в комплекте с Tasm`ом https://vtrd.in/system/TASM_412.ZIP 6502 конвертор

  5. Этот пользователь поблагодарил goodboy за это полезное сообщение:

    CityAceE (19.10.2021)

  6. #25
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ^m00h^ Посмотреть сообщение
    на MSX есть демо-версия 2007 года
    Похоже, что пытались портировать со SNES. Я проходил SNES'овскую версию, причём на настоящей японской SNES в год выхода игры (1992). Считаю, что это лучший Принц Персии среди всех платформ и версий. Там даже лабиринты расширены по сравнению с оригинальной игрой. Ну и графика со звуком выгодно отличаются от всех остальных версий.



    С уважением, Станислав.

  7. #26
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,561
    Спасибо Благодарностей отдано 
    923
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ^m00h^ Посмотреть сообщение
    на MSX есть демо-версия 2007 года: https://www.youtube.com/watch?v=29X12K4Sy5M
    О! Отсебятинки понавпихали! Бедный Прынц.

    - - - Добавлено - - -

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Похоже, что пытались портировать со SNES. Я проходил SNES'овскую версию, причём на настоящей японской SNES в год выхода игры (1992). Считаю, что это лучший Принц Персии среди всех платформ и версий. Там даже лабиринты расширены по сравнению с оригинальной игрой. Ну и графика со звуком выгодно отличаются от всех остальных версий.
    То есть отсебятины больше крыши?
    Имхо, есть две версии. Оригинал по Яблоко, и по сути ремейк под ДОС. Все остальное пахнет либо кривостью, либо обилием отсебятины.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  8. #27
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    6502 конвертор
    Вот что он из себя представляет:
    Код:
    ;
    ; Cross-Assembler for 6502 series
    ; Copyright (C) 1997 by Rst7/CBS
    ;
    ;-----------------------------------------
    ; Variable Section
    ;-----------------------------------------
    ;
    ENABLE.ADDR.MODE        EQU     0
    OpCode                  EQU     0
    ;
    ;-----------------------------------------
    ; Parser Section
    ;-----------------------------------------
    ;
            DEFMAC  AdressingError
            DISPLAY AdressingError
            ENDMAC
    ;
            DEFMAC  PARSE_IMD
            .IF     ENABLE.ADDR.MODE&1
            AdressingError
            .ELSE
            DEFB    OpCode|#08
    \r      DEFB    \n\s ; %...
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_SX
            .IF     ENABLE.ADDR.MODE&2
            AdressingError
            .ELSE
            DEFB    OpCode|#00
    \r      DEFB    \n\s ; (...,X)
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_SY
            .IF     ENABLE.ADDR.MODE&4
            AdressingError
            .ELSE
            DEFB    OpCode|#10
    \r      DEFB    \n\s ; (...),Y
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_IX
            .IF     ENABLE.ADDR.MODE&8
            AdressingError
            .ELSE
            .IF     \0&#FF00
            DEFB    OpCode|#14
    \r      DEFB    \0 ; ...,X  ZERO
            .ELSE
            DEFB    OpCode|#1C
    \r      DEFW    \0 ; ...,X  Norm
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_IY
            .IF     ENABLE.ADDR.MODE&16
            AdressingError
            .ELSE
            DEFB    OpCode|#18
    \r      DEFW    \0 ; ...,Y
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_ABSOLUTE
    \r      .IF     ENABLE.ADDR.MODE&32
            AdressingError
            .ELSE
            .IF     \0&#FF00
            DEFB    OpCode|#04
    \r      DEFB    \0 ; ...  ZERO
            .ELSE
            DEFB    OpCode|#0C
    \r      DEFW    \0 ; ...  Norm
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE_ACC
            .IF     ENABLE.ADDR.MODE&64
            AdressingError
            .ELSE
            DEFB    OpCode|#08
            .ENDIF
            ENDMAC
    ;
            DEFMAC  PARSE
    \r      .IF     "  \0"-"  "
            PARSE_ACC
            .ENDIF
    \r      .IF     "\c"-"%"
            PARSE_IMD \s
            .ENDIF
            .IF     "\c"-"("|(" \1"-"X)")
            PARSE_SX \s,
            .ENDIF
            .IF     "\c"-"("|("\1 "-"Y ")
            PARSE_SY \s)
            .ENDIF
            .IF     "\c"-"("
            AdressingError
            .ENDIF
            .IF     "\1 "-"X "
            PARSE_IX \s,
            .ENDIF
            .IF     "\1 "-"Y "
            PARSE_IY \s,
            .ENDIF
    ;
            PARSE_ABSOLUTE \s
            ENDMAC
    ;
    ;-----------------------------------------
    ; Command Section
    ;-----------------------------------------
    ;
            DEFMAC  ADC 
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #61
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  AND 
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #21
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  CMP
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #C1
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  EOR
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #41
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  LDA
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #A1
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  ORA
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #01
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  SBC 
    ENABLE.ADDR.MODE        =       #3F
    OpCode                  =       #E1
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  STA
    ENABLE.ADDR.MODE        =       #3E
    OpCode                  =       #81
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  BRK
            DEFB    #00
            ENDMAC
    ;
            DEFMAC  CLC
            DEFB    #18
            ENDMAC
    ;
            DEFMAC  CLD
            DEFB    #D8
            ENDMAC
    ;
            DEFMAC  CLI
            DEFB    #58
            ENDMAC
    ;
            DEFMAC  CLV
            DEFB    #B8
            ENDMAC
    ;
            DEFMAC  DEX
            DEFB    #CA
            ENDMAC
    ;
            DEFMAC  DEY
            DEFB    #88
            ENDMAC
    ;
            DEFMAC  INX
            DEFB    #E8
            ENDMAC
    ;
            DEFMAC  INY
            DEFB    #C8
            ENDMAC
    ;
            DEFMAC  NOP
            DEFB    #EA
            ENDMAC
    ;
            DEFMAC  PHA
            DEFB    #48
            ENDMAC
    ;
            DEFMAC  PHP
            DEFB    #08
            ENDMAC
    ;
            DEFMAC  PLA
            DEFB    #68
            ENDMAC
    ;
            DEFMAC  PLP
            DEFB    #28
            ENDMAC
    ;
            DEFMAC  RTI
            DEFB    #40
            ENDMAC
    ;
            DEFMAC  RTS
            DEFB    #60
            ENDMAC
    ;
            DEFMAC  SEC
            DEFB    #38
            ENDMAC
    ;
            DEFMAC  SED
            DEFB    #F8
            ENDMAC
    ;
            DEFMAC  SEI
            DEFB    #78
            ENDMAC
    ;
            DEFMAC  TAX
            DEFB    #AA
            ENDMAC
    ;
            DEFMAC  TAY
            DEFB    #A8
            ENDMAC
    ;
            DEFMAC  TXA
            DEFB    #8A
            ENDMAC
    ;
            DEFMAC  TYA
            DEFB    #98
            ENDMAC
    ;
            DEFMAC  TSX
            DEFB    #BA
            ENDMAC
    ;
            DEFMAC  TXS
            DEFB    #9A
            ENDMAC
    ;
            DEFMAC  ASL
    ENABLE.ADDR.MODE        =       64+32+8
    OpCode                  =       #02
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  BIT 
    ENABLE.ADDR.MODE        =       32
    OpCode                  =       #20
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  for.CP?
            DEFB    OpCode
    \r      DEFB    \0
            ENDMAC
    ;
            DEFMAC  CPX
    ENABLE.ADDR.MODE        =       32
    OpCode                  =       #E0
    \r      .IF     "\c"-"%"
            for.CP? \n\s
            .ENDIF
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  CPY
    ENABLE.ADDR.MODE        =       32
    OpCode                  =       #C0
    \r      .IF     "\c"-"%"
            for.CP? \n\s
            .ENDIF
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  DEC 
    ENABLE.ADDR.MODE        =       32+8
    OpCode                  =       #C2
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  INC 
    ENABLE.ADDR.MODE        =       32+8
    OpCode                  =       #E2
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  JMP
    \r      .IF     "\c"-"("
            DEFB    #6C
    \r      DEFW    \0
            .ELSE
            DEFB    #4C
    \r      DEFW    \0
            .ENDIF
            ENDMAC
    ;
            DEFMAC  JSR
            DEFB    #20
            DEFW    \0
            ENDMAC
    ;
            DEFMAC  LDX
    ENABLE.ADDR.MODE        =       32+8
    OpCode                  =       #A2
    \r      .IF     "\c"-"%"
            for.CP? \n\s
            .ENDIF
            .IF     "\1 "-"Y "
            PARSE_IX \s,
            .ENDIF
            PARSE_ABSOLUTE \s
            ENDMAC
    ;
            DEFMAC  LDY
    ENABLE.ADDR.MODE        =       32+8
    OpCode                  =       #A0
    \r      .IF     "\c"-"%"
            for.CP? \n\s
            .ENDIF
            .IF     "\1 "-"X "
            PARSE_IX \s,
            .ENDIF
            PARSE_ABSOLUTE \s
            ENDMAC
    ;
            DEFMAC  LSR
    ENABLE.ADDR.MODE        =       64+32+8
    OpCode                  =       #42
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  ROL
    ENABLE.ADDR.MODE        =       64+32+8
    OpCode                  =       #22
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  ROR
    ENABLE.ADDR.MODE        =       64+32+8
    OpCode                  =       #62
    \r      PARSE   \s
            ENDMAC
    ;
            DEFMAC  STX
    ENABLE.ADDR.MODE        =       32
    OpCode                  =       #96
            .IF     "\1 "-"Y "
            for.CP? \0
            .ENDIF
    OpCode                  =       #82
    \r      PARSE_ABSOLUTE \s
            ENDMAC
    ;
            DEFMAC  STY
    ENABLE.ADDR.MODE        =       32
    OpCode                  =       #94
            .IF     "\1 "-"Y "
            for.CP? \0
            .ENDIF
    OpCode                  =       #80
    \r      PARSE_ABSOLUTE \s
            ENDMAC
    ;
            DEFMAC  BCC
            DEFB    #90,\0
            ENDMAC
            DEFMAC  BCS
            DEFB    #B0,\0
            ENDMAC
            DEFMAC  BEQ
            DEFB    #F0,\0
            ENDMAC
            DEFMAC  BNE
            DEFB    #D0,\0
            ENDMAC
            DEFMAC  BMI
            DEFB    #30,\0
            ENDMAC
            DEFMAC  BPL
            DEFB    #10,\0
            ENDMAC
            DEFMAC  BVS
            DEFB    #70,\0
            ENDMAC
    ;
    ;---------
    Похоже, что это не конвертор, а транслятор, позволяющий на Спектруме компилировать исходный текст для 6502 и получать готовый исполняемый код для этого процессора.
    Последний раз редактировалось CityAceE; 19.10.2021 в 15:04.
    С уважением, Станислав.

  9. #28
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скриншот варианта явно не для V9990. Судя по всему проект заглох.
    SDLPoP, возможно кому-нибудь будет полезно.

  10. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    CityAceE (20.10.2021)

  11. #29
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А ведь Джордан Мекнер относительно недавно (10 лет назад) нашёл диски с исходниками оригинально игры под Apple II и обнародовал их. Очевидно, что это самый лучший источник для порта.
    Что самое интересное, получить из этих исходников работающий образ диска для Apple ][ оказалось тем ещё квестом! Некоторые энтузиасты безуспешно пытались их скомпилировать, но всё было тщетно. Но нашёлся таки один мастер, который успешно справился с задачей и подготовил пакет ПО, с помощью которого любой желающий сможет собрать своего Принца для Apple ][ под Windows, Linux и MacOS. Скачать этот пакет вместе с исходниками Принца можно отсюда.
    С уважением, Станислав.

  12. Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    ivagor (20.10.2021)

  13. #30
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как я понял в оригинале был нестандартный формат дискеты (доп.защита + немного больший объём 157Kb вместо 140Kb)
    это позволило уместить игру на две дискеты, взломанный вариант под стандарт на 3х дискетах.
    и запустить именно оригинал на эмуле невозможно (нет поддержки этого формата)
    (хотя возможно с момента выхода той статьи что я читал что-то и изменилось)

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Prince of Persia
    от KingArthur в разделе Игры
    Ответов: 83
    Последнее: 30.06.2022, 00:06
  2. Prince of Persia (АТМ)
    от norduk в разделе ATM
    Ответов: 0
    Последнее: 29.10.2018, 20:53
  3. Prince of Persia
    от kyv в разделе Commodore 16/64/128
    Ответов: 10
    Последнее: 28.02.2015, 19:09
  4. Prince of Persia
    от goodboy в разделе Игры
    Ответов: 3
    Последнее: 24.08.2008, 12:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •