Coder Social home page Coder Social logo

ggnkua / arkos-tracker-2-st Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 3.0 18.52 MB

Atari ST version of the replay source for Arkos Tracker 2 (http://www.julien-nevo.com/arkostracker/)

Assembly 99.58% Batchfile 0.28% Shell 0.14%
assembly-language atari-falcon atari-st atari-ste atari-tt music-player ym2149

arkos-tracker-2-st's People

Contributors

florentflament avatar ggnkua avatar shinmai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

arkos-tracker-2-st's Issues

Linux support

Hello @ggnkua , glad to see some activity in this repo!

I tried again to convert a .aks file to a .sndh.

I am using linux and I think there are a few issues in scripts.

Also, my experiments failed, I couldn't convert the .aks successfully.

Here is a recap of commands I typed.

# copy Sarkboteur.ark from AK2 folder
cp ~/opt/Arkos\ Tracker\ 2/songs/ArkosTracker2/3Channels/digidrums/Targhan\ -\ Sarkboteur.aks .

I also added a set x in conv_aks.sh, to get some diagnostics

$ bash -x ./build_sndh.sh "Targhan - Sarkboteur.aks" "Sarkboteur" "Tarhan" 50 SID_VOICES USE_EVENTS
 set -e
+ '[' 'Targhan - Sarkboteur.aks' == '' ']'
+ '[' Sarkboteur == '' ']'
+ '[' Tarhan == '' ']'
+ '[' 50 == '' ']'
++ uname -s
+ unameOut=Linux
+ case "${unameOut}" in
+ extension=linux
+ underscore=Targhan_-_Sarkboteur.aks
+ no_extension='Targhan - Sarkboteur'
+ no_path='Targhan - Sarkboteur'
+ no_path_underscore=Targhan_-_Sarkboteur
+ ./conv_aks.sh 'Targhan - Sarkboteur.aks' Targhan_-_Sarkboteur
+ '[' 'Targhan - Sarkboteur.aks' == '' ']'
+ '[' Targhan_-_Sarkboteur == '' ']'
+ set -e
++ uname -s
+ unameOut=Linux
+ case "${unameOut}" in
+ extension=linux
+ SED=sed
+ bin/SongToAky_linux -spbig -adr 0 -spadr ';' --sourceProfile 68000 -sppostlbl : -reladr -spomt 'Targhan - Sarkboteur.aks' Targhan_-_Sarkboteur.aky.s
Export to AKY successful.
+ bin/SongToEvents_linux -spbig -adr 0 -spadr ';' --sourceProfile 68000 -sppostlbl : -spomt 'Targhan - Sarkboteur.aks' Targhan_-_Sarkboteur.events.words.s
Export of events successful.+ sed -i -e 's/\( *dc.b \)\([[:digit:]]\+\), \([[:digit:]]\+\)/\1\3,\2/gI' Targhan_-_Sarkboteur.aky.s
+ sed -i -e 's/dc\.b/dc.w/gI' -e 's/dc\.w Events_/dc.l Events_/gI' Targhan_-_Sarkboteur.events.words.s
+ echo

+ echo tune:
+ echo .include '"Targhan_-_Sarkboteur.aky.s"'
+ echo .long
+ echo tune_end:
+ echo .if USE_EVENTS
+ echo tune_events:
+ echo .include '"Targhan_-_Sarkboteur.events.words.s"'
+ echo .even
+ echo tune_events_end:
+ echo .endif
+ echo dc.b ''\''SNDH'\'''
+ echo dc.b ''\''TITL'\'','\''Sarkboteur'\'',0'
+ echo dc.b ''\''COMM'\'','\''Tarhan'\'',0'
+ echo dc.b ''\''RIPP'\'','\''Nobody'\'',0'
+ echo dc.b ''\''CONV'\'','\''Arkos2-2-SNDH'\'',0'
+ echo dc.b ''\''TC50'\'',0'
+ SID_VOICES=0
+ USE_EVENTS=0
+ SID_EVENTS=0
+ filename='Targhan - Sarkboteur.aks'
+ shift
+ shift
+ shift
+ shift
+ [[ 2 -gt 0 ]]
+ '[' SID_VOICES == SID_VOICES ']'
+ SID_VOICES=1
+ SID_EXT=_SID
+ shift
+ [[ 1 -gt 0 ]]
+ '[' USE_EVENTS == SID_VOICES ']'
+ '[' USE_EVENTS == USE_EVENTS ']'
+ USE_EVENTS=1
+ EVENTS_EXT=_EVENTS
+ shift
+ [[ 0 -gt 0 ]]
+ bin/rmac_linux -fr -D_RMAC_=1 -D_VASM_=0 -DSID_VOICES=1 -DUSE_EVENTS=1 -DUSE_SID_EVENTS=0 no_path_underscore_SID_EVENTS.s -o 'Targhan - Sarkboteur.sndh'
Cannot open: no_path_underscore_SID_EVENTS.s

It seems there is a missing dollar sign somewhere:

diff --git a/build_sndh.sh b/build_sndh.sh
index 71a6f1b..12c642c 100755
--- a/build_sndh.sh
+++ b/build_sndh.sh
@@ -77,4 +77,4 @@ while [[ $# -gt 0 ]]; do
        shift
 done

-bin/rmac_$extension -fr -D_RMAC_=1 -D_VASM_=0 -DSID_VOICES=$SID_VOICES -DUSE_EVENTS=$USE_EVENTS -DUSE_SID_EVENTS=$SID_EVENTS no_path_underscore$SID_EXT$EVENTS_EXT$SIDEVENTS_EXT.s -o "$no_path.sndh"
+bin/rmac_$extension -fr -D_RMAC_=1 -D_VASM_=0 -DSID_VOICES=$SID_VOICES -DUSE_EVENTS=$USE_EVENTS -DUSE_SID_EVENTS=$SID_EVENTS $no_path_underscore$SID_EXT$EVENTS_EXT$SIDEVENTS_EXT.s -o "$no_path.sndh"

let's retry:

...
bin/rmac_linux -fr -D_RMAC_=1 -D_VASM_=0 -DSID_VOICES=1 -DUSE_EVENTS=1 -DUSE_SID_EVENTS=0 Targhan_-_Sarkboteur_SID_EVENTS.s -o 'Targhan - Sarkboteur.sndh'
Cannot open: Targhan_-_Sarkboteur_SID_EVENTS.s

I cannot find such file:

ls Targhan*.s
Targhan_-_Sarkboteur.aky.s
Targhan_-_Sarkboteur.events.words.s

There also seem to be case issues regarding the filenames.

when I try to rename one of these .s files 'Targhan_-_Sarkboteur_SID_EVENTS.s' and relaunching, I get:

Targhan_-_Sarkboteur_SID_EVENTS.s 4235: Error: cannot output absolute binary without a starting address (.org or command line)

Here is an excerpt of the file:

4210:Subsong0DisarkByteRegionStart1091:
4211:   dc.b 20 ; Duration.
4212:Subsong0DisarkByteRegionEnd1091:
4213:Subsong0DisarkPointerRegionStart1092:
4214:   dc.w Subsong0_RegisterBlock_600 - Subsong0
4215:Subsong0DisarkPointerRegionEnd1092:
4216:
4217:Subsong0DisarkByteRegionStart1093:
4218:   dc.b 10 ; Duration.
4219:Subsong0DisarkByteRegionEnd1093:
4220:Subsong0DisarkPointerRegionStart1094:
4221:   dc.w Subsong0_RegisterBlock_603 - Subsong0
4222:Subsong0DisarkPointerRegionEnd1094:
4223:
4224:Subsong0DisarkByteRegionStart1095:
4225:   dc.b 10 ; Duration.
4226:Subsong0DisarkByteRegionEnd1095:
4227:Subsong0DisarkPointerRegionStart1096:
4228:   dc.w Subsong0_RegisterBlock_572 - Subsong0
4229:Subsong0DisarkPointerRegionEnd1096:
4230:
4231:Subsong0DisarkByteRegionStart1097:
4232:   dc.b 120        ; Duration.
4233:Subsong0DisarkByteRegionEnd1097:
4234:Subsong0DisarkPointerRegionStart1098:
4235:   dc.w Subsong0_RegisterBlock_603 - Subsong0
4236:Subsong0DisarkPointerRegionEnd1098:
4237:
4238:
4239:; The RegisterBlocks.
4240:Subsong0DisarkByteRegionStart1099:
4241:Subsong0_RegisterBlock_527:
4242:   dc.b 131        ; Initial State : software and hardware.
4243:   dc.b 220,5      ; Software period.
4244:   dc.b 47,0       ; Hardware period.

I can do more tests or pull requests if you want.

Thank you
Eric

Possible 12-bit period of 4095 causes table overflow bug in timer prescaler logic.

A good friend of mine may have found a bug on line

DC.W $0FFF,$00C8,$0007 ;

timer_tab	dw	$0068,$0004,$0001 ;  104 :   4
	dw	$0105,$000a,$0002 ;  261 :  10
	dw	$01a2,$0010,$0003 ;  418 :  16
	dw	$051a,$0032,$0004 ; 1306 :  50
	dw	$0688,$0040,$0005 ; 1672 :  64
	dw	$0a35,$0064,$0006 ; 2613 : 100
	dw	$0eef,$00c8,$0007 ; 3823 : 200
	dw	$0fff,$00c8,$0007 ; 4095 : 200

; A 12-bit period of 4095 causes table overflow bug in timer prescaler logic.

; Previous entry shoud be; dw	$1000,$00c8,$0007 ; 4096 : 200

samples/digi support

Hi

Is it possible to play some samples or digi with this player?

Thank you
Eric

Music on hardware in real-time via serial interface support / Motorola 6800 Client version

Hello

AT2 permit to play Music on hardware in real-time via serial interface and a Z80 client launched on the Amstrad
Do you think on day to write a Motorola 68000 version of this Z80 client ?
https://www.julien-nevo.com/arkostracker/index.php/music-on-hardware-in-real-time/

I think this feature is great, and listening to the music directly on the original material is wonderfull !
I am unfortunately not an experienced coder, just a beginner musician, but if I can help test it is with pleasure!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.