Source von Night Knight

Moderator: Rockford

Antworten
Benutzeravatar
LarsImNetz
Beiträge: 160
Registriert: 24.08.2021 18:27
Has thanked: 117 times
Been thanked: 86 times
Kontaktdaten:

Source von Night Knight

Beitrag von LarsImNetz »

Die aktuelle Night Knight Version im Source

https://github.com/the-atari-team/tat.night-knight.git

Freiwillige vor!
Wer traut sich es mal zu pullen und zu bauen.

Linux oder Windows mit MinGW, vielleicht auch Mac.
* braucht Java 11, oder 17, vielleicht 21.
Dann einfach "make init" und wenn das geht, dann "make start"

bspautz
Beiträge: 5
Registriert: 20.08.2021 19:40
Been thanked: 1 time
Kontaktdaten:

Re: Source von Night Knight

Beitrag von bspautz »

Ich :D

...melde mich...

Lieben Gruß
Bernd

Benutzeravatar
Dinadan
Beiträge: 136
Registriert: 18.08.2021 17:17
Has thanked: 199 times
Been thanked: 43 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von Dinadan »

Das sieht auf meinem iMac gar nicht so schlecht aus, "atari800" und "atasm" kann man mit Homebrew installieren, dann noch "ATARIXL.ROM" in ../firmware kopiert und den Pfad um compiler/bin ergänzt: "make init" läuft dann durch und mit "make" kann man versuchen zu bauen. Leider steigt das ganze dann mit einem obskuren Fehler im Assembler aus. Da ich mich mit atasm so gar nicht auskenne, bin ich etwas ratlos:

Code: Alles auswählen

HHROTOSC0101:tat.night-knight dj$ make
wnfc night-knight.wnf '-O' 3 '-smallHeapPtr' -showvariableusage -I library -I library/tests-utils
WARN  Parameter for small Heap Pointer is given, we use only byte wide size heap!
WARN  Make sure your Heap_Ptr starts at equal word address! See RUNTIME.INC
INFO  Parameter for variable usage is given, see how often each variable is used.
ERROR Given path library/tests-utils does not exist.
INFO  Read file: 'night-knight.wnf'
INFO  Check for header file: 'header.wnf'
INFO  Found a 'header.wnf' file, read it first.
INFO  compile
INFO  set variable GAME_MODE from header.
INFO  set variable SHOW_SCREEN from header.
INFO  set variable PM_BASE_ADDR from header.
INFO  set variable NEW_LIVE_AT_SCORE from header.
INFO  set variable NEW_LIVE_AT_SCORE_IN_SIMPLE from header.
INFO  set variable NEW_LIVE_AT_SCORE_IN_GODMOD from header.
INFO  set variable PLAYFIELD_SCREEN from header.
INFO  set variable MESSAGE_SCREEN from header.
INFO  set variable INTRO_SCREEN from header.
INFO  set variable OUTRO_SCREEN from header.
INFO  set variable SPEED_50 from header.
INFO  set variable SPEED_66 from header.
INFO  set variable SPEED_75 from header.
INFO  set variable SPEED_80 from header.
INFO  set variable SPEED_85 from header.
INFO  set variable SPEED_90 from header.
INFO  set variable SPEED_95 from header.
INFO  set variable SPEED_98 from header.
INFO  set variable MODE_INTRO from header.
INFO  set variable MODE_PLAY from header.
INFO  set variable MODE_GAME_OVER from header.
INFO  set variable MODE_ABBRUCH from header.
INFO  set variable MODE_LOST_LIVE from header.
INFO  set variable MODE_LEVEL_DONE from header.
INFO  set variable MODE_OUT_OF_TIME from header.
INFO  set variable MODE_NO_MORE_LIVES from header.
INFO  set variable DIRECTION_STAY_LOOK_RIGHT from header.
INFO  set variable DIRECTION_STAY_LOOK_LEFT from header.
INFO  set variable DIRECTION_WALK from header.
INFO  set variable DIRECTION_WALK_RIGHT from header.
INFO  set variable DIRECTION_WALK_LEFT from header.
INFO  set variable DIRECTION_JUMP from header.
INFO  set variable DIRECTION_JUMP_RIGHT from header.
INFO  set variable DIRECTION_JUMP_LEFT from header.
INFO  set variable DIRECTION_DEAD from header.
INFO  set variable DIRECTION_DEAD_RIGHT from header.
INFO  set variable DIRECTION_DEAD_LEFT from header.
INFO  set variable DIRECTION_BLOW_AWAY from header.
INFO  set variable MAX_SPRITES from header.
INFO  set variable MAX_ENEMIES from header.
INFO  set variable WALL_1 from header.
INFO  set variable WALL_2 from header.
INFO  set variable BACKGROUND_DASH_1 from header.
INFO  set variable BACKGROUND_DASH_2 from header.
INFO  set variable BACKGROUND_DASH_3 from header.
INFO  set variable BACKGROUND_DASH_4 from header.
INFO  set variable FLOOR_YELLOW_1 from header.
INFO  set variable FLOOR_YELLOW_2 from header.
INFO  set variable FLOOR_1 from header.
INFO  set variable FLOOR_2 from header.
INFO  set variable DOOR_CLOSED_1 from header.
INFO  set variable DOOR_CLOSED_2 from header.
INFO  set variable DOOR_CLOSED_3 from header.
INFO  set variable DOOR_CLOSED_4 from header.
INFO  set variable DOOR_CLOSED_5 from header.
INFO  set variable DOOR_CLOSED_6 from header.
INFO  set variable DOOR_OPENED_1 from header.
INFO  set variable DOOR_OPENED_2 from header.
INFO  set variable DOOR_OPENED_3 from header.
INFO  set variable DOOR_OPENED_4 from header.
INFO  set variable DOOR_OPENED_5 from header.
INFO  set variable DOOR_OPENED_6 from header.
INFO  set variable KEY_1 from header.
INFO  set variable KEY_2 from header.
INFO  set variable BODEN_MESSER_1 from header.
INFO  set variable BODEN_MESSER_2 from header.
INFO  set variable BODEN_MESSER_1HI from header.
INFO  set variable BODEN_MESSER_2HI from header.
INFO  set variable ELEVATOR_1 from header.
INFO  set variable ELEVATOR_2 from header.
INFO  set variable ELEVATOR_3 from header.
INFO  set variable ELEVATOR_4 from header.
INFO  set variable ELEVATOR_5 from header.
INFO  set variable ELEVATOR_6 from header.
INFO  set variable SANDCLOCK_1 from header.
INFO  set variable SANDCLOCK_2 from header.
INFO  set variable SANDCLOCK_3 from header.
INFO  set variable SANDCLOCK_4 from header.
INFO  set variable STOPWATCH_1 from header.
INFO  set variable STOPWATCH_2 from header.
INFO  set variable STOPWATCH_3 from header.
INFO  set variable STOPWATCH_4 from header.
INFO  set variable SHIELD_1 from header.
INFO  set variable SHIELD_2 from header.
INFO  set variable SHIELD_3 from header.
INFO  set variable SHIELD_4 from header.
INFO  set variable GEMS_1 from header.
INFO  set variable GEMS_2 from header.
INFO  set variable GEMS_3 from header.
INFO  set variable GEMS_4 from header.
INFO  set variable GAME_SCREEN from header.
INFO  set variable SCORE_TEXT from header.
INFO  set variable XOFFSET from header.
INFO  set variable THE_DUDE from header.
INFO  set variable KEY from header.
INFO  set variable DOOR from header.
INFO  set variable SANDCLOCK from header.
INFO  set variable SHIELD from header.
INFO  set variable GEMS from header.
INFO  set variable STOPWATCH from header.
INFO  set variable E_SKELETON from header.
INFO  set variable E_ARCHER from header.
INFO  set variable E_DARK_KNIGHT from header.
INFO  set variable E_GHOST from header.
INFO  set variable E_VAMPIRE from header.
INFO  set variable E_WIZARD from header.
INFO  set variable E_WERWOLF from header.
INFO  set variable E_CAT from header.
INFO  set variable IDX_SKELETON from header.
INFO  set variable IDX_ARCHER from header.
INFO  set variable IDX_DARK_KNIGHT from header.
INFO  set variable IDX_GHOST from header.
INFO  set variable IDX_VAMPIRE from header.
INFO  set variable IDX_WIZARD from header.
INFO  set variable IDX_WERWOLF from header.
INFO  set variable IDX_CAT from header.
INFO  set variable IDX_ARROW from header.
INFO  set variable IDX_BAT from header.
INFO  set variable IDX_BLOW from header.
INFO  set variable ANIM_JUMP_UP from header.
INFO  set variable ANIM_JUMP_DOWN from header.
INFO  set variable ANIM_END from header.
INFO  set variable COLOR_SKELETON from header.
INFO  set variable COLOR_ARCHER from header.
INFO  set variable COLOR_DARK_KNIGHT from header.
INFO  set variable COLOR_GHOST from header.
INFO  set variable COLOR_VAMPIRE from header.
INFO  set variable COLOR_WIZARD from header.
INFO  set variable COLOR_WERWOLF from header.
INFO  set variable COLOR_CAT from header.
INFO  set variable COLOR_ARROW from header.
INFO  set variable COLOR_BAT from header.
INFO  set variable COLOR_BLOW from header.
INFO  set variable @NTSC_COLOR_ADD from header.
INFO  set variable DUDE_COLOR_P1 from header.
INFO  set variable DUDE_COLOR_P2 from header.
INFO  set variable COLOR_DUDE_P1_PAL from header.
INFO  set variable COLOR_DUDE_P2_PAL from header.
INFO  set variable COLOR_DUDE_P1_NTSC from header.
INFO  set variable COLOR_DUDE_P2_NTSC from header.
INFO  set variable COLOR_YELLOW_PAL from header.
INFO  set variable COLOR_YELLOW_NTSC from header.
INFO  set variable COLOR_WHITE from header.
INFO  set variable COLOR_PW_DELETE from header.
INFO  set variable COLOR_PW_OK from header.
INFO  set variable COLOR_PW_ARROW from header.
INFO  set variable COLOR_CASTLE_WHITE from header.
INFO  set variable COLOR_CASTLE_GRAY from header.
INFO  set variable COLOR_CASTLE_DARK_BLUE from header.
INFO  set variable COLOR_CASTLE_YELLOW from header.
INFO  set variable KEY_OPTION from header.
INFO  set variable KEY_SELECT from header.
INFO  set variable KEY_START from header.
INFO  set variable KEY_ESCAPE from header.
INFO  set variable KEY_SPACE from header.
INFO  set variable KEY_LEFT from header.
INFO  set variable KEY_RIGHT from header.
INFO  set variable KEY_P from header.
INFO  set variable SCORE_ENTER_FLOOR from header.
INFO  set variable SCORE_REST_SECONDS from header.
INFO  set variable SCORE_GEMS from header.
INFO  set variable SCORE_STAGE_CLEARED from header.
INFO  set variable COLOR_NIGHT_LETTER_1 from header.
INFO  set variable COLOR_NIGHT_LETTER_2 from header.
INFO  set variable COLOR_NIGHT_LETTER_3 from header.
INFO  set variable PACMAN_CANAL from header.
INFO  set variable GHOST_CANAL from header.
INFO  set variable AUGEN_CANAL from header.
INFO  set variable TIC_TOC_CANAL from header.
INFO  set variable X_POS_HEART from header.
INFO  set variable X_POS_SCORE from header.
INFO  set variable AUDCTL_9BIT_POLY from header.
INFO  set variable AUDCTL_12_1_79M from header.
INFO  set variable AUDCTL_34_1_79M from header.
INFO  set variable AUDCTL_12_16BIT from header.
INFO  set variable AUDCTL_34_16BIT from header.
INFO  set variable AUDCTL_15K from header.
INFO  set variable AUDCTL_64K from header.
INFO  set variable AUDCTL_0 from header.
INFO  Variable usage count:
INFO  show only variables with read usage of at least 9 times.
INFO  show only variables with write usage of at least 4 times.
INFO  Variable: 'GAME_MODE' has 6 writes
INFO  Variable: 'SECONDS' has 12 reads
INFO  Variable: 'LEVEL' has 10 reads
INFO  Peephole Optimizer has 252 optimizations applied.
INFO  Register Optimizer has 20 optimizations applied.
INFO  Long Jump Optimizer has 42 optimizations applied.
INFO  write to /Users/dj/IdeaProjects/tat.night-knight/NIGHT.ASM

atasm -ha -s NIGHT.ASM -gNIGHT.lst -lNIGHT.lab >NIGHT.log
ATasm 1.09 (A mostly Mac65 compatible 6502 cross-assembler)
Pass 1:
In NIGHT.ASM, line 1174--
 Error: Symbol '=1=WEND17' already defined!
make: *** [NIGHT.65o] Error 1

Benutzeravatar
Dinadan
Beiträge: 136
Registriert: 18.08.2021 17:17
Has thanked: 199 times
Been thanked: 43 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von Dinadan »

Ich habe auf Github eine neuere Version von atasm von Peter Hinz gefunden und damit baut Knight Night!
Das atr bootet auch auf meinem Emulator und läuft prima.

Benutzeravatar
LarsImNetz
Beiträge: 160
Registriert: 24.08.2021 18:27
Has thanked: 117 times
Been thanked: 86 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von LarsImNetz »

Danke für den Hinweis, mach mal bitte ein `git pull`. Ich habe das Makefile entsprechend angepasst und die tests-utils entfernt. Die werden nicht gebraucht.

LG
Lars

Benutzeravatar
Dinadan
Beiträge: 136
Registriert: 18.08.2021 17:17
Has thanked: 199 times
Been thanked: 43 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von Dinadan »

Ja, der ERROR wegen der fehlenden test-utils ist jetzt auch weg :D

Benutzeravatar
LarsImNetz
Beiträge: 160
Registriert: 24.08.2021 18:27
Has thanked: 117 times
Been thanked: 86 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von LarsImNetz »

Noch ein Punkt: mindestens ATasm 1.23 wird gebraucht.

Benutzeravatar
Dinadan
Beiträge: 136
Registriert: 18.08.2021 17:17
Has thanked: 199 times
Been thanked: 43 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von Dinadan »

1.23 ist die Version von Peter Hinz die ich auf Github gefunden habe: https://github.com/CycoPH/atasm
Das Paket in Homebrew ist leider veraltet.

Benutzeravatar
LarsImNetz
Beiträge: 160
Registriert: 24.08.2021 18:27
Has thanked: 117 times
Been thanked: 86 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von LarsImNetz »

Homebrew, ist das wirklich auf Github? https://github.com/Homebrew dann könntest Du bestimmt einen Issue schreiben, das die atasm Version veraltet ist. Ich habe keinen Mac, nutze nur Linux und ab und zu noch Windows (10), ab 2025 dann wohl nur noch Linux.

Benutzeravatar
cas
Beiträge: 846
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 189 times
Been thanked: 390 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von cas »

Die offizielle Version von ATASM ist 1.09

https://atari.miribilist.com/atasm/

Homebrew ist daher nicht veraltet.

Die Version von Peter Hinz ist ein "Fork" von ATASM 1.08

Wahrscheinlich ist es kein "offizieller" Fork.

Es wäre mit Peter Hinz zu klären ob er mit Mark Schmelzenbach die Arbeit an ATASM abgesprochen hat. Wenn nicht, wäre es besser wenn Peter seine Weiterentwicklung umbenennt, denn beide ATASM-Versionen entwicklen sich nun unabhängig und sind nicht mehr kompatibel.

Benutzeravatar
cas
Beiträge: 846
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 189 times
Been thanked: 390 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von cas »

LarsImNetz hat geschrieben:
29.04.2024 12:03
Homebrew, ist das wirklich auf Github? https://github.com/Homebrew dann könntest Du bestimmt einen Issue schreiben, das die atasm Version veraltet ist. Ich habe keinen Mac, nutze nur Linux und ab und zu noch Windows (10), ab 2025 dann wohl nur noch Linux.
Im Hinblick auf den "xz" Sicherheitsvorfall Anfang April sollten Paketmanager wie Homebrew nicht ohne Rückversicherung des original Autors der Software auf ein neues Repo wechseln. Auch wenn es hier unwahrscheinlich ist, könnte doch das ATASM von Peter Hinz von Autor (Mark Schmelzenbach) unautorisierte Inhalte besitzen.

Benutzeravatar
Dinadan
Beiträge: 136
Registriert: 18.08.2021 17:17
Has thanked: 199 times
Been thanked: 43 times
Kontaktdaten:

Re: Source von Night Knight

Beitrag von Dinadan »

"unautorisiert" sicher nicht, Atasm 1.09 ist unter GPL 2 veröffentlicht und die Version von Peter Hinz auch. Trotzdem wäre es natürlich schön die beiden Repos wieder zusammenzuführen, so groß ist die Szene ja nicht.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast