Jump to content
funkheld

The "funkheld" Question Thread

Recommended Posts

when i start the altirra my ATARIBAS.ROM becomes
not started, which I have included.

 

this is : ATARI COMPUTER - MEMO PAD

Thank you.
greeting

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

I integrated the BasicROM into Altirra.
"ATARIBAS.ROM". it is not used when starting Altirra.
Have set to 800Xl.

Thank you.
Greeting

post-31221-0-93208300-1536476252.jpg

post-31221-0-79887400-1536476262_thumb.jpg

Share this post


Link to post
Share on other sites

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 of
graphic 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()

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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 by funkheld

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites
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()

Share this post


Link to post
Share on other sites

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 by baktra
  • Like 1

Share this post


Link to post
Share on other sites

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
  • Like 1

Share this post


Link to post
Share on other sites

 


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.

Share this post


Link to post
Share on other sites

"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.

Share this post


Link to post
Share on other sites

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 by funkheld

Share this post


Link to post
Share on other sites

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'.

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...