tonma Posted April 20 Share Posted April 20 Hi, I'm wanting to port "la secte noire", a amstrad cpc french game. With Point and click instead of text parser. As the picture for each screen take some data space, I wish to load files from atr ingame. I look for different solutions without DOS, and looks like xbios is a good way, but I can't make it work. I download the xBios.atr file at http://xxl.atari.pl/ and use atadim windows tool to load file in atr. I tried with XAUTORUN but have the same result. I have a little icon showing data is reading on floppy. I want to open a file and read data to screen address with xbios_load_data. But the data don't change. I certainly miss something. When I set $2000 as origin the emulator crash. You can see my files in atr. org $3000 screen = $4000 ; Screen buffer blank8 = $70 ; 8 blank lines (overscan) lms = $40 ; Load Memory Scan jvb = $41 ; Jump While Vertical Blank jsr xBIOS_SET_DEFAULT_DEVICE ; no need AtariOS anymore ; Load display list lda #<dlist ; Low ; # Not Useful, recup adresse sta SDLSTL ; $0230 lda #>dlist ; High sta SDLSTL+1; $0231 mva #$1E COLOR0 ; %01 Jaune mva #$b2 COLOR1 ; %10 green mva #$96 COLOR2 ; %11 blue Couleur du texte mva #$00 COLOR4 ; 00 Couleur du fond ldy <fname ldx >fname JSR xBIOS_OPEN_FILE ldy <screen ldx >screen JSR xBIOS_LOAD_DATA jmp * dlist .byte blank8, blank8, blank8 ; Overscan Top .byte $2 + lms, <screen, >screen ; debut affichage et position buffer = 8 scanlines :80 .byte $0D ; 80 * 2 scanlines .byte $42,<hello2, >hello2, 2, 2 ; 3 * 8 scanlines .byte jvb, <dlist, >dlist ; command vbl + address new dlist (Low + High) fname .byte c'village4bin'; 11 characters ATASCII (8.3 without the dot, space padded) hello2 .byte "VOIR EXAMINER PRENDRE PARLER ATTENDRE " .byte "ALLER UTILISER DONNER INV ACTIONNER " icl 'hardware.asm' icl 'xbios.asm' org screen hello .byte " LE BOURG D'ISSEGEAC 09H00" ins 'village2.bin' Source + atr https://drive.google.com/file/d/1XS1UR6NdPKC-TIrL5njJIk-gzrH7sMgQ/view?usp=sharing 3 Quote Link to comment Share on other sites More sharing options...
tonma Posted April 20 Author Share Posted April 20 Well, as always, I found my error after posting. I need to put the file Name in UPPERCASE. I'm really dumb. So with "fname .byte c'VILLAGE4BIN'" it's working. The picture is loaded on screen. But I always have an error at the Org address of the program crashing at $2000, although nothing seems to be written at this address. 1 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 20 Share Posted April 20 Not sure how the XBIOS routines work, but usually in Atari OS, strings all end with $9B I would have thought that XBIOS would use the same terminator. e.g. hello2 .byte "VOIR EXAMINER PRENDRE PARLER ATTENDRE ",$9b .byte "ALLER UTILISER DONNER INV ACTIONNER ",$9b 1 Quote Link to comment Share on other sites More sharing options...
Alfred Posted April 20 Share Posted April 20 The dlist is wrong for one, HELLO2 needs to be converted from Atascii to video, say with an .SBYTE directive. Quote Link to comment Share on other sites More sharing options...
Alfred Posted April 20 Share Posted April 20 If this is from an Amstrad why do you think these village.bin files will execute on a different machine ? I would have thought you’d have to disassemble the original game and then write all the new Atari code. Or maybe you’ve done that already ? 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 20 Share Posted April 20 46 minutes ago, Alfred said: HELLO2 needs to be converted from Atascii to video, say with an .SBYTE directive. He's using MADS, strings in double quotes are screen bytes, single quotes produce Atascii strings Quote Link to comment Share on other sites More sharing options...
tonma Posted April 20 Author Share Posted April 20 (edited) 2 hours ago, TGB1718 said: Not sure how the XBIOS routines work, but usually in Atari OS, strings all end with $9B I would have thought that XBIOS would use the same terminator. e.g. hello2 .byte "VOIR EXAMINER PRENDRE PARLER ATTENDRE ",$9b .byte "ALLER UTILISER DONNER INV ACTIONNER ",$9b When I add ",$9b", it add ";" at the end. I think the display list in antic 2 only read 40 octets in memory by line. Here i don't load data with a string function. It's just raw data. 1 hour ago, Alfred said: If this is from an Amstrad why do you think these village.bin files will execute on a different machine ? I would have thought you’d have to disassemble the original game and then write all the new Atari code. Or maybe you’ve done that already ? The bin files here is just screenshot picture i convert with my own tools to atari format. Edited April 20 by tonma Forget the picture Quote Link to comment Share on other sites More sharing options...
xxl Posted April 20 Share Posted April 20 perfect choice 🙂 Three things: - files can be recorded on the disk with lowercase letters and xBIOS will support them (in your case you need to change them to uppercase letters in the code) - xBIOS from early versions does not start the loaded program from the beginning, but like DOS through vectors - this is because in the xBIOS configuration you can redefine these vectors to other addresses, e.g. to load the program from $0200 :D. In your case, add: RUN $2000 to the code - if you want quick help with xB, write me a private message because I am in a different time zone than my personal moderator and you will have to wait for a response. 1 1 Quote Link to comment Share on other sites More sharing options...
xxl Posted April 20 Share Posted April 20 If you are considering using the OS in your game, I can also suggest a version of xBIOS that uses the OS and has a built-in ZX0 decompressor for binaries and data - your images can be saved on disk in a compressed form, but your program will see them as unpacked. (It was supposed to be a version for 8bitUnity but I see it hasn't been publicly presented for a few years) 1 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted April 21 Share Posted April 21 15 hours ago, xxl said: I am in a different time zone than my personal moderator and you will have to wait for a response. did you mean a probation officer? and by the way, best regards - I haven't seen you for a long time Quote Link to comment Share on other sites More sharing options...
xxl Posted April 21 Share Posted April 21 49 minutes ago, zbyti said: did you mean a probation officer? and by the way, best regards - I haven't seen you for a long time in the commune it is the lead officer who upholds the righteousness with the party line. Besides, If you troll less in random threads, you'll have more opportunities for meetings 2 2 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted April 22 Share Posted April 22 (edited) On 4/20/2024 at 3:42 PM, tonma said: Hi, I'm wanting to port "la secte noire", a amstrad cpc french game. With Point and click instead of text parser. That's really a good choice. Do you plan to translate the game to English? Which 2D-input device do you plan to support? If your engine runs well, "La Crypte des Maudits" seems also be interesting... A quick mock-up in which direction the visuals could go: Edited April 22 by Irgendwer 3 Quote Link to comment Share on other sites More sharing options...
tonma Posted April 22 Author Share Posted April 22 15 hours ago, Irgendwer said: That's really a good choice. Do you plan to translate the game to English? Which 2D-input device do you plan to support? If your engine runs well, "La Crypte des Maudits" seems also be interesting... I think i'll do an english version with sepratate files for dialogue. And certainly a game like "La crypte des maudits" is appealing too. I'll use the joystick, since many user play with it. I choose to use Words with inverted mode like lucasfilm games but why not an Icon version. I wish to test the game on limited ram, so I don't want to duplicate the Character set. It's faisable with an 16*8 pixels (2 chars). I have a first version with multiple zone on screen to clik. I click on Zone 2 with the cursor on the water. 3 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted April 22 Share Posted April 22 6 hours ago, tonma said: I'll use the joystick, since many user play with it. Supporting the "Atari Touch Tablet" for input is not only resource friendly but also quite easy - and an adventure with 2D input a very thankful target. (Actually a feature which I miss very much for "onEscape".) 4 Quote Link to comment Share on other sites More sharing options...
tonma Posted April 23 Author Share Posted April 23 The tablet is a good idea. Sadly I lost the one I had in 80's. I'll look to add it. 1 1 Quote Link to comment Share on other sites More sharing options...
snicklin Posted April 27 Share Posted April 27 For anyone reading this, either now, or twenty years in the future, I created an English xBios documentation page, which was a translation of the original instructions. https://atariwiki.org/wiki/Wiki.jsp?page=XBIOS Please note, I collated a lot of stuff and put it in the link above, in English, but I do not call myself an xBios expert, so please don't ask me questions on xBios as I cannot remember. I've done way too many other things in the meantime!!! 2 1 Quote Link to comment Share on other sites More sharing options...
xxl Posted Tuesday at 11:24 AM Share Posted Tuesday at 11:24 AM The rumors that horrified patoscene turned out to be true.... an xBIOS with a decompressor for 8bitUnity has leaked. On this occasion and in connection with the appointment of a new xBIOS Ambassador for systems reaching the zenith of their modesty (Atari 400 with 8KB Ram) Commissioner of the Executive Committee will conduct a training session in which byte by byte a new reality will be born. We will start with functions that open the gates to the realm of acting on files and, in particular, we will look at CEX - Compressed EXecutables, we will move on to the apotheosis of sound - xSFX Engine level3 where tone will become speech, all in one being.... Participation in the training is not free, we require the greatest sacrifice on the altar of progress: time... 1 2 2 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.