projects
/
dcpu16
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cleanup warnings in gcc, fixed some hw module cleanup routines
[dcpu16]
/
hw_lem1802.c
diff --git
a/hw_lem1802.c
b/hw_lem1802.c
index e7e618393fc4e313607a24b7f9022a012656b1ae..31a69b8be3e8f6ffc5fccf0c5b8ce3ba6f1d9bc6 100644
(file)
--- a/
hw_lem1802.c
+++ b/
hw_lem1802.c
@@
-24,6
+24,14
@@
#define TRACE(...) do {} while (0)
#endif /* DEBUG */
#define TRACE(...) do {} while (0)
#endif /* DEBUG */
+#ifdef WANT_VARIADIC_VOIDP_CAST
+#define VOIDP(__x__) ((void *)(__x__))
+#define VOIDFP(__x__) ((void *)(size_t)(__x__))
+#else
+#define VOIDP(__x__) (__x__)
+#define VOIDFP(__x__) (__x__)
+#endif
+
static dcpu16_hw_signal_t lem1802_reset_;
static dcpu16_hw_signal_t lem1802_cycle_;
static dcpu16_hw_signal_t lem1802_hwi_;
static dcpu16_hw_signal_t lem1802_reset_;
static dcpu16_hw_signal_t lem1802_cycle_;
static dcpu16_hw_signal_t lem1802_hwi_;
@@
-252,8
+260,8
@@
void lem1802_pixbuf_refresh_full_(struct lem1802_ *display, DCPU16_WORD *mem) {
mem,
display->video_base,
display->video_base + tile,
mem,
display->video_base,
display->video_base + tile,
- display->palette_base ? mem + display->palette_base : palette_default_,
- display->font_base ? mem + display->font_base : (
unsigned short
*)chargen_4x8_glyphs,
+ display->palette_base ? mem + display->palette_base :
(DCPU16_WORD *)
palette_default_,
+ display->font_base ? mem + display->font_base : (
DCPU16_WORD
*)chargen_4x8_glyphs,
display->blink_state);
}
}
display->blink_state);
}
}
@@
-339,8
+347,8
@@
rfbScreenInfoPtr lem1802_rfb_new(int argc, char *argv[]) {
s->httpDir = "../classes";
#endif
s->httpDir = "../classes";
#endif
- TRACE("%s>> s:%p", __func__,
s
);
- TRACE("%s>> s->kbdAddEvent:%p s->frameBuffer:%p", __func__,
s->kbdAddEvent
, s->frameBuffer);
+ TRACE("%s>> s:%p", __func__,
VOIDP(s)
);
+ TRACE("%s>> s->kbdAddEvent:%p s->frameBuffer:%p", __func__,
VOIDFP(s->kbdAddEvent)
, s->frameBuffer);
return s;
}
return s;
}
@@
-352,7
+360,7
@@
void lem1802_vnc_associate(struct dcpu16_hw *hw, rfbScreenInfoPtr s) {
s->desktopName = "NYA ELEKTRISKA LEM1802";
s->frameBuffer = (char *)display->pixbuf;
s->desktopName = "NYA ELEKTRISKA LEM1802";
s->frameBuffer = (char *)display->pixbuf;
- TRACE("%s>> s:%p\n", __func__,
s
);
+ TRACE("%s>> s:%p\n", __func__,
VOIDP(s)
);
}
/* notify rfb server that pixels may have changed */
}
/* notify rfb server that pixels may have changed */
@@
-435,7
+443,7
@@
void lem1802_cycle_(struct dcpu16 *vm, void *data) {
TRACE("%s>> copy_to_ram words:%zu src:%p dst_addr:0x%04x",
__func__,
display->cycle_state_copy_words_,
TRACE("%s>> copy_to_ram words:%zu src:%p dst_addr:0x%04x",
__func__,
display->cycle_state_copy_words_,
-
display->cycle_state_copy_src_ptr_
,
+
VOIDP(display->cycle_state_copy_src_ptr_)
,
display->cycle_state_copy_dst_addr_);
vm->ram[display->cycle_state_copy_dst_addr_] = *display->cycle_state_copy_src_ptr_;
display->cycle_state_copy_dst_addr_++;
display->cycle_state_copy_dst_addr_);
vm->ram[display->cycle_state_copy_dst_addr_] = *display->cycle_state_copy_src_ptr_;
display->cycle_state_copy_dst_addr_++;
@@
-566,7
+574,7
@@
struct dcpu16_hw *lem1802_new(struct dcpu16 *vm) {
memcpy(hw, &hw_, sizeof *hw);
memcpy(hw, &hw_, sizeof *hw);
- hw->data = calloc(1, sizeof(struct
dcpu16_hw
));
+ hw->data = calloc(1, sizeof(struct
lem1802_
));
if (hw->data == NULL) {
vm->warn_cb_("%s():%s", "calloc", strerror(errno));
free(hw);
if (hw->data == NULL) {
vm->warn_cb_("%s():%s", "calloc", strerror(errno));
free(hw);
@@
-601,7
+609,7
@@
void lem1802_del(struct dcpu16_hw **hw) {
(*hw)->data = NULL;
}
free(*hw);
(*hw)->data = NULL;
}
free(*hw);
+ *hw = NULL;
}
}
- *hw = NULL;
}
}
}
}