funkheld Posted September 8, 2018 Share Posted September 8, 2018 when i start the altirra my ATARIBAS.ROM becomesnot started, which I have included. this is : ATARI COMPUTER - MEMO PAD Thank you.greeting Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 8, 2018 Share Posted September 8, 2018 The 800 OS has no internal BASIC support. Are you emulating an 800? Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted September 8, 2018 Share Posted September 8, 2018 You must attach your basic in the attach cartridge section when emulating an 800 you can only use the internal rom section on 800XL/130XE etc Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 9, 2018 Author Share Posted September 9, 2018 I integrated the BasicROM into Altirra."ATARIBAS.ROM". it is not used when starting Altirra.Have set to 800Xl.Thank you.Greeting Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 9, 2018 Share Posted September 9, 2018 For the reasons already explained. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 9, 2018 Author Share Posted September 9, 2018 hello thanks. greeting Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 9, 2018 Author Share Posted September 9, 2018 with which program can you please files on an atr push with a --batchfile ---? i play with altirra. Thank you. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted September 9, 2018 Share Posted September 9, 2018 The section "How do I compile into disk images?" might be helful. https://www.wudsn.com/index.php/ide/faq#FAQDiskImages Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 10, 2018 Author Share Posted September 10, 2018 hello, thanks. greeting. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 11, 2018 Author Share Posted September 11, 2018 With a trick you can set up 2 screens where the graphics commands work.the 2nd screen is on $ 2000 store.FEATURES { STARTADDRESS: default = $ 3000;$ 3,000 has been set.Alternating here is "560,561 $ 230, $ 231 SDLSTL, SDLSTH"the starting address $ 2000 is entered and the address ofgraphic 23.greeting dlist =560 savmsc=$58 ramadr=$2000 gr. 23 dliadr=dpeek(dlist) scradr=dpeek(dliadr+4) dpoke dliadr+4,$2000 dpoke savmsc,$2000 color 1 plot 0,0 drawto 159,95 plot 159,0 drawto 0,95 for a=0 to 255 poke $2000+a,129 next a for a=0 to 8000 next a dpoke dliadr+4,scradr dpoke savmsc,scradr plot 0,50 drawto 159,95 for a=2000 to 2255 poke 49248+a,129 next a for a=0 to 8000 next a dpoke dliadr+4,$2000 dpoke savmsc,$2000 for a=0 to 8000 next a dpoke dliadr+4,scradr dpoke savmsc,scradr repeat until Key() Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 13, 2018 Author Share Posted September 13, 2018 Hi good afternoon. what does a diskette (atr) look like for Altirra without DOS? I would like to load an XEX program on an ATR and start it automatically when inserting a diskette. Thank you. greeting Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 13, 2018 Author Share Posted September 13, 2018 (edited) pm in the mod graphic. cfg for fastbasic : ------------------------------------------------ FEATURES { STARTADDRESS: default = $3000 ------------------------------------------------ demo of the fastavr.atr with altirra. - pmtest1.xex - pmtest2.xex pm with picture (160x96) dlist =560 savmsc=$58 ramadr=$2000 max=3840 ' p/m test program ramtop = $6a : sdmctl = $22f : pcolr0 = $2c0 hposp0 = $d000 : gractl = $d01d : pmbase = $d407 data dlidat() byte = $70, $70, $70, $4d, data byte = $00,$20, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, data byte = $0d, $0d, $0d, $0d, $0d, $41, data byte = $00, $00 dpoke adr(dlidat)+103,adr(dlidat) dpoke dlist,adr(dlidat) dpoke savmsc,ramadr open #1, 4, 0, "D:MULBI.BIN" bget #1,ramadr, max close #1 ' reserve memory at top memtop = 200 p0mem = $100 * memtop + $200 oldpos = p0mem poke ramtop, memtop ' activate and configure p/m data poke p0mem, 0 : move p0mem, p0mem+1, 127 : ' clears memory poke pcolr0, $1f poke sdmctl, peek(sdmctl) ! 8 poke pmbase, memtop poke gractl, 2 ' p/m data and blank (to clear p/m) data pmdata() byte = $38,$44,$54,$44,$38 data pmclear() byte = $00,$00,$00,$00,$00 ' initial conditions xpos = 6400 : ypos = 2560 xspd = 64 : yspd = 0 repeat xpos = xpos + xspd : ypos = ypos + yspd yspd = yspd + 2 if (yspd > 0) and (ypos > 12800) yspd = -yspd xspd = rand(512) - 256 endif if xspd > 0 if xpos > 25600 then xspd = -xspd else if xpos < 6400 then xspd = -xspd endif exec movepm : ' move p/m graphics until key() ' restore ramtop and sdmctl poke gractl, 0 poke sdmctl, peek(sdmctl) & 247 poke ramtop, memtop + 4 end proc movepm x = xpos / 128 : y = p0mem + ypos / 128 pause 0 poke hposp0, x move adr(pmclear), oldpos, 5 move adr(pmdata), y, 5 oldpos = y endproc pm with graphisc 23 and Put/Drawto dlist =560 savmsc=$58 ramadr=$2100 max=3840 ' p/m test program ramtop = $6a : sdmctl = $22f : pcolr0 = $2c0 hposp0 = $d000 : gractl = $d01d : pmbase = $d407 ' reserve memory at top memtop = 200 p0mem = $100 * memtop + $200 oldpos = p0mem poke ramtop, memtop gr. 23 color 1 dladr=dpeek (dlist) move dladr,$2000,255 dpoke dlist,$2000 dpoke $2000+4,ramadr dpoke savmsc,ramadr plot 0,0 drawto 159,95 plot 159,0 drawto 0,95 for z=0 to 255 poke (ramadr+z),255 next z ' activate and configure p/m data poke p0mem, 0 : move p0mem, p0mem+1, 127 : ' clears memory poke pcolr0, $1f poke sdmctl, peek(sdmctl) ! 8 poke pmbase, memtop poke gractl, 2 ' p/m data and blank (to clear p/m) data pmdata() byte = $38,$44,$54,$44,$38 data pmclear() byte = $00,$00,$00,$00,$00 ' initial conditions xpos = 6400 : ypos = 2560 xspd = 64 : yspd = 0 repeat xpos = xpos + xspd : ypos = ypos + yspd yspd = yspd + 2 if (yspd > 0) and (ypos > 12800) yspd = -yspd xspd = rand(512) - 256 endif if xspd > 0 if xpos > 25600 then xspd = -xspd else if xpos < 6400 then xspd = -xspd endif exec movepm : ' move p/m graphics until key() ' restore ramtop and sdmctl poke gractl, 0 poke sdmctl, peek(sdmctl) & 247 poke ramtop, memtop + 4 end proc movepm x = xpos / 128 : y = p0mem + ypos / 128 pause 0 poke hposp0, x move adr(pmclear), oldpos, 5 move adr(pmdata), y, 5 oldpos = y endproc greeting fastbasic.atr Edited September 13, 2018 by funkheld Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 13, 2018 Author Share Posted September 13, 2018 (edited) .......................................................................... fastbasic.atr Edited September 13, 2018 by funkheld Quote Link to comment Share on other sites More sharing options...
phaeron Posted September 14, 2018 Share Posted September 14, 2018 The OS boot loader can't load executables, it only loads a block of data. The first boot sector gives the load address and the total number of sectors to load. Single and enhanced density disks can load up to 32K. Double density disks can only load 384 bytes, so they need a two-stage boot. Your best bet is to use DOS or a mini-DOS and have it load your program as AUTORUN.SYS. 1 Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 14, 2018 Author Share Posted September 14, 2018 Hi good afternoon. gr. 8 + 16 does not work with graphics and text with fastbasic greeting ' Graphics sample gr. 8+16 color 1 ' Sample line drawing for i=0 to 100 step 3 plot 100-i,0 dr. 0,i next i ' Plotting a function (in FP) for i=120 to 300 y% = i * 0.05 - 11 y% = y% * y% * (y% + 5) plot i, 160 - int(y%) next i print "test" repeat until Key() Quote Link to comment Share on other sites More sharing options...
baktra Posted September 14, 2018 Share Posted September 14, 2018 (edited) I would expect that the print"test" statement will kick you back to graphics 0, but that's how it should work. GRAPHICS 8+16 will switch to graphics mode 8 - finest resolution and +16 indicates no text window (four text lines at the bottom).Therefore the PRINT statement has no choice, but to switch back to GRAPHICS 0. You cannot use the print statement to print text to a graphics mode. FastBasic doesn't have a special command that would allow you to draw text to a graphics mode. Next time, please be more specific when describing what exactly happened (symptoms). Edited September 14, 2018 by baktra 1 Quote Link to comment Share on other sites More sharing options...
baktra Posted September 14, 2018 Share Posted September 14, 2018 If you don't mind a cross-platform solution, look here: http://www.horus.com/~hias/atari/ You are looking for dir2atr and Picoboot. The two tools can create an .atr image that contains a single binary load file (.xex) together with a special bootloader that loads and executes the binary load file. So you insert the disk, power-on the computer and the .xex file loads automatically. Provided that you installed the dir2atr tool, you can execute a simple batch file that will create your auto-starting disk @ECHO OFF REM Create directory with disk contents mkdir disk_contents REM Copy the xex file to the disk_contents directory copy mygame.xex disk_contents\MYGAME.COM REM Create bootable disk dir2atr.exe -b PicoBoot405 720 "MyGameDisk.atr" disk_contents pause 1 Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 14, 2018 Author Share Posted September 14, 2018 hello, thanks. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 14, 2018 Author Share Posted September 14, 2018 hello, thanks for the help. greeting. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 14, 2018 Author Share Posted September 14, 2018 Your best bet is to use DOS or a mini-DOS and have it load your program as AUTORUN.SYS. where is there a minidos please greeting. Quote Link to comment Share on other sites More sharing options...
baktra Posted September 14, 2018 Share Posted September 14, 2018 "MiniDOS" is a general term. It denotes any miniature DOS that can just load a binary load file. PicoBoot is also one of the "MiniDOSes" Try MICRODOS II 1. Prepare an ATR image with just your binary load file 2. Boot MICRODOS II from its disk image 3. Insert the image prepared in step 1 4. Enter information you are prompted for 5. MICRODOS II will write a boot loader to your disk image Then you can boot from your disk image. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 15, 2018 Author Share Posted September 15, 2018 hello, thanks. greeting. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 15, 2018 Author Share Posted September 15, 2018 (edited) Hi good afternoon. if you play with your own dl you can the memory Set to ramtop (208) is the hiaddress $ CFFF. this triumphs for all your own dl.....!!! if you play with players you can go down to ramtop(200). I do not notice any problems at the moment all graphics and players are alright. by me is: FEATURES { STARTADDRESS: default = $3000; MAIN: file = %O, define = yes, start = %S, size = $CFFF - %S; greting. dlist =560 savmsc=$58 ramadr=$2100 data dldat() byte = $70, $70, $70, $46, data byte = $00,$21, data byte = $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, data byte = $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, data byte = $06, $06, $06, $41, $00, $20 dladr=adr(dldat) move dladr,$2000,255 dpoke dlist,$2000 dpoke savmsc,ramadr for i= 0 to 5 print "es geht"; next i repeat until key() end Edited September 15, 2018 by funkheld Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted September 15, 2018 Share Posted September 15, 2018 I like the enthusiasm in your learning... One thing to note to avoid confusion for others, the term 'dli' refers to Display List Interrupt - which you are not implementing here, therefore you should refer to just 'DL', 'Display List' or 'dlist'. Quote Link to comment Share on other sites More sharing options...
funkheld Posted September 15, 2018 Author Share Posted September 15, 2018 (edited) this is "display list". (dl) greeting Edited September 15, 2018 by funkheld 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.