Welcome, Guest. Please login or register.


Author Topic: Q&A (Read 56390 times)

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
Re: Q&A
« Reply #105 on: 2015.December.14. 16:55:15 »
I used bmp2scr:

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #106 on: 2015.December.14. 17:07:26 »
Ok, fixed now. .MLT file structure little strange :oops:
[ Guests cannot view attachments ]

Offline geco

  • Moderator
  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: Q&A
« Reply #107 on: 2015.December.14. 18:40:33 »
Do you plan to use the speccy format screen? Because with EPIMGCONV the screen conversion would be better.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Q&A
« Reply #108 on: 2015.December.14. 18:55:35 »
It should look best in 16-color PIXEL mode, but it may need manual selection of palette colors and bias.

Offline geco

  • Moderator
  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: Q&A
« Reply #109 on: 2015.December.14. 19:04:42 »
I made 2 conversion in PIXEL mode 16 colours:

1 LPT line (LPB) definition for the whole picture (file 11 executable)
epimgconv -mode 2 -size 42 240 -dither 0 0 -nointerp 1 -palres 0 -gamma 1.1 atari000.png 11
[ Guests cannot view attachments ]

1 LPB for each line (file 12 executable)
epimgconv -mode 2 -size 42 240 -dither 0 0 -nointerp 1 -palres 1 -gamma 1.2 atari000.png 12
[ Guests cannot view attachments ]

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Q&A
« Reply #110 on: 2015.December.14. 19:51:01 »
Here are a few attempts at making the palette of the image EP compatible (it could probably be improved by changing some colors):
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

With -palres 1, these can be converted without loss to EP format (there are 20 colors on the image, so -palres 0 is always lossy):
epimgconv_sse2 -mode 2 -quality 9 -size 42 240 -palres 1 -nointerp 1 -dither 0 0 -border 248 -outfmt 11 atari001.png atari001.pic
epimgconv_sse2 -mode 2 -quality 9 -size 42 240 -palres 1 -nointerp 1 -dither 0 0 -border 248 -outfmt 11 atari002.png atari002.pic
epimgconv_sse2 -mode 2 -quality 9 -size 42 240 -palres 1 -nointerp 1 -dither 0 0 -border 56 -outfmt 11 atari003.png atari003.pic
« Last Edit: 2015.December.14. 19:58:48 by IstvanV »

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
Re: Q&A
« Reply #111 on: 2015.December.19. 11:48:06 »
I am looking at sources: Nickdemo etc..

why neccessary to make:
Code: [Select]
CALL VID ;get a free Video segment

instead of
Code: [Select]
            LD      A,RAM2         ; PUT VIDEO RAM IN PAGES 2 AND 3
            OUT     (PAGE2),A      ; (PAGE 1 NOT USED, PAGE 0 ALREADY
            INC     A              ;  HAS THIS CODE IN)
            OUT     (PAGE3),A

is it comptibility feature or not?

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #112 on: 2015.December.19. 12:30:57 »
Iis it comptibility feature or not?
Yes. The solution what you see in my examples are 100% EXOS compatible, will run on all Enterprise configuration, or exit if not enought memory available, without overwrite anything in the system memory.
Many old programs which using fixed memory addresses make a lot of compatibility problems. For example run only tape system, not with floppy (these are fixed at many years ago), at current times not run from HDD or SD card.
Another problem when the program don't run on EP64, even if it is have a memory expansion. Also exist some incompatible programs which don't run if you have more than 128k memory.
We continously fixing the old prorams, and new ones writed in 100% compatible mode.

I think will be good if the new EP programers start on the right way :-)
Just need to copy-paste from my examples :-)

It is allocate all memory from the EXOS. Calculate the video addresses from the segment number of the allocated video memory.
For the paging use variables for the segment numbers, at the paging just need to use LD A,(P2S) instead use LD A,xx

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Q&A
« Reply #113 on: 2015.December.19. 17:44:06 »
If the program requires 3 full video segments (48K), then it is somewhat easier, because the segments will always be FC-FEh. So, it is possible to use fixed video addresses. But the segments should still be allocated with EXOS 24. :)

Offline SlashNet

  • EP addict
  • *
  • Posts: 1186
  • Country: ua
  • Enterprise 128K | Cubietruck
    • My old site about Enterprise
Re: Q&A
« Reply #114 on: 2015.December.28. 13:19:35 »
Now I writing small game on basic.

But when the code has grown to a certain size, ZZZIP compiler give me error "Too many labels". I understand that the error occurs because of a number of factors (the number of variables, the amount of code and transitions).

I tried to use the program ZZZIPSRC + IDEA, but IDEA give me another error. (see shots) I tried to increase amount of memory in configuration, but nothing changed. :(
(i forgot to clear font. just ignore non standard characters)
[ Guests cannot view attachments ]

Is there a solution to this problem?:smt022

Offline ssr86

  • EP user
  • *
  • Posts: 355
  • Country: pl
Re: Q&A
« Reply #115 on: 2015.December.28. 16:47:38 »
I have a question regarding the timing difference between vmem access and "normal" memory access.

I have run ldir with bc=2048 and got the following results:

Code: [Select]
+-----+-----+-----+-----+
| HL  | DE  |wait |lines|
+-----+-----+-----+-----+
| Vm  | Vm  | on  | ~192|
| Vm  | Nm  | on  | ~156|
| Nm  | Vm  | on  | ~156|
| Nm  | Nm  | on  | ~144|
+-----+-----+-----+-----+
| Vm  | Vm  | off | ~192|
| Vm  | Nm  | off | ~192|
| Nm  | Vm  | off | ~192|
| Nm  | Nm  | off | ~160|
+-----+-----+-----+-----+

Taking that into account, would it make sense for you to store some buffers used in drawing routines inside video memory?
I'm asking for opinions because I know it depends on "memory vs speed" issues and really depends on the game...
I'm considering trying out triple buffering for a single screen game but struggle to find some place in the common segment (f8) for the clean buffer. I couls place it in the video memory alongside the other buffers which would simplify the access to it but would also slow down the routines from what I can see from the table...

When and why would you want to enable the wait states on dave port $bf?

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Q&A
« Reply #116 on: 2015.December.28. 17:06:47 »
Now I writing small game on basic.

small basic program with too many labels? :)
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Q&A
« Reply #117 on: 2015.December.28. 17:18:20 »
When and why would you want to enable the wait states on dave port $bf?

Enabling the wait states is generally only useful if you need:
- compatibility with real machines that use unusually slow DRAM; I think these are a small minority, but Zozosoft could probably tell more about how much of an issue this is in practice
- slower speed for better compatibility e.g. with the timing of ZX Spectrum conversions; writing 4 to port BFh results in comparable performance to a 3.5 MHz Z80 with no wait states

Otherwise, it is better to disable wait states by writing 0Ch to port BFh.

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #118 on: 2015.December.28. 17:33:54 »
- compatibility with real machines that use unusually slow DRAM; I think these are a small minority, but Zozosoft could probably tell more about how much of an issue this is in practice
Only very few machines got a slow DRAM or EPROM chips, which need the wait state. Because many programs use the no wait setting, then these machines failed and went to repair at about 25-30 years ago :-) Personally I replaced memory in one machine, and about 2-3 German Basic EPROM.
At the early 90's some system expansions started set the no wait as default at the startup.
Finally I decided to change the default in my memory test.

Offline SlashNet

  • EP addict
  • *
  • Posts: 1186
  • Country: ua
  • Enterprise 128K | Cubietruck
    • My old site about Enterprise
Re: Q&A
« Reply #119 on: 2015.December.28. 17:36:24 »
small basic program with too many labels? :)
No. I wrote: "small game on basic" ;)