Welcome, Guest. Please login or register.


Author Topic: Q&A (Read 24909 times)

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 47.0.2526.73 Chrome 47.0.2526.73
    • View Profile
Re: Q&A
« Reply #105 on: 2015.December.14. 16:55:15 »
I used bmp2scr:

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13694
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • 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:
14299-0

Offline geco

  • Moderator
  • EP addict
  • *
  • Posts: 5666
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
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: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
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: 5666
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
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
14317-0

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
14319-1

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
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):
* atari001.png (6.84 kB. 336x240 - viewed 142 times.)
* atari002.png (6.84 kB. 336x240 - viewed 132 times.)
* atari003.png (6.84 kB. 336x240 - viewed 140 times.)

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
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 47.0.2526.73 Chrome 47.0.2526.73
    • View Profile
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?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13694
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • 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: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
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 user
  • *
  • Posts: 415
  • Country: ua
  • Enterprise 128K | Cubietruck
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Russian info 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)
14471-0

Is there a solution to this problem?:smt022

Offline ssr86

  • EP user
  • *
  • Posts: 359
  • Country: pl
  • OS:
  • Windows NT 6.2 Windows NT 6.2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
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: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 47.0.2526.73 Chrome 47.0.2526.73
    • View Profile
    • 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: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
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.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13694
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • 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 user
  • *
  • Posts: 415
  • Country: ua
  • Enterprise 128K | Cubietruck
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Russian info 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" ;)