zemu 0.4.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/src/io.c.erb DELETED
@@ -1,52 +0,0 @@
1
- #include "io.h"
2
-
3
- <% io.each do |device| %>
4
- <%= device.setup %>
5
- <% end %>
6
-
7
- void zemu_io_nmi(Z80 * instance)
8
- {
9
- z80_nmi(instance);
10
- }
11
-
12
- void zemu_io_int_on(Z80 * instance)
13
- {
14
- z80_int(instance, TRUE);
15
- }
16
-
17
- void zemu_io_int_off(Z80 * instance)
18
- {
19
- z80_int(instance, FALSE);
20
- }
21
-
22
- zuint8 zemu_io_in(void * context, zuint16 port)
23
- {
24
- /* Z80 IO ports occupy the lower half of the address bus.
25
- * We cannot assume that the top half is valid.
26
- */
27
- port &= 0x00FF;
28
-
29
- <% io.each do |device| %>
30
- <%= device.read %>
31
- <% end %>
32
- return 0;
33
- }
34
-
35
- void zemu_io_out(void * context, zuint16 port, zuint8 value)
36
- {
37
- /* Z80 IO ports occupy the lower half of the address bus.
38
- * We cannot assume that the top half is valid.
39
- */
40
- port &= 0x00FF;
41
-
42
- <% io.each do |device| %>
43
- <%= device.write %>
44
- <% end %>
45
- }
46
-
47
- void zemu_io_clock(Z80 * instance)
48
- {
49
- <% io.each do |device| %>
50
- <%= device.clock %>
51
- <% end %>
52
- }
data/src/io.h.erb DELETED
@@ -1,25 +0,0 @@
1
- #ifndef _ZEMU_IO_H
2
- #define _ZEMU_IO_H
3
-
4
- #include "emulation/CPU/Z80.h"
5
-
6
- #ifndef ZEMU_IO_SERIAL_BUFFER_SIZE
7
- #define ZEMU_IO_SERIAL_BUFFER_SIZE 256
8
- #endif
9
-
10
- typedef struct {
11
- zuint8 buffer[ZEMU_IO_SERIAL_BUFFER_SIZE];
12
- unsigned int head;
13
- unsigned int tail;
14
- } SerialBuffer;
15
-
16
- void zemu_io_serial_master_puts(zuint8 val);
17
- zuint8 zemu_io_serial_master_gets(void);
18
- zusize zemu_io_serial_buffer_size(void);
19
-
20
- zuint8 zemu_io_in(void * context, zuint16 port);
21
- void zemu_io_out(void * context, zuint16 port, zuint8 value);
22
- void zemu_io_nmi(Z80 * instance);
23
- void zemu_io_clock(Z80 * instance);
24
-
25
- #endif
data/src/memory.c.erb DELETED
@@ -1,59 +0,0 @@
1
- #include "memory.h"
2
-
3
- <% memory.each do |mem| %>
4
- /* Initialization memory block "<%= mem.name %>" */
5
- <%= mem.readonly? ? "const " : "" %>zuint8 zemu_memory_block_<%= mem.name %>[0x<%= mem.size.to_s(16) %>] =
6
- {<% mem.contents.each_with_index do |b, i| %><%= (i % 16 == 0) ? "\n " : "" %><%= ("0x%02x, " % b) %><% end %>
7
- };
8
- <% end %>
9
-
10
- zuint8 zemu_memory_read(void * context, zuint16 address)
11
- {
12
- zuint32 address_32 = address;
13
- <% memory.each do |mem| %>
14
- if (address_32 >= 0x<%= mem.address.to_s(16) %> && address_32 < 0x<%= (mem.address + mem.size).to_s(16) %>)
15
- {
16
- return zemu_memory_block_<%= mem.name %>[address_32 - 0x<%= mem.address.to_s(16) %>];
17
- }
18
- <% end %>
19
- /* Unmapped memory has a value of 0. */
20
- return 0;
21
- }
22
-
23
- void zemu_memory_write(void * context, zuint16 address, zuint8 value)
24
- {
25
- zuint32 address_32 = address;
26
- <% memory.each do |mem| %>
27
- <% next if mem.readonly? %>
28
- if (address_32 >= 0x<%= mem.address.to_s(16) %> && address_32 < 0x<%= (mem.address + mem.size).to_s(16) %>)
29
- {
30
- zemu_memory_block_<%= mem.name %>[address_32 - 0x<%= mem.address.to_s(16) %>] = value;
31
- }
32
- <% end %>
33
- }
34
-
35
- zuint8 zemu_memory_peek(zuint16 address)
36
- {
37
- zuint32 address_32 = address;
38
- <% memory.each do |mem| %>
39
- if (address_32 >= 0x<%= mem.address.to_s(16) %> && address_32 < 0x<%= (mem.address + mem.size).to_s(16) %>)
40
- {
41
- return zemu_memory_block_<%= mem.name %>[address_32 - 0x<%= mem.address.to_s(16) %>];
42
- }
43
- <% end %>
44
- /* Unmapped memory has a value of 0. */
45
- return 0;
46
- }
47
-
48
- void zemu_memory_poke(zuint16 address, zuint8 value)
49
- {
50
- zuint32 address_32 = address;
51
- <% memory.each do |mem| %>
52
- <% next if mem.readonly? %>
53
- if (address_32 >= 0x<%= mem.address.to_s(16) %> && address_32 < 0x<%= (mem.address + mem.size).to_s(16) %>)
54
- {
55
- zemu_memory_block_<%= mem.name %>[address_32 - 0x<%= mem.address.to_s(16) %>] = value;
56
- return;
57
- }
58
- <% end %>
59
- }
data/src/memory.h.erb DELETED
@@ -1,11 +0,0 @@
1
- #include "emulation/CPU/Z80.h"
2
-
3
- #include <stdio.h>
4
-
5
- zuint8 zemu_memory_read(void * context, zuint16 address);
6
-
7
- void zemu_memory_write(void * context, zuint16 address, zuint8 value);
8
-
9
- zuint8 zemu_memory_peek(zuint16 address);
10
-
11
- void zemu_memory_poke(zuint16 address, zuint8 value);