Fontos klub információ
Important club information
Welcome, Guest. Please login or register.


Author Topic: Q&A (Read 23769 times)

Offline geco

  • Moderator
  • EP addict
  • *
  • Posts: 5517
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Q&A
« on: 2015.November.16. 20:40:05 »
Here you can ask help, and info about programming on Enterprise. :)

Enterprise DevCompo #1
« Last Edit: 2015.November.26. 08:58:19 by geco »

Offline ssr86

  • EP user
  • *
  • Posts: 359
  • Country: pl
  • OS:
  • Windows NT 6.2 Windows NT 6.2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #1 on: 2015.November.22. 11:32:05 »
I have some music composed with ArkosTracker for the ay. How can I use it in an Enterprise production? What are the limitations? Should I use a specific tracker for composing to be able to use it?

Offline geco

  • Moderator
  • EP addict
  • *
  • Posts: 5517
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: Q&A
« Reply #2 on: 2015.November.22. 12:54:29 »
I have some music composed with ArkosTracker for the ay. How can I use it in an Enterprise production? What are the limitations? Should I use a specific tracker for composing to be able to use it?
There is one simpler way, use the CPC Arkos Tracker player code, and insert IstvánV's AY emulation routine, the other convert the data to be playable on EP.
The limitations of the 1st solution:
if there are noise and tone in the same channel it can not be emulated on EP, so you have the choice what would you like to hear, noise or tone, or noise at tone frequency
if the music uses high frequency envelopes then the envelope emulation should be done in 1KHz interrupt, which takes some additional CPU, and if the frequency of envelope is higher then it will be cut , normally the CPU speed does not take too much, I used it in Star Sabre, and it is not slower than on CPC.
If you have the song (binary with player), I can convert one to you, and I can check if it can be automated.

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #3 on: 2015.November.24. 12:07:08 »
How to define character set? I found memory map, character set is placed at $b480.

I use set character ... but i don't see values in debugger.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13623
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #4 on: 2015.November.24. 12:38:42 »
I found memory map, character set is placed at $b480.
It is true when System Segment (FFh) paged to Z80 Page 2, and using EXOS version 2.1+
(At EP64 with EXOS 2.0 at B680h-...)

Character set structure: the 0-31 characters are for the ASCII codes 128-159.
Then in character memory stored in this order 128-159,32-127.
Each character 8x9 pixels. Firstly stored first line of each characters then the second line of each.

For example look for the SPACE: ASCII 32, then add 20h for the base address for the first byte, then add 80h for the next bytes:
B480h+20h=B4A0h the first byte
B4A0h+80h=B520h the second
etc

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #5 on: 2015.November.24. 14:48:04 »
ok, thank you.
please explain adressing textmode:

if i understand description:
http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/hardware/Nick.html

40 byte for text, 16 bytes for Line Parameter Table
40 bytes for text...

is it right?

Online Zozosoft

  • EP addict
  • *
  • Posts: 13623
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #6 on: 2015.November.24. 15:18:18 »
40 byte for text, 16 bytes for Line Parameter Table
40 bytes for text...
No.

LPT table continuous, each LPB are 16 bytes.
Text area usually continuous, and it is another memory area.

Each LPB have a own address pointer for the data memory.
These can be placed usually continuously in the memory, but also can be placed anywhere.

And the 40 bytes also not fixed. With the margins in the LPB you can choose the screen width.

And also possible to use different character sets in LPBs. For example one used for graphics elements in the game area, and another used for score board.

One important note: addresses in the LPT are video addresses, when accessing anything need to calculate the current Z80 address depending the used paging configuration.

Offline lgb

  • EP addict
  • *
  • Posts: 3531
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • http://lgb.hu/
Re: Q&A
« Reply #7 on: 2015.November.24. 16:10:12 »
Guys, I am not sure how useful it is, but I've just made a "quick" summary writing about the EP system (I think it can be useful for newcomers to the realm of Enterprise stuffs):

http://ep.lgb.hu/epdesc.txt

It does not have deep details (eg the exact bits byte meanings in LPB etc), just to try to help for getting the "big picture" about the Enterprise. It's unfinished (audio should be the next) and since I typed right now, it's surely overcrowded by typing mistakes (also, since my not-so-perfect English ...).

I guess Zozo should judge that it's correct at least from the view point of technical information on Enterprise :) Of course there are much better and more detailed information on Enterprise available, however I am not sure there is a "summary" style writing like mine, that can help to describe the whole stuff. Still, of course, reading of the detailed documentations _IS_ needed then!

If it's not so much usable, than just forget it :)

Online Zozosoft

  • EP addict
  • *
  • Posts: 13623
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Q&A
« Reply #8 on: 2015.November.24. 16:38:50 »
Guys, I am not sure how useful it is, but I've just made a "quick" summary writing about the EP system
Great!

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 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
    • Honlapom
Re: Q&A
« Reply #9 on: 2015.November.24. 16:40:17 »
cool
tip: put this, and other links in the first post
we can collect some useful links in the first post
Vigyázat! Szektás vagyok! :)

Offline lgb

  • EP addict
  • *
  • Posts: 3531
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
    • http://lgb.hu/
Re: Q&A
« Reply #10 on: 2015.November.24. 17:19:05 »
I guess, it would be better to put it into the wiki, it's easy to place links then, and edit/modify/fix the content as well. Now I tried to extend the text a bit, however I am the lamest with the audio I am afraid ... I would not make it much more longer, as it should be a summary stuff, detailed description on given hw/sw elements should be read about then somewhere else :)

Offline pear

  • EP lover
  • *
  • Posts: 794
  • Country: pl
  • Z80 only
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 42.0 Firefox 42.0
    • View Profile
Re: Q&A
« Reply #11 on: 2015.November.24. 17:25:36 »
To edit the Wiki need to have some additional rights, whether I need to register separately ?

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #12 on: 2015.November.24. 18:05:09 »
better is examples in wiki articles. LPT is tough cookie like DL for Atari..

Offline ssr86

  • EP user
  • *
  • Posts: 359
  • Country: pl
  • OS:
  • Windows NT 6.2 Windows NT 6.2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #13 on: 2015.November.24. 18:15:25 »
Here's a "quick" working example for charmode...
It shows the atari 8bit font (8x8) in char128+2color mode (notice that pixels are wide as in LPIXEL 2color mode).
There are more files but what should interest you is the lpt.asm file where the lpt is produced. One modeline per character line (here each represents 8 screen lines). Fonts.asm has the font data (stored like in the atari_font.png - simple conversion). The loade.asm has some code that assigns the segment numbers for exos compatibility - I need to modify the gfx addressses in the lpt to match the assigned segments... (there is also some unused code for loading data from file...)

First I store the fontdata and charmap addresses with base 0 in the lpt but when I know the assigned segment number then I add that segment base to each address in the lpt ($FC = base $0000, $FD = base $4000 etc.). In each char modeline the fondata address stays the same but the charmap needs to be updated for each modeline (adding the number of chars per display line - here 40, because I use a standard 320 pixels wide screen setup, but If you change the margins then you can have more (or less)).

Sorry if the code isn't very clear... However I hoope that it at least shows what you wanted...
« Last Edit: 2015.November.24. 18:48:23 by ssr86 »

Offline ssr86

  • EP user
  • *
  • Posts: 359
  • Country: pl
  • OS:
  • Windows NT 6.2 Windows NT 6.2
  • Browser:
  • Chrome 46.0.2490.86 Chrome 46.0.2490.86
    • View Profile
Re: Q&A
« Reply #14 on: 2015.November.24. 18:40:05 »
cool
tip: put this, and other links in the first post
we can collect some useful links in the first post
Yeah, and as it's an "all in one" topic, then a "table of contents" with links to the posts where a new question popped up could make it easier to browse and search through.
« Last Edit: 2015.November.24. 19:12:01 by ssr86 »